Ortsdetails (neu)

Plattform auswählen: Android iOS JavaScript Webdienst

Das Places SDK for iOS (New) stellt umfangreiche Informationen für Ihre App bereit zu Orten, einschließlich Name und Adresse des Orts, der geografischen Standort (Breiten-/Längengradkoordinaten), die Art des Ortes (z. B. wie Nachtclub, Tierhandlung, Museum) usw. Um auf diese Informationen für einen bestimmten Ort gefunden haben, können Sie die Orts-ID verwenden. Dies ist eine stabile Kennung, die einen Ort identifiziert.

Ortsdetails abrufen

Die GMSPlace -Klasse enthält Informationen zu einem bestimmten Ort, einschließlich aller Datenfelder, die in Felder für „Place Data“ (Neu). Erhalte GMSPlace durch Aufrufen von GMSPlacesClient fetchPlaceWithRequest:, Übergeben eines GMSFetchPlaceRequest-Objekts und eines Callback-Methode des Typs GMSPlaceResultCallback

Das Objekt GMSFetchPlaceRequest gibt Folgendes an:

  • (Erforderlich) Die Orts-ID, eine eindeutige Kennung für einen Ort im Google Places-Konto Datenbank und in Google Maps.
  • (Erforderlich) Die Liste der Felder, die im GMSPlace-Objekt zurückgegeben werden sollen, auch als Feldmaske, definiert durch GMSPlaceProperty Wenn Sie nicht mindestens ein Feld in der Feldliste angeben oder der Feldliste hinzu, gibt der Aufruf einen Fehler zurück.
  • (Optional) Der Regionscode, der zum Formatieren der Antwort verwendet wurde.
  • Optional: Das Sitzungstoken, mit dem eine Autocomplete-Sitzung (Neu) beendet wird.

„Place Details“-Anfrage stellen

In diesem Beispiel wird ein Ort anhand der ID abgerufen, wobei die folgenden Parameter übergeben werden:

  • Die Orts-ID von ChIJV4k8_9UodTERU5KXbkYpSYs.
  • Eine Feldliste, mit der angegeben wird, dass der Ortsname und die Website-URL zurückgegeben werden sollen.
  • GMSPlaceResultCallback um das Ergebnis zu verarbeiten.

Die API ruft die angegebene Callback-Methode auf und übergibt dabei eine GMSPlace -Objekt enthält. 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 myProperties = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue}

// Create the GMSFetchPlaceRequest object.
let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: myProperties, sessionToken: nil)

client.fetchPlace(with: fetchPlaceRequest, callback: {
  (place: GMSPlace?, error: Error?) in
  guard let place, error == nil else { return }
  print("Place found: \(String(describing: place.name))")
})

Objective-C

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

// Specify the place data types to return.
NSArray<NSString *> *myProperties = @[GMSPlacePropertyName, GMSPlacePropertyWebsite];

// Create the GMSFetchPlaceRequest object.
GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: myProperties sessionToken:nil];

[placesClient fetchPlaceWithRequest: fetchPlaceRequest callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) {
    if (error != nil) {
      NSLog(@"An error occurred %@", [error localizedDescription]);
      return;
    } else {
    NSLog(@"Place Found: %@", place.name);
    NSLog(@"The place URL: %@", place.website);
  }
}];

Places Swift SDK for iOS (Vorabversion)

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"
let fetchPlaceRequest = FetchPlaceRequest(
  placeID: placeID,
  placeProperties: [.name, .website]
)
switch await placesClient.fetchPlace(with: fetchPlaceRequest) {
case .success(let place):
  // Handle place
case .failure(let placesError):
  // Handle error
}

„Place Details“-Antwort

„Place Details“ gibt eine GMSPlace-Objekt mit Details zum Ort Im GMSPlace-Objekt werden nur die in der Feldliste angegebenen Felder ausgefüllt.

Geöffnet-Status abrufen

Das GMSPlacesClient-Objekt enthält eine Mitgliederfunktion namens isOpenWithRequest (isOpenRequest in Swift und isPlaceOpenRequest in GooglePlacesSwift), die eine Antwort zurückgibt, die basierend auf der im Aufruf angegebenen Zeit angibt, ob der Ort derzeit geöffnet ist.

Diese Methode verwendet ein einzelnes Argument vom Typ GMSPlaceIsOpenWithRequest, das Folgendes enthält:

  • Ein GMSPlace-Objekt oder ein String, der eine Orts-ID angibt. Weitere Informationen zum Erstellen des „Place“-Objekts mit den erforderlichen Feldern finden Sie unter Place Details.
  • Ein optionales NSDate-Objekt (Obj-C) oder Date-Objekt (Swift), das die Uhrzeit angibt, die Sie prüfen möchten. Wenn keine Uhrzeit angegeben ist, wird die Standardeinstellung „jetzt“ verwendet.
  • Eine GMSPlaceOpenStatusResponseCallback-Methode zum Verarbeiten der Antwort.
  • &gt;

