Identyfikatory miejsc jednoznacznie identyfikują miejsca w bazie danych Miejsc Google i w Mapach Google. Identyfikatory miejsc są akceptowane w żądaniach do tych interfejsów API Map Google:
- Pobieram adres identyfikatora miejsca w usłudze internetowej Geocoding API i usłudze geokodowania, Maps JavaScript API.
- Określanie punktu początkowego, docelowego i pośredniego w usłudze internetowej Route API oraz w usłudze Trasa dojazdu, Maps JavaScript API.
- Określanie punktów początkowych i docelowych w usłudze internetowej przeznaczonej dla matrycy odległości oraz w usłudze odległości ( Maps Matrix API), Maps JavaScript API.
- Pobieram szczegółowe informacje o miejscach w usłudze internetowej interfejsu API interfejsu API, pakiet SDK Miejsc na Androida, pakiet SDK Miejsc na iOS oraz bibliotekę Miejsc, interfejs API JavaScript.
- Używanie parametrów identyfikatora miejsca w interfejsie API Map Google do umieszczania.
- Pobieranie zapytań w URL-ach Map.
- Wyświetlam ograniczenia prędkości w interfejsie Roads API.
- Znajdowanie i stylowanie wielokątów granic w stylu opartym na danych.
Znajdowanie identyfikatora konkretnego miejsca
Czy szukasz identyfikatora konkretnego miejsca? Aby wyszukać miejsce i uzyskać jego identyfikator, użyj wyszukiwarki miejsc.
Możesz też wyświetlić identyfikator miejsca z jego kodem w dokumentacji interfejsu Maps JavaScript API.
Omówienie
Identyfikator miejsca to identyfikator tekstowy, który jednoznacznie identyfikuje miejsce. Identyfikator może być dłuższy (nie ma maksymalnej długości identyfikatorów miejsc). Przykłady:
-
ChIJgUbEo8cfqokR5lP9_Wh_DaM
-
GhIJQWDl0CIeQUARxks3icF8U8A
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
-
IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ
Identyfikatory miejsc są dostępne dla większości lokalizacji, w tym firm, punktów orientacyjnych, parków i skrzyżowań. To samo miejsce lub lokalizacja może mieć wiele różnych identyfikatorów miejsca. Identyfikatory miejsc mogą się z czasem zmieniać.
Możesz używać tego samego identyfikatora miejsca w interfejsie Places API i w wielu interfejsach Google Maps Platform API. Możesz na przykład użyć tego samego identyfikatora miejsca, aby odwołać się do miejsca w interfejsach Places API, Maps JavaScript API, Geocoding API, Maps embed API i Roads API.
Pobieranie szczegółowych informacji o miejscu przy użyciu identyfikatora miejsca
Identyfikatory miejsc są zwolnione z ograniczeń wynikających z pamięci podręcznej w sekcji 3.2.3(b) Warunków korzystania z Google Maps Platform. Gdy określisz identyfikator miejsca, możesz użyć jego wartości przy kolejnym wyszukiwaniu. Więcej informacji znajdziesz poniżej w sekcji Zapisywanie identyfikatorów miejsc do późniejszego użycia.
Typowym sposobem używania identyfikatorów miejsc jest wyszukiwanie miejsc (np. za pomocą interfejsu Places API lub biblioteki miejsc w interfejsie Maps JavaScript API) i używanie zwróconego identyfikatora miejsca w celu pobrania szczegółowych informacji o miejscu. Możesz zapisać identyfikator miejsca i użyć go, aby później pobrać te same szczegóły miejsca. Informacje o zapisywaniu identyfikatorów miejsc znajdziesz poniżej.
Przykład z wykorzystaniem interfejsu API Miejsc
Za pomocą interfejsu Places API możesz znaleźć identyfikator miejsca za pomocą żądania Place Search (Wyszukiwanie miejsc).
Poniżej podano przykładowe zapytanie dotyczące miejsc typu „restauracja” w promieniu 1500 m od punktu w Sydney, w którym znajduje się słowo „rejs”:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=YOUR_API_KEY
Odpowiedź zawiera identyfikator miejsca w polu place_id
, jak w tym fragmencie:
{ "html_attributions" : [], "results" : [ { "geometry" : { "location" : { "lat" : -33.870775, "lng" : 151.199025 } }, ... "place_id" : "ChIJrTLr-GyuEmsRBfy61i59si0", ... } ], "status" : "OK" }
Opis wszystkich pól w odpowiedzi znajdziesz w dokumentacji wyszukiwania związanego z miejscem.
Możesz teraz wysłać żądanie dotyczące szczegółów miejsca, podając identyfikator miejsca w parametrze place_id
:
https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJrTLr-GyuEmsRBfy61i59si0&key=YOUR_API_KEY
Zapisz identyfikatory miejsc do późniejszego użycia
Identyfikatory miejsc są zwolnione z ograniczeniach dotyczących pamięci podręcznej opisanych w Sekcji 3.2.3(a) Warunków korzystania z Google Maps Platform. Dlatego możesz zapisywać wartości identyfikatorów miejsc do późniejszego wykorzystania.
Odświeżam identyfikatory zapisanych miejsc
Jeśli identyfikatory miejsca mają więcej niż 12 miesięcy, zalecamy ich odświeżenie. Identyfikatory miejsc możesz bezpłatnie odświeżać, wysyłając żądanie szczegółów miejsca, podając w polu fields
tylko pole place_id
.
Na przykład:
https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ05IRjKHxEQ0RJLV_5NLdK2w&fields=place_id&key=YOUR_API_KEY
To wywołanie uruchomi kod SKU
miejsca – odświeżanie identyfikatorów
SKU. To żądanie może też jednak zwracać kod stanu NOT_FOUND
. Jedną ze strategii jest przechowywanie pierwotnego żądania, które zwróciło każdy identyfikator miejsca. Jeśli identyfikator miejsca stanie się nieprawidłowy, możesz ponownie wysłać prośbę, aby uzyskać nowe wyniki. Te wyniki mogą, ale nie muszą, zawierać pierwotne miejsce. Żądanie jest płatne.
Kody błędów podczas korzystania z identyfikatorów miejsc
Kod stanu INVALID_REQUEST
wskazuje, że podany identyfikator miejsca jest nieprawidłowy. Wartość INVALID_REQUEST
może zostać zwrócona, gdy identyfikator miejsca został skrócony lub w inny sposób zmodyfikowany i nie jest już prawidłowy.
Kod stanu NOT_FOUND
wskazuje, że określony identyfikator miejsca jest nieaktualny. Identyfikator miejsca może stać się nieaktualny, gdy firma zostanie zamknięta lub przeniesiona. Identyfikatory miejsc mogą się zmieniać z powodu aktualizacji na dużą skalę w bazie danych Map Google. W takich przypadkach miejsce może otrzymać nowy identyfikator, a stary identyfikator zwróci odpowiedź NOT_FOUND
.
Na przykład niektóre typy identyfikatorów miejsc mogą czasami wywoływać odpowiedź NOT_FOUND
lub interfejs API może zwracać inny identyfikator miejsca w odpowiedzi. Typy identyfikatorów miejsc obejmują:
- Adresy, które nie istnieją w Mapach Google jako adresy dokładne, ale są wskazywane na podstawie zakresu adresów.
- Fragmenty długiej trasy, w której żądanie określa też miasto lub miejscowość.
- Skrzyżowania.
- Miejsca z komponentem adresu typu
subpremise
.
Identyfikatory te często mają postać długiego ciągu (identyfikatory miejsc nie mają maksymalnej długości). Przykład:
EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4