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:
Wystąpienie nowego
GMSFetchPlaceRequest
, która określa wszystkie parametry żądania, takie jak identyfikator miejsca token sesji.Wywołanie zwrotne typu
GMSPlaceResultCallback
przetwarza odpowiedź.
Odpowiedź zawiera element
GMSPlace
w instancji zawierające szczegółowe informacje o danym miejscu. Wartości w tabelitypes
właściwość instancjiGMSPlace
jest teraz zdefiniowana przez Tabela A i Tabela B.Instancja odpowiedzi
GMSPlace
zawiera nowe polereviews
właściwość typuGMSPlaceReview
. Gdy aplikacja wyświetla informacje uzyskane zGMSPlace
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); } }];