Przenieś do Szczegółów miejsca (nowość)

Pakiet SDK Miejsc na iOS obsługuje istniejące Szczegóły miejsca. Jeśli znasz istniejący pakiet SDK Miejsc na iOS, nowa wersja Szczegółów miejsc wprowadza następujące zmiany:

  • Używa nowego modelu cenowego. Informacje o cenach wszystkich interfejsów API znajdziesz w materiałach na temat Ceny pakietu SDK Places na iOS (nowość).

  • Maskowanie pól jest wymagane. Musisz określić, które pola mają być zwracane w odpowiedzi. Nie ma domyślnej listy zwróconych pól. Jeśli pominiesz ale metody zwrócą błąd.

  • Aby wysłać prośbę, wywołaj nowy GMSPlacesClient fetchPlaceWithRequest: .

  • Przejdź do żądania:

  • Odpowiedź zawiera element GMSPlace w instancji zawierające szczegółowe informacje o danym miejscu. Wartości w tabeli types właściwość instancji GMSPlace jest teraz zdefiniowana przez Tabela A i Tabela B.

  • Instancja odpowiedzi GMSPlace zawiera nowe pole reviews właściwość typu GMSPlaceReview. Gdy aplikacja wyświetla informacje uzyskane z GMSPlace takich jak zdjęcia i opinie, aplikacja musi również wyświetlać atrybucje.

    Więcej informacji znajdziesz w dokumentacji na temat atrybucje.

  • Instancja odpowiedzi GMSPlace zawiera te funkcje składowe:

    • isOpen określa, czy dane miejsce jest w danym momencie otwarte.

    • isOpenAtDate określa, czy dane miejsce jest otwarte w danym dniu.

    Te funkcje są dostępne tylko wtedy, gdy włączysz Pakiet SDK Miejsc na iOS Nie są one dostępne, jeśli włącz Places SDK na iOS (nowość). Aby dowiedzieć się więcej, Więcej informacji znajdziesz w artykule Wybieranie wersji pakietu SDK.

Przykładowe żądanie

W przypadku opcji Szczegóły miejsca (Nowe) możesz przekazują wszystkie parametry w instancji GMSFetchPlaceRequest. Ten w przykładzie użyto też maski pola, więc odpowiedź zawiera tylko wyświetlaną nazwę i adres URL witryny tego miejsca:

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