Place Details

Plattform auswählen: Android iOS JavaScript Webdienst

Das Places SDK for iOS bietet Ihrer App umfassende Informationen zu Orten, z. B. den Namen und die Adresse des Orts, die als Breitengrad/Längengrad-Koordinaten angegebenen geografischen Orte und die Art des Ortes (z. B. Nachtclub, Tierhandlung, Museum). Wenn Sie auf diese Informationen für einen bestimmten Ort zugreifen möchten, können Sie die Orts-ID verwenden. Dabei handelt es sich um eine stabile ID, die einen Ort eindeutig identifiziert.

Ortsdetails

Die Klasse GMSPlace enthält Informationen zu einem bestimmten Ort. Sie können ein GMSPlace-Objekt so abrufen:

Wenn Sie einen Ort anfordern, müssen Sie angeben, welche Arten von Ortsdaten zurückgegeben werden sollen. Übergeben Sie dazu einen GMSPlaceField und geben Sie die zurückzugebenden Datentypen an. Dies ist ein wichtiger Aspekt, da sich das auf die Kosten für jede Anfrage auswirkt.

Da die Ergebnisse für „Place“-Daten nicht leer sein dürfen, werden nur Ortsergebnisse mit Daten zurückgegeben. Wenn für einen angeforderten Ort beispielsweise keine Fotos vorliegen, ist das Feld photos nicht im Ergebnis enthalten.

Im folgenden Beispiel wird eine Liste von zwei Feldwerten übergeben, um die von einer Anfrage zurückgegebenen Daten anzugeben:

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))!
  

Objective-C

      // A hotel in Saigon with an attribution.
      NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

      // Specify the place data types to return.
      GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);
  

Sehen Sie sich weitere Informationen zu Feldern mit Ortsdaten an. Weitere Informationen zur Abrechnung von Anfragen für Ortsdaten finden Sie unter Nutzung und Abrechnung.

Die Klasse GMSPlace kann die folgenden Ortsdaten enthalten:

  • name: Der Name des Orts
  • placeID: Der Text in ID für den Ort. Weitere Informationen zu Orts-IDs finden Sie weiter unten auf dieser Seite.
  • coordinate: Der geografische Standort des Ortes, angegeben in Breiten- und Längengraden.
  • phoneNumber: Die Telefonnummer des Orts im internationalen Format.
  • formattedAddress: Die für Menschen lesbare Adresse dieses Standorts.

    Diese Adresse stimmt häufig mit der Postanschrift überein. In einigen Ländern, z. B. dem Vereinigten Königreich, ist die Weitergabe echter Postanschriften aufgrund von Lizenzeinschränkungen nicht zulässig.

    Die formatierte Adresse besteht aus einer oder mehreren Adresskomponenten. Die Adresse „111 8th Avenue, New York, NY“ besteht z. B. aus den folgenden Komponenten: „111“ (Hausnummer), „8th Avenue“ (Straße), „New York“ (Stadt) und „NY“ (US-Bundesstaat).

    Wir raten davon ab, die formatierte Adresse programmatisch zu parsen. Verwenden Sie stattdessen die einzelnen Adresskomponenten, die zusätzlich zur formatierten Adresse in der API-Antwort enthalten sind.

  • openingHours: Die Öffnungszeiten für den Ort (wie in GMSOpeningHours angegeben). Rufe GMSOpeningHours.weekdayText auf, um eine Liste der lokalisierten Strings der täglichen Öffnungszeiten für die Woche zu erhalten. Rufen Sie GMSOpeningHours.Periods auf, um eine Liste von GMSPeriods mit detaillierteren Informationen zurückzugeben, die den von weekdayText bereitgestellten Daten entsprechen. Hinweis: Wenn ein Ort immer geöffnet ist, wird der Zeitraum als Sonntag um Mitternacht angegeben und closeEvent ist null.
  • addressComponents: ein Array von GMSAddressComponent-Objekten, die Komponenten der Adresse für einen Ort darstellen Diese Komponenten werden zur Verfügung gestellt, um strukturierte Informationen über die Adresse eines Ortes zu extrahieren, z. B. die Stadt, in der sich ein Ort befindet. Verwende diese Komponenten nicht für die Adressformatierung, sondern verwende die Property formattedAddress, die eine lokalisierte formatierte Adresse bietet.

    Hinweise zum addressComponents-Array:

    • Das Array der Adresskomponenten kann mehr Komponenten als formattedAddress enthalten.
    • Das Array enthält nicht unbedingt alle politischen Einheiten, die eine Adresse enthalten, mit Ausnahme der in formattedAddress enthaltenen Entitäten.
    • Es wird nicht garantiert, dass das Format zwischen den Anfragen gleich bleibt. Insbesondere die Anzahl der addressComponents variiert je nach angeforderter Adresse und kann sich im Laufe der Zeit für dieselbe Adresse ändern. Die Position einer Komponente im Array ändert sich unter Umständen. Auch der Typ der Komponente kann sich ändern. Eine bestimmte Komponente fehlt möglicherweise in einer späteren Antwort.
  • userRatingsTotal: Gibt an, wie viele Rezensionen die Bewertung des Orts darstellen.

