Zu „Place Details“ migrieren (Neu)

Places SDK for iOS unterstützt die bestehende Place Details (Ortsdetails): Wenn Sie mit dem bestehenden Places SDK for iOS vertraut sind, neue Version von Place Details nimmt folgende Änderungen vor:

  • Verwendet ein neues Preismodell. Preisinformationen für alle APIs finden Sie unter Preise für das Places SDK for iOS (neu)

  • Die Maskierung von Feldern ist erforderlich. Sie müssen angeben, welche Felder zurückgegeben werden sollen in der Antwort angeben. Es gibt keine Standardliste der zurückgegebenen Felder. Wenn Sie diese Liste enthält, geben die Methoden einen Fehler zurück.

  • Rufen Sie für eine Anfrage die neue GMSPlacesClient fetchPlaceWithRequest: .

  • Übergeben Sie die Anfrage an die Anfrage:

  • Die Antwort enthält ein GMSPlace -Instanz mit Details zum Ort. Die Werte in types der Instanz GMSPlace sind nun definiert durch Tabelle A und Tabelle B.

  • Die Antwortinstanz GMSPlace enthält das neue reviews. Property vom Typ GMSPlaceReview. Wenn deine App Informationen anzeigt, die von der GMSPlace abgerufen wurden wie Fotos und Rezensionen, muss die App auch die erforderlichen Quellenangaben.

    Weitere Informationen finden Sie in der Dokumentation zu Quellenangaben.

  • Die Antwortinstanz GMSPlace enthält die folgenden Mitgliederfunktionen:

    • isOpen berechnet, ob ein Ort zur angegebenen Zeit geöffnet ist.

    • isOpenAtDate berechnet, ob ein Ort an einem bestimmten Datum geöffnet ist.

    Diese Funktionen sind nur verfügbar, wenn Sie Places SDK for iOS Sie sind nicht verfügbar, wenn Sie Aktivieren Sie Places SDK for iOS (New). Weitere Informationen Weitere Informationen finden Sie unter SDK-Version auswählen.

Beispielanfrage

Mit „Place Details (New)“ stellen Sie eine Anfrage und alle Parameter in der Instanz GMSFetchPlaceRequest übergeben. Dieses In diesem Beispiel wird auch eine Feldmaske verwendet, sodass die Antwort nur den Anzeigenamen enthält. und Website-URL für den Ort:

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue}

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

client.fetchPlaceWithRequest(fetchPlaceRequest: 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 *> *fields = @[GMSPlacePropertyName, GMSPlacePropertyWebsite];

// Create the GMSFetchPlaceRequest instance.
GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: fields 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);
  }
}];