Identyfikatory miejsc jednoznacznie identyfikują miejsce w bazie danych Miejsc Google i w Mapach Google. Identyfikatory miejsc są akceptowane w żądaniach wysyłanych do tych interfejsów API Map Google:
- Pobieram adres dla identyfikatora miejsca w usłudze sieciowej Geocoding API i usłudze Geocoding API oraz Maps JavaScript API.
- Określenie miejsca wylotu, miejsca docelowego i pośrednich punktów na trasie w usłudze internetowej Routes API oraz Directions API oraz usłudze Directions API (Mapa JavaScript API).
- określanie punktów początkowych i docelowych w usłudze internetowej Routes API oraz w usłudze Distance Matrix API oraz w usłudze Distance Matrix Service; Maps JavaScript API;
- Pobieranie szczegółów dotyczących miejsc z usługi internetowej Places API, Places SDK na Androida, Places SDK na iOS i biblioteki Places SDK.
- Korzystanie z parametrów identyfikatora miejsca w interfejsie Maps Embed API.
- Pobieranie zapytań wyszukiwanych w adresach URL w Mapach Google.
- Wyświetlam ograniczenia prędkości w interfejsie Roads API.
- Znajdowanie i określanie stylu wielokątów granic w stylu opartym na danych.
Znajdowanie identyfikatora konkretnego miejsca
Szukasz identyfikatora konkretnego miejsca? Skorzystaj z poniższej wyszukiwarki identyfikatorów miejsca, aby wyszukać miejsce i uzyskać jego identyfikator:
Możesz też wyświetlić wyszukiwarkę identyfikatorów miejsc wraz z jej kodem z dokumentacji interfejsu Maps JavaScript API.
Opis
Identyfikator miejsca to identyfikator tekstowy, który jednoznacznie identyfikuje miejsce. Długość identyfikatora może być różna (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ć kilka różnych identyfikatorów miejsc. Identyfikatory miejsc mogą się z czasem zmieniać.
W interfejsie Places API i w wielu interfejsach API Google Maps Platform możesz używać tego samego identyfikatora miejsca. Możesz na przykład użyć tego samego identyfikatora miejsca, aby wskazać miejsce w interfejsach Places API, Map JavaScript API, Geocoding API, Map Embed API i Roads API.
Pobierz informacje o miejscu przy użyciu identyfikatora miejsca
Typowym sposobem korzystania z identyfikatorów miejsc jest wyszukanie miejsca (np. za pomocą interfejsu Places API lub biblioteki Places w interfejsie Maps JavaScript API), a następnie użycie zwróconego identyfikatora miejsca do pobrania szczegółowych informacji o miejscu. Możesz zapisać identyfikator miejsca i użyć go później do pobierania tych samych szczegółów miejsca. Więcej informacji o zapisywaniu identyfikatorów miejsc znajdziesz poniżej.
Przykład korzystania z pakietu Places SDK dla iOS
Identyfikator miejsca to identyfikator tekstowy, który jednoznacznie identyfikuje miejsce. Za pomocą pakietu SDK Miejsc na iOS możesz pobrać identyfikator miejsca z obiektu GMSPlace
. Możesz zapisać identyfikator miejsca i użyć go później do ponownego pobrania obiektu GMSPlace
.
Aby znaleźć miejsce według identyfikatora, wywołaj GMSPlacesClient
fetchPlaceFromPlaceID:
, przekazując te parametry:
- Ciąg tekstowy zawierający identyfikator miejsca.
- Co najmniej jeden element
GMSPlaceField
określający typy danych do zwrócenia. - Token sesji, jeśli wywołanie zostanie wykonane w celu zakończenia zapytania autouzupełniania. W przeciwnym razie przekaż nil.
- Pole
GMSPlaceResultCallback
do obsługi wyniku.
Interfejs API wywołuje określoną metodę wywołania zwrotnego, przekazując obiekt GMSPlace
. Jeśli miejsce nie zostanie znalezione, obiekt miejsca będzie miał wartość nil.
Swift
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) | UInt(GMSPlaceField.placeID.rawValue))! placesClient?.fetchPlace(fromPlaceID: placeID, placeFields: fields, sessionToken: nil, callback: { (place: GMSPlace?, error: Error?) in if let error = error { print("An error occurred: \(error.localizedDescription)") return } if let place = place { self.lblName?.text = place.name print("The selected place is: \(place.name)") } })
Objective-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return. GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID); [_placesClient fetchPlaceFromPlaceID:placeID placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } if (place != nil) { NSLog(@"The selected place is: %@", [place name]); } }];
Zapisywanie identyfikatorów miejsc do późniejszego użycia
Identyfikatory miejsc są zwolnione z ograniczeń w pamięci podręcznej opisanych w artykule 3.2.3(b) Warunków korzystania z usługi Google Maps Platform. Możesz więc przechowywać wartości identyfikatorów miejsca do późniejszego wykorzystania.
Odświeżanie zapisanych identyfikatorów miejsc
Zalecamy odświeżanie identyfikatorów miejsc, jeśli mają więcej niż 12 miesięcy. Możesz bezpłatnie odświeżać identyfikatory miejsc, przesyłając żądanie informacji o miejscu, podając tylko pole GMSPlaceFieldPlaceID
w parametrze fields
.
To wywołanie aktywuje kod SKU Places Details – odświeżanie identyfikatora. To żądanie może jednak też zwrócić 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 wysłać prośbę ponownie, aby uzyskać nowe wyniki. Takie wyniki mogą, ale nie muszą, zawierać pierwotne miejsce. Żądanie podlega opłacie.
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 podany identyfikator miejsca jest nieaktualny. Identyfikator miejsca może stać się nieaktualny, jeśli firma zostanie zamknięta lub przeniesiona. Identyfikatory miejsc mogą się zmieniać z powodu dużych aktualizacji bazy danych Map Google. W takich przypadkach miejsce może otrzymać nowy identyfikator miejsca, a stary identyfikator zwraca odpowiedź NOT_FOUND
.
W szczególności niektóre typy identyfikatorów miejsc mogą czasami powodować zwracanie odpowiedzi NOT_FOUND
, a interfejs API może zwracać w odpowiedzi inny identyfikator miejsca. Te typy identyfikatorów miejsca obejmują:
- Adresy, które nie istnieją w Mapach Google jako dokładne adresy, ale są ustalane na podstawie zakresu adresów.
- Fragmenty długiej trasy, w przypadku których w żądaniu wskazano też miasto lub miejscowość.
- Skrzyżowania.
- Miejsca z komponentem adresu typu
subpremise
.
Identyfikatory te często mają postać długiego ciągu znaków (nie ma określonej maksymalnej długości identyfikatorów miejsc). Na przykład:
EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4