Für die Methode GMSPlaceIsOpenWithRequest müssen die folgenden Felder im Objekt GMSPlace festgelegt werden:

  • GMSPlacePropertyUTCOffsetMinutes
  • GMSPlacePropertyBusinessStatus
  • GMSPlacePropertyOpeningHours
  • GMSPlacePropertyCurrentOpeningHours
  • GMSPlacePropertySecondaryOpeningHours

Wenn diese Felder nicht im „Place“-Objekt vorhanden sind oder Sie eine Orts-ID übergeben, werden sie mithilfe der Methode GMSPlacesClient GMSFetchPlaceRequest: abgerufen.

isOpenWithRequest Antwort

isOpenWithRequest gibt ein GMSPlaceIsOpenResponse-Objekt mit einem booleschen Wert mit dem Namen status zurück. Dieser gibt an, ob das Unternehmen geöffnet oder geschlossen ist oder ob der Status unbekannt ist.

Sprache Wert, falls offen Wert bei Schließung Wert, falls Status unbekannt
Swift .open .closed .unknown
Objective-C GMSPlaceOpenStatusOpen GMSPlaceOpenStatusClosed GMSPlaceOpenStatusUnknown
GooglePlacesSwift (Vorabversion) true false nil

Abrechnung für isOpenWithRequest

  • Die Felder GMSPlacePropertyUTCOffsetMinutes und GMSPlacePropertyBusinessStatus werden unter der SKU „Basic Data“ abgerechnet. Der Rest der Öffnungszeiten wird unter der SKU Place Details (Advanced) berechnet.
  • Wenn das GMSPlace-Objekt diese Felder bereits aus einer früheren Anfrage enthält, werden Ihnen keine weiteren Kosten in Rechnung gestellt.

Beispiel: GMSPlaceIsOpenWithRequest-Anfrage stellen

Das folgende Beispiel zeigt, wie ein GMSPlaceIsOpenWithRequest in einem vorhandenen GMSPlace-Objekt initialisiert wird.

Swift

    let isOpenRequest = GMSPlaceIsOpenRequest(place: place, date: nil)
      GMSPlacesClient.shared().isOpen(with: isOpenRequest) { response, error in
        if let error = error {
          // Handle Error
        }
        switch response.status {
          case .open:
            // Handle open
          case .closed:
            // Handle closed
          case .unknown:
            // Handle unknown
        }
      }
        

Objective-C

          GMSPlaceIsOpenRequest *isOpenRequest = [[GMSPlaceIsOpenRequest alloc] initWithPlace:place date:nil];
  
          [[GMSPlacesClient sharedClient] isOpenWithRequest:isOpenRequest callback:^(GMSPlaceIsOpenResponse response, NSError *_Nullable error) {
            if (error) {
              // Handle error
            }
  
            switch (response.status) {
              case GMSPlaceOpenStatusOpen:
                // Handle open
              case GMSPlaceOpenStatusClosed:
                // Handle closed
              case GMSPlaceOpenStatusUnknown:
                // Handle unknown
            }
          }];
          

