Places SDK per iOS supporta lo stato Place Details (Dettagli sul luogo). Se hai dimestichezza con l'SDK Places per iOS esistente, il Nuova versione di Place Details apporta le seguenti modifiche:
Utilizza un nuovo modello di determinazione del prezzo. Per informazioni sui prezzi di tutte le API, vedi Prezzi per Places SDK per iOS (nuovi).
Il mascheramento dei campi è obbligatorio. Devi specificare quali campi devono essere restituiti nella risposta. Non esiste un elenco predefinito dei campi restituiti. Se ometti questo elenco, i metodi restituiscono un errore.
Per effettuare una richiesta, chiama il nuovo
GMSPlacesClient fetchPlaceWithRequest:
.Passa alla richiesta:
Un'istanza del nuovo
GMSFetchPlaceRequest
che definisce tutti i parametri della richiesta, quali ID luogo e token di sessione.Un callback di tipo
GMSPlaceResultCallback
per gestire la risposta.
La risposta contiene un
GMSPlace
contenente i dettagli sul luogo. I valori intypes
dell'istanzaGMSPlace
è ora definita Tabella A e Tabella B.L'istanza della risposta
GMSPlace
contiene la nuova istanzareviews
di tipoGMSPlaceReview
. Quando la tua app mostra informazioni ottenute dalGMSPlace
Ad esempio, foto e recensioni, l'app deve mostrare anche attribuzioni.Per ulteriori informazioni, consulta la documentazione su attribuzioni.
L'istanza
GMSPlace
della risposta contiene le seguenti funzioni membro:isOpen
calcola se un luogo è aperto in un determinato momento.isOpenAtDate
calcola se un luogo è aperto in una determinata data.
Queste funzioni sono disponibili solo se attivi SDK Places per iOS. Non sono disponibili quando Attiva l'SDK Places per iOS (novità). Per ulteriori informazioni, consulta Scegliere la versione dell'SDK.
Esempio di richiesta
Con Place Details (Novità), effettui una richiesta
passare tutti i parametri nell'istanza GMSFetchPlaceRequest
. Questo
esempio utilizza anche una maschera di campo in modo che la risposta includa solo il nome visualizzato
e l'URL del sito web del luogo:
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); } }];