Orts-IDs

Plattform auswählen: Android iOS JavaScript Webdienst
Entwickler im Europäischen Wirtschaftsraum (EWR)

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 GMSPlaceResultCallback zur 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