GooglePlacesSwift

          let isOpenRequest = IsPlaceOpenRequest(place: place)
          switch await placesClient.isPlaceOpen(with: isOpenRequest) {
            case .success(let isOpenResponse):
              switch isOpenResponse.status {
                case true:
                  // Handle open
                case false:
                  // Handle closed
                case nil:
                  // Handle unknown
            case .failure(let placesError):
              // Handle error
          }
          

Erforderliche Parameter

Verwenden Sie das Objekt GMSFetchPlaceRequest, um die erforderlichen Parameter anzugeben.

Orts-ID

Die im Places SDK for iOS verwendete Orts-ID ist die dieselbe Kennung wie in der Places API, Places SDK for Android und andere Google-APIs. Jede Orts-ID kann sich nur auf einen Ort beziehen, aber ein Ort kann mehrere als eine Orts-ID.

Es gibt Umstände, die dazu führen können, dass ein Ort eine neue Orts-ID erhält. Zum Beispiel kann dies der Fall sein, wenn ein Unternehmen seinen Sitz verlagert.

Wenn Sie eine Orts-ID angeben, um einen Ort anzufordern, erhalten Sie in der Antwort immer dieselbe Stelle (wenn der Ort noch existiert). Beachten Sie jedoch, dass die Antwort eine Orts-ID enthalten kann, die die sich von der in Ihrer Anfrage unterscheiden.

Liste der Felder

Wenn Sie Ortsdetails anfordern, müssen Sie die Daten angeben, im GMSPlace-Objekt für den Ort als Feldmaske zurückgeben. So definieren Sie die Feldmaske ein Array von Werten aus GMSPlaceProperty an das GMSFetchPlaceRequest-Objekt an. Die Maskierung von Feldern ist eine bewährte Methode, um sicherzustellen, dass keine unnötigen Daten angefordert werden, trägt dazu bei, unnötige Verarbeitungszeiten und Gebühren zu vermeiden.

Geben Sie eines oder mehrere der folgenden Felder an:

  • Die folgenden Felder lösen die SKU Place Details (IDs Only) aus:

    GMSPlacePropertyPlaceID, GMSPlacePropertyName, GMSPlacePropertyPhotos

  • Die folgenden Felder lösen die SKU „Place Details (Location Only)“ aus:

    GMSPlacePropertyAddressComponents, GMSPlacePropertyFormattedAddress, GMSPlacePropertyCoordinate, GMSPlacePropertyPlusCode, GMSPlacePropertyTypes, GMSPlacePropertyViewport

  • Die folgenden Felder lösen die SKU Place Details (Basic) aus:

    GMSPlacePropertyBusinessStatus, GMSPlacePropertyIconBackgroundColor, GMSPlacePropertyIconImageURL, GMSPlacePropertyUTCOffsetMinutes, GMSPlacePropertyWheelchairAccessibleEntrance

  • Die folgenden Felder lösen die SKU Place Details (Advanced) aus:

    GMSPlacePropertyCurrentOpeningHours, GMSPlacePropertySecondaryOpeningHours, GMSPlacePropertyPhoneNumber, GMSPlacePropertyPriceLevel, GMSPlacePropertyRating, GMSPlacePropertyOpeningHours, GMSPlacePropertyUserRatingsTotal, GMSPlacePropertyWebsite

  • Die folgenden Felder lösen die SKU Place Details (Preferred) aus:

    GMSPlacePropertyCurbsidePickup, GMSPlacePropertyDelivery, GMSPlacePropertyDineIn, GMSPlacePropertyEditorialSummary, GMSPlacePropertyReservable, GMSPlacePropertyReviews, GMSPlacePropertyServesBeer, GMSPlacePropertyServesBreakfast, GMSPlacePropertyServesBrunch, GMSPlacePropertyServesDinner, GMSPlacePropertyServesLunch, GMSPlacePropertyServesVegetarianFood, GMSPlacePropertyServesWine, GMSPlacePropertyTakeout

Im folgenden Beispiel wird eine Liste von zwei Feldwerte , um anzugeben, dass das von einer Anfrage zurückgegebene GMSPlace-Objekt den Parameter name und placeID:

Swift

// Specify the place data types to return.
let fields: [GMSPlaceProperty] = [.placeID, .name]
  

Objective-C

// Specify the place data types to return.
NSArray<GMSPlaceProperty *> *fields = @[GMSPlacePropertyPlaceID, GMSPlacePropertyName];
  

Places Swift SDK for iOS (Vorabversion)

// Specify the place data types to return.
let fields: [PlaceProperty] = [.placeID, .displayName]
    

Optionale Parameter

Verwenden Sie das Objekt GMSFetchPlaceRequest, um die optionalen Parameter anzugeben.

regionCode

Der Regionscode, der zum Formatieren der Antwort verwendet wird, angegeben als zweistelligen CLDR-Code eingeben. Dieser Parameter kann auch eine Verzerrung in den Suchergebnissen. Es gibt keinen Standardwert.

Wenn der Ländername des Adressfelds in der Antwort mit der Regionalcode wird der Ländercode bei der Adresse weggelassen.

Die meisten CLDR-Codes entsprechen den ISO 3166-1-Codes, mit einigen nennenswerten Ausnahmen. Die ccTLD des Vereinigten Königreichs lautet beispielsweise „uk“ (.co.uk), während der ISO 3166-1-Code „gb“ lautet (technisch für die Rechtspersönlichkeit des Vereinigten Königreichs Großbritannien und Nordirland“). Der Parameter kann sich gemäß geltendem Recht auf Ergebnisse auswirken.

sessionToken

Sitzungstokens sind vom Nutzer erstellte Strings, die die automatische Vervollständigung erfassen (Neu) Aufrufe als „Sitzungen“. Bei Autocomplete (New) werden Sitzungstokens verwendet, um Die Phasen „Abfrage“ und „Ortsauswahl“ einer Suche mit automatischer Vervollständigung durch Nutzer in einer separaten Sitzung gruppieren zu Abrechnungszwecken. Sitzungstokens werden an „Place Details (New)“ übergeben Aufrufe, die auf „Autocomplete“-Aufrufe („Neu“) folgen. Weitere Informationen finden Sie unter Sitzungstokens

Zuordnungen in der App anzeigen

Wenn Ihre App Informationen anzeigt, die von GMSPlacesClient, wie Fotos und Rezensionen, muss die App auch die erforderlichen Quellenangaben enthalten.

Beispielsweise kann die Eigenschaft reviews des Objekts GMSPlacesClient enthält ein Array mit bis zu fünf GMSPlaceReview Objekte. Jedes GMSPlaceReview-Objekt kann Attributionen und Autorenangaben enthalten. Wenn Sie die Rezension in Ihrer App präsentieren, müssen auch Namensnennungen und Autoren angezeigt werden. Namensnennung.

Weitere Informationen finden Sie in der Dokumentation zu Quellenangaben.