Die Klasse GMSPlace enthält die folgenden Mitgliederfunktionen:

  • isOpen berechnet anhand von openingHours und UTCOffsetMinutes und dem aktuellen Datum und der Uhrzeit, ob ein Ort zum angegebenen Zeitpunkt geöffnet ist.
  • isOpenAtDate berechnet anhand von openingHours und UTCOffsetMinutes sowie dem aktuellen Datum und der Uhrzeit, ob ein Ort an einem bestimmten Datum geöffnet ist.
  • Wenn Sie mit diesen Funktionen Öffnungszeiten und/oder Datumsangaben abrufen, müssen in der ursprünglichen fetchPlaceFromPlaceID:- oder findPlaceLikelihoodsFromUserLocationWithPlaceFields:-Anfrage sowohl GMSPlaceFieldOpeningHours als auch GMSPlaceFieldUTCOffsetMinutes-Felder angegeben werden. Wenn eines dieser Felder fehlt, enthält das resultierende GMSPlace-Objekt keine Öffnungszeiten oder Datumsangaben und der Aufruf gibt GMSPlaceOpenStatusUnknown zurück. Damit die Ergebnisse richtig sind, müssen Sie die Felder GMSPlaceFieldBusinessStatus und GMSPlaceFieldUTCOffsetMinutes in Ihrer ursprünglichen Ortsanforderung anfordern. Wenn sie nicht angefordert wird, wird davon ausgegangen, dass das Unternehmen betriebsbereit ist.

    In diesem Video erfahren Sie, wie Sie isOpen mit Place Details-Anfragen verwenden.

Ort nach ID anfordern

Die Orts-ID ist eine ID in Textform, über die ein Ort eindeutig identifiziert wird. 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 das Objekt GMSPlace später noch einmal abrufen.

Um einen Ort über die ID abzurufen, rufen Sie GMSPlacesClient fetchPlaceFromPlaceID: auf und übergeben dabei die folgenden Parameter:

  • Ein String mit einer Orts-ID.
  • Ein oder mehrere GMSPlaceFields, die die zurückzugebenden Datentypen angeben.
  • Ein Sitzungstoken, wenn der Aufruf zum Abschluss einer Autocomplete-Abfrage erfolgt. Andernfalls übergeben Sie nil.
  • Ein GMSPlaceResultCallback, um das Ergebnis zu verarbeiten.

Die API ruft die angegebene Callback-Methode auf und übergibt ihr ein GMSPlace-Objekt. Wird der Ort nicht gefunden, hat das Objekt „place“ den Wert null.

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]);
  }
}];

Zuordnungen in der App anzeigen

Wenn deine App Informationen aus GMSPlacesClient lookUpPlaceID:callback: anzeigt, muss sie auch Quellenangaben enthalten. Weitere Informationen finden Sie in der Dokumentation zu Attributionen.

Weitere Informationen zu Orts-IDs

Die im Places SDK for iOS verwendete Orts-ID hat dieselbe Kennung, die in der Places API, dem Places SDK for Android und anderen Google APIs verwendet wird.

Jede Orts-ID kann sich nur auf einen Ort beziehen, ein Ort kann jedoch mehrere Orts-IDs haben.

Unter bestimmten Umständen erhält ein Ort eine neue Orts-ID. Zum Beispiel kann dies der Fall sein, wenn ein Unternehmen seinen Sitz verlagert.

Wenn Sie eine Orts-ID anfordern, können Sie sicher sein, dass Sie immer denselben Ort in der Antwort erhalten, sofern der Ort noch vorhanden ist. Die Antwort kann jedoch eine Orts-ID enthalten, die von der in Ihrer Anfrage abweicht.

Weitere Informationen finden Sie in der Übersicht zur Orts-ID.