Einführung
Mit einer Orts-ID wird ein Ort in der Google Places-Datenbank und in Google Maps eindeutig identifiziert. Orts-IDs werden in Anfragen an die folgenden Maps APIs akzeptiert:
- Adresse für eine Orts-ID in der Geocoding API und im Geocoding-Dienst der Maps JavaScript API abrufen
- Start, Ziel und Wegpunkte in der Routes API, der Directions API (Legacy) und dem Directions-Dienst der Maps JavaScript API (Legacy) angeben
- Start und Ziel in der Routes API und der Distance Matrix API (Legacy) sowie im Distance Matrix-Dienst der Maps JavaScript API (Legacy) angeben
- Place Details-Daten in der Places API (New), im Places SDK for Android (New), im Places SDK for iOS (New) und in der Places Library abrufen
- Orts-ID-Parameter in der Maps Embed API verwenden
- Suchanfragen in Maps-URLs abrufen
- Geschwindigkeitsbegrenzungen in der Roads API anzeigen
- Begrenzungspolygone finden und mit datengestützten Stilen für Grenzen gestalten
Nach der ID eines bestimmten Orts suchen
Sie suchen nach der ID eines bestimmten Orts? Dann verwenden Sie die Orts-ID-Suche:
Alternativ können Sie sich auch die Seite zur Orts-ID-Suche mit dem entsprechenden Code in der Maps JavaScript API-Dokumentation ansehen.
Übersicht
Die Orts-ID ist eine Kennung in Textform, die einen Ort eindeutig definiert. Die Länge von Orts-IDs kann variieren und ist nicht begrenzt. Beispiele:
-
ChIJgUbEo8cfqokR5lP9_Wh_DaM
-
GhIJQWDl0CIeQUARxks3icF8U8A
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
-
IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ
Orts-IDs lassen sich für die meisten Orte abrufen, einschließlich Unternehmen, Sehenswürdigkeiten, Parks und Kreuzungen. Ein Ort kann mehrere unterschiedliche Orts-IDs haben. Orts-IDs können sich im Laufe der Zeit ändern.
Sie können dieselbe Orts-ID für die Places API und verschiedene Google Maps Platform APIs verwenden. So kann z. B. dieselbe Orts-ID verwendet werden, um in der Places API, Maps JavaScript API, Geocoding API, Maps Embed API und Roads API auf einen Ort zu verweisen.
Ortsdetails mithilfe der Orts-ID abrufen
Häufig wird nach einem Ort gesucht (z. B. mit der Places API oder der Places Library in der Maps JavaScript API) und die zurückgegebene Orts-ID dann verwendet, um Ortsdetails abzurufen. Sie können die Orts-ID speichern und später verwenden, um dieselben Ortsdetails noch einmal abzurufen. Informationen zum Speichern von Orts-IDs finden Sie unten.
Beispiel mit dem Places SDK for iOS
Die Orts-ID ist eine Kennung in Textform, die einen Ort eindeutig definiert. Im Places SDK for iOS können Sie die ID eines Orts aus einem GMSPlace
-Objekt abrufen. Sie können die Orts-ID speichern und später verwenden, um das GMSPlace
-Objekt noch einmal abzurufen.
Wenn Sie einen Ort anhand der ID abrufen möchten, rufen Sie GMSPlacesClient
fetchPlaceFromPlaceID:
auf und übergeben Sie die folgenden Parameter:
- Ein String, der eine Orts-ID enthält.
- Ein oder mehrere
GMSPlaceField
, die die zurückzugebenden Datentypen angeben. - Ein Sitzungstoken, wenn der Aufruf erfolgt, um eine Autocomplete-Anfrage abzuschließen. Andernfalls übergeben Sie „nil“.
- Ein
GMSPlaceResultCallback
zum Verarbeiten des Ergebnisses.
Die API ruft die angegebene Callback-Methode auf und übergibt ein GMSPlace
-Objekt. Wird der Ort nicht gefunden, hat das Objekt „place“ den Wert null.
Places Swift SDK for 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]); } }];
Orts-IDs zur späteren Verwendung speichern
Orts-IDs sind von den Caching-Einschränkungen in Paragraf 3.2.3(b) der Nutzungsbedingungen für die Google Maps Platform ausgenommen. Sie können Orts-IDs daher zur späteren Verwendung speichern.
Gespeicherte Orts-IDs aktualisieren
Da sich Orts-IDs aufgrund von Aktualisierungen der Google Maps-Datenbank ändern können, empfiehlt Google, Orts-IDs, die älter als 12 Monate sind, zu aktualisieren. Das ist kostenlos möglich. Dazu stellen Sie eine Place Details-Anfrage, in der Sie nur das Feld GMSPlaceFieldPlaceID
im fields
-Parameter angeben.
Dadurch wird die SKU Places Details – ID Refresh ausgelöst.
Fehlercodes bei der Verwendung von Orts-IDs
INVALID_REQUEST
Der Statuscode INVALID_REQUEST
gibt an, dass die angegebene
Orts-ID ungültig ist. INVALID_REQUEST
wird zurückgegeben, wenn die Orts-ID abgeschnitten oder anderweitig geändert wurde und nicht mehr korrekt ist.
NOT_FOUND
Der Statuscode NOT_FOUND
gibt an, dass die angegebene Orts-ID veraltet ist. Eine Orts-ID kann auch als veraltet eingestuft werden, wenn ein Unternehmen schließt oder an einen neuen Standort umzieht. Orts-IDs können sich auch aufgrund von Aktualisierungen der Google Maps-Datenbank ändern. In solchen Fällen wird einem Ort eventuell eine neue Orts-ID zugewiesen und für die alte die Antwort NOT_FOUND
zurückgegeben.
Wenn eine Orts-ID veraltet ist, können Sie die ursprüngliche Anfrage speichern, für die die einzelnen Orts-IDs zurückgegeben wurden, und die Anfrage bei Bedarf noch einmal senden, um die Ergebnisse zu aktualisieren. Die neu ausgestellte Anfrage wird mit der entsprechenden SKU abgerechnet.
Bei einigen Arten von Orts-IDs wird manchmal die Antwort NOT_FOUND
oder eine andere Orts-ID in der Antwort zurückgegeben. Dazu gehören:
- Adressen, die in Google Maps nicht als genaue Adressen vorhanden sind, sondern aus einem Adressbereich abgeleitet werden
- Segmente einer langen Route, für die in der Anfrage auch eine Stadt oder ein Ort angegeben wird
- Kreuzungen
- Orte mit einer Adresskomponente vom Typ
subpremise
Die IDs sind häufig lange Strings (es gibt keine Längenbeschränkung für Orts-IDs). Beispiel:
EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4