Identyfikatory miejsc jednoznacznie identyfikują miejsce w bazie danych Miejsc Google i w Mapach Google. Identyfikatory miejsc są akceptowane w żądaniach wysyłanych do następujących interfejsów API Map Google:
- Pobierając adres dla identyfikatora miejsca w usłudze internetowej Geocoding API oraz Usługa geokodowania, Maps JavaScript API.
- Określanie punktu początkowego, docelowego i pośredniego Routes API i Directions API usługi sieci Web i usługi wyznaczania tras, Maps JavaScript API.
- określanie punktów początkowych i miejsc docelowych w interfejsie Routes API oraz Usługa sieciowa interfejsu DISTANCE Matrix API oraz Usługa macierzy odległości, Maps JavaScript API.
- Pobieranie informacji o miejscach z usługi internetowej interfejsu Places API, pakietu SDK Places na Androida, pakietu SDK Places na iOS i biblioteki Miejsc.
- Użycie parametrów identyfikatora miejsca w interfejsie Maps Embed API.
- Pobieranie wyszukiwanych haseł z adresów URL Map Google.
- Wyświetlam ograniczenia prędkości w interfejsie Roads API.
- Znajdowanie i określanie wielokątów granicy w stylu opartym na danych na potrzeby granic.
Znajdowanie identyfikatora określonego miejsca
Czy szukasz identyfikatora konkretnego miejsca? Korzystanie z identyfikatora miejsca poniżej, aby wyszukać miejsce i poznać jego identyfikator:
Ewentualnie możesz wyświetl narzędzie do wyszukiwania identyfikatorów miejsc z jego kodem w interfejsie Maps JavaScript API. dokumentacji.
Omówienie
Identyfikator miejsca to identyfikator tekstowy jednoznacznie identyfikujący miejsce. jego długość może być różna (nie ma maksymalnej długości dla 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, parki i skrzyżowania. Dla tego samego miejsca lub lokalizacji mają kilka różnych identyfikatorów miejsc. Identyfikatory miejsc mogą się z czasem zmieniać.
Możesz używać tego samego identyfikatora miejsca w interfejsie Places API oraz liczby interfejsów API Google Maps Platform. Tego samego identyfikatora miejsca możesz na przykład użyć do wskazać miejsce na liście Places API, Maps JavaScript API interfejs Geocoding API interfejs Maps Embed API oraz Roads API.
Pobieranie szczegółowych informacji o miejscu przy użyciu identyfikatora miejsca
Typowym sposobem korzystania z identyfikatorów miejsc jest wyszukanie miejsca. (za pomocą interfejsu Places API) lub Miejsca w interfejsie Maps JavaScript API), a potem użyj zwrócony identyfikator miejsca, aby pobrać jego szczegóły. Możesz w nim przechowywać identyfikator miejsca aby później pobrać informacje o tym samym miejscu. Przeczytaj o zapisanie identyfikatorów miejsc poniżej.
Przykład z wykorzystaniem pakietu SDK Miejsc na iOS
Identyfikator miejsca to identyfikator tekstowy jednoznacznie identyfikujący miejsce. W
SDK Miejsc na iOS można pobrać identyfikator miejsca z
GMSPlace
obiektu. Można zapisać identyfikator miejsca i użyć go do pobrania
GMSPlace
możesz zobaczyć go później.
Aby uzyskać miejsce na podstawie identyfikatora, zadzwoń pod numer
GMSPlacesClient
fetchPlaceFromPlaceID:
, przekazując te parametry:
- Ciąg tekstowy zawierający identyfikator miejsca.
- Co najmniej jeden element typu
GMSPlaceField
, określający typy danych do zwrócenia. - Token sesji, jeśli nastąpi wywołanie w celu zakończenia zapytania autouzupełniania. W przeciwnym razie przekaż nil.
GMSPlaceResultCallback
do obsługi wyniku.
Interfejs API wywołuje określoną metodę wywołania zwrotnego, przekazując atrybut
GMSPlace
obiektu. Jeśli miejsce nie zostanie znalezione, obiekt miejsca ma 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]); } }];
Zapisz identyfikatory miejsc do późniejszego użycia
Identyfikatory miejsc są wyłączone z ograniczeń buforowania opisanych w Artykuł 3.2.3(b) Warunków korzystania z usługi Google Maps Platform. Możesz więc przechowywać wartości identyfikatorów miejsc na później i ich używanie.
Odświeżam identyfikatory zapisanych miejsc
Zalecamy odświeżenie identyfikatorów miejsc, jeśli są starsze niż 12 miesięcy. Ty
mogą odświeżyć identyfikatory miejsc bezpłatnie, tworząc
Prośba o dodanie szczegółów
określając tylko GMSPlaceFieldPlaceID
w parametrze fields
.
To wywołanie uruchamia
Szczegóły Miejsc – odświeżenie identyfikatora
SKU.
Ta prośba może też zwrócić stan: NOT_FOUND
w kodzie. Jedną ze strategii jest przechowywanie pierwotnego żądania, które zwróciło każde miejsce
ID. Jeśli identyfikator miejsca stanie się nieprawidłowy, możesz ponownie wysłać prośbę, aby pobrać nowy identyfikator
wyników. Te wyniki mogą, ale nie muszą, dotyczyć pierwotnego miejsca. Jednak ta prośba
jest płatna.
Kody błędów podczas korzystania z identyfikatorów miejsc
Kod stanu INVALID_REQUEST
wskazuje, że określony
identyfikator miejsca jest nieprawidłowy. Wartość INVALID_REQUEST
może zostać zwrócona, gdy
identyfikator miejsca został obcięty lub w inny sposób zmodyfikowany i jest już nieprawidłowy.
Kod stanu NOT_FOUND
wskazuje, że podany identyfikator miejsca
jest przestarzały. Identyfikator miejsca może stać się nieaktualny, jeśli firma zostanie zamknięta lub przeniesiona do
o nowe miejsce. Identyfikatory miejsc mogą się zmieniać z powodu dużych aktualizacji Google
Baza danych Map Google. W takich przypadkach miejsce może otrzymać nowy identyfikator, a stary
Identyfikator zwraca odpowiedź NOT_FOUND
.
Niektóre typy identyfikatorów miejsc mogą czasami powodować
NOT_FOUND
lub interfejs API może zwrócić inny identyfikator miejsca w
odpowiedź. Typy identyfikatorów miejsc:
- adresy, które nie występują w Mapach Google jako dokładne adresy; ale są ustalane na podstawie zakresu adresów.
- fragmenty długiej trasy, których żądanie zawiera również nazwę miasta lub lokalizacji.
- Skrzyżowania.
- Miejsca z komponentem adresu typu
subpremise
.
Identyfikatory te często mają postać długiego ciągu znaków (nie ma maksymalnej długości dla 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