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 im Routes API- und Directions API-Webdienst (Legacy) und Directions-Dienst der Maps JavaScript API (Legacy) angeben
- Start und Ziel im Routes API- und Distance Matrix API-Webdienst (Legacy) und 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, indem die Places API oder die Places Library in der Maps JavaScript API verwendet wird. Verwenden Sie dann die zurückgegebene Orts-ID, um Place Details 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 weiter unten in diesem Dokument.
Beispiel für die Verwendung des 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.
- Mindestens ein
GMSPlaceField, mit dem die zurückzugebenden Datentypen festgelegt werden. - Ein Sitzungstoken, wenn der Aufruf erfolgt, um eine Autocomplete-Anfrage abzuschließen. Andernfalls übergeben Sie „nil“.
- Eine
GMSPlaceResultCallbackzur Verarbeitung 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. Sie können Orts-IDs kostenlos aktualisieren, indem Sie eine Place Details-Anfrage stellen und dabei 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 Sie die Ergebnisse im Fall einer veralteten Orts-ID aktualisieren möchten, speichern Sie die ursprüngliche Anfrage, für die die einzelnen Orts-IDs zurückgegeben wurden, und senden Sie die Anfrage bei Bedarf noch einmal. 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. Zu diesen Orts-ID-Typen 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