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 biblioteki Miejsc w interfejsie Maps JavaScript API
Aby użyć identyfikatora miejsca w aplikacji JavaScript, musisz najpierw znaleźć ten identyfikator w polu PlaceResult
zwracanym przez wyszukiwanie miejsc lub przez usługę getPlace()
w usłudze uzupełniania miejsca. Następnie możesz skorzystać z identyfikatora miejsca, aby wyszukać szczegóły miejsca.
var map; function initialize() { // Create a map centered in Pyrmont, Sydney (Australia). map = new google.maps.Map(document.getElementById('map'), { center: {lat: -33.8666, lng: 151.1958}, zoom: 15 }); // Search for Google's office in Australia. var request = { location: map.getCenter(), radius: '500', query: 'Google Sydney' }; var service = new google.maps.places.PlacesService(map); service.textSearch(request, callback); } // Checks that the PlacesServiceStatus is OK, and adds a marker // using the place ID and location from the PlacesService. function callback(results, status) { if (status == google.maps.places.PlacesServiceStatus.OK) { var marker = new google.maps.Marker({ map: map, place: { placeId: results[0].place_id, location: results[0].geometry.location } }); } } google.maps.event.addDomListener(window, 'load', initialize);
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
.
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