Wprowadzenie
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:
- pobieranie adresu dla identyfikatora miejsca w interfejsie Geocoding API i usłudze geokodowania w interfejsie Maps JavaScript API;
- Określanie punktu początkowego, miejsca docelowego i punktów pośrednich w interfejsach Routes API i Directions API (starsza wersja) oraz w usłudze Directions Service, Maps JavaScript API (starsza wersja).
- określanie miejsc początkowych i docelowych w interfejsach Routes API i Distance Matrix API (starsza wersja) oraz w usłudze macierz odległości, Maps JavaScript API (starsza wersja);
- pobieranie szczegółowych informacji o miejscu w Places API (nowym), pakiecie SDK Miejsc na Androida (nowym), pakiecie SDK Miejsc na iOS (nowym) i bibliotece Miejsc;
- Używanie parametrów identyfikatora miejsca w interfejsie Maps Embed API.
- Pobieranie zapytań w adresach URL Map.
- Wyświetlanie ograniczeń prędkości w interfejsie Roads API.
- znajdowanie i stylizowanie wielokątów granic w ramach stylu opartego na danych dla granic;
Znajdowanie identyfikatora konkretnego miejsca
Szukasz identyfikatora miejsca konkretnego miejsca? Aby wyszukać miejsce i uzyskać jego identyfikator, użyj poniższej wyszukiwarki identyfikatorów miejsc:
Możesz też wyświetlić wyszukiwarkę identyfikatorów miejsc z jej kodem w dokumentacji interfejsu Maps JavaScript API.
Znajdowanie identyfikatorów miejsc za pomocą kodu lub agenta AI
Wyszukiwarka identyfikatorów miejsc wyszukuje w przeglądarce jedno miejsce naraz. Aby wyszukać identyfikatory miejsc z aplikacji, skryptu lub agenta AI, wywołaj interfejs API:
- Z poziomu kodu:
wyślij żądanie Wyszukaj tekst (New) z właściwościami miejsca ustawionymi na
GMSPlacePropertyPlaceID. Żądania, które zwracają tylko identyfikatory miejsc, są rozliczane według kodu SKU Places API – Wyszukaj tekst – Essentials (tylko identyfikatory). - Z poziomu agenta AI lub aplikacji LLM: użyj interfejsu Resolution API w narzędziach agenta Maps Experience. Narzędzia MCP
resolve_namesiresolve_maps_urlsrozpoznają w każdym żądaniu maksymalnie 20 nazw miejsc, adresów lub adresów URL Map Google i zamieniają je na identyfikatory miejsc. Dostępne są te same metody co metody RESTresolveNamesiresolveMapsUrls.
Przegląd
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 miejsca. Identyfikatory miejsc mogą się z czasem zmieniać.
Możesz używać tego samego identyfikatora miejsca w Places API i wielu interfejsach API Google Maps Platform. Możesz na przykład użyć tego samego identyfikatora miejsca, aby odwołać się do miejsca w Places API, Maps JavaScript API, Geocoding API, Maps Embed API i Roads API.
Pobieranie informacji o miejscu za pomocą identyfikatora miejsca
Typowym sposobem używania identyfikatorów miejsc jest wyszukiwanie miejsca za pomocą Places API lub biblioteki Miejsc w Maps JavaScript API. Następnie użyj zwróconego identyfikatora miejsca, aby pobrać informacje o miejscu. Możesz zapisać identyfikator miejsca i użyć go później, aby pobrać te same informacje o miejscu. Więcej informacji o zapisywaniu identyfikatorów miejsc znajdziesz w dalszej części tego dokumentu.
Przykład użycia pakietu SDK Miejsc na iOS
Identyfikator miejsca to identyfikator tekstowy, który jednoznacznie identyfikuje miejsce. W pakiecie Places SDK for 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 uzyskać miejsce według identyfikatora, wywołaj GMSPlacesClient
fetchPlaceFromPlaceID:, przekazując te parametry:
- Ciąg tekstowy zawierający identyfikator miejsca.
- Co najmniej 1
GMSPlaceFieldokreślający typy danych do zwrócenia. - Token sesji, jeśli wywołanie jest wykonywane w celu zakończenia zapytania autouzupełniania. W przeciwnym razie przekaż wartość nil.
GMSPlaceResultCallbackdo 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.
Pakiet SDK Miejsc w języku Swift na iOS
// Initialize Places Swift Client. let placesClient = PlacesClient.shared // A hotel in Saigon with an attribution let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Fetch Place Request. let fetchPlaceRequest = FetchPlaceRequest( placeID: placeID, placeProperties: [.displayName] ) Task { switch await placesClient.fetchPlace(with: fetchPlaceRequest) { case .success(let place): print("The selected place is: \(place.displayName): \(String(describing: place.description))") case .failure(let placesError): print("Place not found: \(placeID); \(placesError)") } }
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ą wyłączone z ograniczeń dotyczących buforowania określonych w sekcji 3.2.3(b) Warunków korzystania z usługi Google Maps Platform. Możesz więc przechowywać wartości identyfikatorów miejsc do późniejszego wykorzystania.
Odświeżanie przechowywanych identyfikatorów miejsc
Identyfikatory miejsc mogą się zmieniać z powodu aktualizacji bazy danych Map Google, dlatego zalecamy odświeżanie identyfikatorów miejsc, które mają więcej niż 12 miesięcy. Identyfikatory miejsc możesz odświeżać bezpłatnie, wysyłając żądanie informacji o miejscu i podając tylko pole GMSPlaceFieldPlaceID w parametrze fields.
To wywołanie aktywuje kod SKU Informacje o miejscu – odświeżenie identyfikatora.
Kody błędów podczas używania identyfikatorów miejsc
INVALID_REQUEST
Kod stanu INVALID_REQUEST wskazuje, że podany identyfikator miejsca jest nieprawidłowy. INVALID_REQUEST może zostać zwrócony, gdy identyfikator miejsca został obcięty lub w inny sposób zmodyfikowany i nie jest już prawidłowy.
NOT_FOUND
Kod stanu NOT_FOUND oznacza, że podany identyfikator miejsca jest nieaktualny. Identyfikator miejsca może stać się nieaktualny, jeśli firma zostanie zamknięta lub przeniesiona do nowej lokalizacji. Identyfikatory miejsc mogą się też zmieniać z powodu aktualizacji bazy danych Map Google. W takich przypadkach miejsce może otrzymać nowy identyfikator, a stary identyfikator zwróci odpowiedź NOT_FOUND.
Aby odświeżyć wyniki w przypadku nieaktualnego identyfikatora miejsca, zapisz pierwotne żądanie, które zwróciło każdy identyfikator miejsca, i w razie potrzeby wyślij je ponownie. Pamiętaj, że ponownie wysłane żądanie jest rozliczane według odpowiedniego SKU.
Niektóre typy identyfikatorów miejsc mogą czasami powodować odpowiedź NOT_FOUND lub interfejs API może zwrócić w odpowiedzi inny identyfikator miejsca. Te typy identyfikatorów miejsc obejmują:
- Adresy, które nie istnieją w Mapach Google jako dokładne adresy, ale są wnioskowane na podstawie zakresu adresów.
- odcinki długiej trasy, gdy żą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 znaków (nie ma 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