Kafelki Street View są podobne do kafelków 2D, ale zawierają panoramiczne zdjęcia zrobione z poziomu ulicy. Dzięki Street View możesz poznawać zabytki z całego świata, podziwiać cuda natury, a także odwiedzać wnętrza obiektów, takich jak muzea, obiekty sportowe, restauracje czy małe firmy. Ten punkt końcowy API zapewnia dostęp do:
- Kafelki Street View w Mapach Google
- Metadane Street View
- Miniatury Street View
Możesz łączyć ze sobą kafelki ze zdjęciami zrobione z poziomu ulicy, aby stworzyć autentyczny efekt panoramiczny. Możesz też wysłać zapytanie o maksymalnie 100 identyfikatorów panoram dla zestawu lokalizacji (np. trasy) i uzyskać szczegółowe metadane dotyczące pozycji aparatu.
Aby połączyć kafelki Street View, potrzebujesz gogli. Może to być na przykład niestandardowa przeglądarka panoram Street View.
Po uzyskaniu klucza interfejsu API możesz uzyskać dostęp do zdjęć Street View, wykonując poniższe czynności.
Uzyskaj token sesji. Pamiętaj, by ustawić wartość
mapType
nastreetview
.Użyj tokena sesji, by uzyskać identyfikator panoramy (panoId) dla co najmniej jednej lokalizacji geograficznej.
Użyj identyfikatorów panoram z odpowiedzi wyszukiwania panoId, aby uzyskać:
Metadane Street View Metadane Street View możesz też uzyskać, przesyłając zestaw współrzędnych i określony obszar o określonym promieniu.
Metody Street View
Dostęp do zdjęć i metadanych Street View możesz uzyskać, wywołując jedną z 4 metod.
Metoda | Opis |
---|---|
https://tile.googleapis.com/v1/streetview/tiles |
Zwraca poszczególne kafelki Street View. Kafelki Street View możesz wybierać na 6 poziomach powiększenia: od 512 do 13 312 pikseli. |
https://tile.googleapis.com/v1/streetview/panoIds |
Umożliwia zbiorcze wyszukiwanie do 100 lokalizacji. Zwraca identyfikatory panoram dla wszystkich lokalizacji ze zdjęciami. |
https://tile.googleapis.com/v1/streetview/thumbnail |
Zwraca miniaturę JPEG sceny ze Street View. Umożliwia określenie nagłówka, wysokości, wymiarów i pola widzenia. Minimalne wymiary to 16 x 16 pikseli. Maksymalne wymiary to 250 x 600 pikseli. |
https://tile.googleapis.com/v1/streetview/metadata |
Podaje szczegółowe informacje o określonej panoramie. Szczegóły obejmują powiązany adres i linki do sąsiednich panoram. |
Wyszukiwanie panoram w Street View
Identyfikator panoram z jednej lub kilku lokalizacji geograficznych możesz sprawdzić, przesyłając ich współrzędne (lat
, lng
) do metody panoIds
. Treść żądania to obiekt JSON, który zawiera tablicę locations
i opcjonalnie radius
, jak pokazano w poniższym przykładzie kodu JSON.
curl -X POST -d '{ "locations": [ {"lat": -33.883837, "lng": 151.209307}, {"lat": -33.883700, "lng": 151.210307}, {"lat": 0, "lng": 0} ], "radius": 50 }' \ -H 'Content-Type: application/json' \ "https://tile.googleapis.com/v1/streetview/panoIds?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY"
locations
- Tablica
locations
musi zawierać co najmniej jeden zestaw wartości współrzędnych, ale możesz dodać ich więcej – maksymalnie 100. radius
- Wartość
radius
(mierzona w metrach) określa promień okręgu wokół danej lokalizacji, w której chcesz wyszukać panoramy. Wartość domyślna to 50 metrów.
Odpowiedź PanoId
Interfejs Map Tiles API próbuje znaleźć panoramę najbliżej każdej lokalizacji, a potem zwraca identyfikatory panoram. Udane żądanie panoIds
zwraca obiekt JSON zawierający tablicę panoIds
. Tablica zawiera listę identyfikatorów panoram
w kolejności, w jakiej je żądano. Jeśli interfejs Map Tiles API nie znajdzie żadnych panoram dla żądanych lokalizacji, w tej lokalizacji w tablicy zostanie zwrócony pusty ciąg znaków. Oto przykładowy kod JSON.
{
"panoIds": [
"ACfH-n2HcBvRry_3oc9grw",
"f5DJZatBAAAXHlooS2wKbw",
""
]
}
Za pomocą panoIds
możesz:
- Przesyłanie prośby o metadane Street View
- Przesyłanie prośby o miniatury Street View
- Zamawianie kafelków Street View
Metadane Street View
Żądania metadanych Street View pobierają informacje o panoramach. Żądanie metadanych Street View to żądanie HTTPS GET. Informacje o panoramach możesz pobrać na dwa sposoby:
Jeśli przekażesz
pano_id
, interfejs Map Tiles API zwróci metadane tej panoramy.Jeśli jednak przekażesz
lat
ilng
, interfejs Map Tiles API zwróci metadane najbliższej panoramy w określonym promieniu wyszukiwania.
Przekazuj współrzędne i promień
curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY &lat=lat &lng=lng &radius=meters"
Identyfikatory panoram są przejściowe, dlatego w pierwszym żądaniu metadanych Street View zalecamy przekazanie zestawu współrzędnych i wartości radius
.
Oto przykładowy fragment kodu:
curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &lat=47.62066 &lng=-122.34923 &radius=50"
Przekazywanie identyfikatora panoId zdjęcia Street View
curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &panoId=panoId"
Odpowiedź na metadane
Poniższy kod JSON zawiera przykład typowej odpowiedzi metadanych.
{
"panoId": "rZ9KeTyhA11i0VppYNzsSg",
"lat": 37.420864219339165,
"lng": -122.08446528377291,
"imageHeight": 6656,
"imageWidth": 13312,
"tileHeight": 512,
"tileWidth": 512,
"heading": 94.35,
"tilt": 88.39652,
"roll": 1.7181772,
"imageryType": "outdoor",
"date": "2023-01",
"copyright": "© 2023 Google",
"reportProblemLink": "https://cbks0.googleapis.com/cbk?output=report&panoid=rZ9KeTyhA11i0VppYNzsSg&cb_client=api&cbp=1,0,,0,0&hl=en-US&gl=us",
"addressComponents": [
{
"longName": "United States",
"shortName": "United States",
"types": [
"country"
]
},
{
"longName": "Mountain View, California",
"shortName": "Mountain View, California",
"types": [
"locality"
]
},
{
"longName": "Charleston Rd",
"shortName": "Charleston Rd",
"types": [
"route"
]
},
{
"longName": "1635",
"shortName": "1635",
"types": [
"street_number"
]
}
],
"links": [
{
"panoId": "Yw4pqzA4FEq1qs-BwZSvSQ",
"heading": 274.47998046875,
"text": "Charleston Rd"
},
{
"panoId": "1cODYwFRw1aZ45IignDIMw",
"heading": 94.47999572753906,
"text": "Charleston Rd"
}
]
}
Poniższa lista zawiera definicje pól w treści odpowiedzi.
panoId
- Unikalny identyfikator tej panoramy. Nie należy zakładać, że identyfikatory panoram są ważne dłużej niż przez jedną sesję użytkownika.
lat
,lng
- Współrzędne (szerokość i długość geograficzna) panoramy. Wartości te mogą się różnić od współrzędnych przekazanych w żądaniu, bo lokalizacja przyciąga się do najbliższej panoramy.
imageHeight
,imageWidth
- Wymiary połączonej panoramy.
tileHeight
,tileWidth
- Wymiary pojedynczego kafelka panoramy.
heading
- Nagłówek kompasu, mierzony w stopniach, w prawo od północy. Nagłówki są zwracane w zakresie [0,360], gdzie 0 oznacza kierunek północny.
tilt
- Kąt nachylenia panoramy, mierzony w stopniach od południowego bieguna panoramy do horyzontu. Zwracane wartości mieszczą się w zakresie [0–180]. Wartość 90 stopni oznacza, że horyzont jest już wyrównany do równika panoramy.
roll
- Obrót w prawo wokół linii wzroku zastosowanej do panoramy w celu wyrównania horyzontu. Zwracane wartości mieszczą się w zakresie [0, 360].
imageryType
- Wskazuje typ obrazu. Prawidłowe wartości to
indoor
ioutdoor
. date
- Data wykonania zdjęcia. Nie wszystkie obrazy zawierają dane daty. Jeśli jednak jest ono dostępne, zawiera kombinację roku (RRRR) i miesiąca (MM). np. 2023-05 lub 2024.
copyright
- Tekst dotyczący praw autorskich, który musi być wyświetlany jako źródło informacji razem ze zdjęciem Street View.
reportProblemLink
- Link do zgłaszania problemów z tym kafelkiem Street View. Link ten musi znajdować się w prawym dolnym rogu obrazu i musi zawierać tekst linku w rodzaju „Zgłoś problem dotyczący tego obrazu”.
addressComponent
- Uporządkowany kod geograficzny, który zawiera szczegóły adresu panoramy. Więcej informacji znajdziesz w sekcji Żądania i odpowiedzi geokodujące w dokumentacji interfejsu Geocoding API.
links
- Lista identyfikatorów panoram, które są z nią połączone. który zawiera też nagłówek, w którym znajduje się link. Jeśli na przykład nagłówek ma wysokość 180°, połączona panorama jest ustawiona na południe od bieżącej panoramy. Pamiętaj, że ze względu na przejściowy charakter identyfikatorów panoram nie należy polegać na nich tylko przez jedną sesję użytkownika.
Miniatury Street View
Możesz poprosić o zdjęcia Street View w formacie thumbnail
. Miniatury to obrazy o określonym przez użytkownika rozmiarze, nagłówku, tonie i polu widzenia.
Miniatury mają mniejszą rozdzielczość niż kafelki i mają mniejszy rozmiar pliku. Żądanie miniatury generujesz, wysyłając żądanie GET do punktu końcowego thumbnail
, jak pokazano w poniższym prototypie kodu.
curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &panoId=panoId &height=FROM_16_TO_250 &width=FROM_16_TO_600 &pitch=FROM-90_TO_90 &yaw=FROM-360_TO_360 &fov=FROM_30_TO_120"
Poniższy przykładowy kod umożliwia pobranie miniatury zdjęć Street View zrobionych w Whistler w Kanadzie.
curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &panoId=Zzl28rqGJgaL2IdkUleP8A &height=200 &width=200 &pitch=0 &yaw=250 &fov=80" --output /tmp/example_thumbnail.png
Wymagane parametry
panoId
- Unikalny identyfikator miniatury, której szukasz. Możesz wyświetlić wartości identyfikatora panoramy
z
panoIds
punktu końcowego lubmetadata
punktu końcowego – oba te współrzędne akceptują współrzędne geograficzne i zwracają odpowiedniepanoId
. session
- Prawidłowy token sesji.
key
- Twój klucz interfejsu API.
Parametry opcjonalne
height
- Określa wysokość miniatury w pikselach, od 16 do 250 pikseli. Jeśli nie określisz wysokości, domyślnie ustawimy maksymalną dozwoloną wartość 250 pikseli. Jeśli podasz wartość spoza zakresu, miniatura przyciągnie ją do najbliższej prawidłowej wartości.
width
- Określa szerokość miniatury w pikselach, od 16 do 600 pikseli. Jeśli nie określisz szerokości, domyślnie zostanie użyta maksymalna dozwolona wartość, która wynosi 600 pikseli. Jeśli podasz wartość spoza zakresu, miniatura przyciągnie ją do najbliższej prawidłowej wartości.
pitch
- Określa kąt kamery wzdłuż osi pionowej. Prawidłowe wartości należą do zakresu od
-90
do90
(włącznie). Wartością domyślną jest 0. yaw
- Określa kierunek kamery wzdłuż osi poziomej. Prawidłowe wartości należą do zakresu od
-360
do360
(włącznie). Wartość domyślna to s 0. fov
- Określa poziome pole widzenia, wyrażone w stopniach, i ma maksymalną wartość 120. W przypadku widocznego obszaru o stałym rozmiarze, np. zdjęcia Street View o określonej wielkości, pole widoku reprezentuje powiększenie, a mniejsze wartości – wyższy poziom powiększenia. Wartością domyślną jest 90.
Kafelki zdjęć Street View
Gdy już będziesz mieć panoId
, możesz poprosić o kafelek ze zdjęciem Street View. Żądania kafelków to żądania HTTPS GET. Przyjrzyjmy się temu przykładowi.
curl "https://tile.googleapis.com/v1/streetview/tiles/z/x/y?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &panoId=panoId"
W tym przykładzie kodu z
to poziom powiększenia, a x
i y
to współrzędne kafelka kafelka Street View, którego chcesz użyć. Poziomy powiększenia w panoramach Street View muszą mieścić się
w zakresie [0,5], gdzie 0 oznacza najszersze pole widzenia.
Poziom powiększenia | Przybliżone pole widzenia |
---|---|
0 | 360° |
1 | 180° |
2 | 90° |
3 | 7° |
4 | 22,5° |
5 | 11,25° |
Odpowiedzi z kafelków Street View
Pomyślna prośba o kafelek Street View zwraca zdjęcie w formacie i rozmiarze określonym w odpowiedzi createSession
.
Przy zerowym poziomie powiększenia cała panorama jest zmieniana na kafelek o wymiarach tileWidth
na tileHeight
. Panoramy w wymiarze x są większe, więc kafelek zawiera puste miejsce w wymiarze y:
Przy piątym poziomie powiększenia wyświetlana jest pełnowymiarowa panorama podzielona na kafelki.
informacji o prawach autorskich
Każda panorama Street View musi zawierać informacje o prawach autorskich. Ciąg znaków do wyświetlenia może być różny w zależności od panoram. Aby uzyskać informacje o prawach autorskich, musisz poprosić o metadane Street View. Potem sprawdź pole copyright
odpowiedzi. Więcej informacji znajdziesz w artykule Atrybucja danych.