Le SDK Places pour iOS est compatible avec Place Details (ancienne version). Si vous connaissez le SDK Places pour iOS (ancienne version), Place Details (nouvelle version) apporte les modifications suivantes :
Utilise un nouveau modèle de tarification. Pour obtenir des informations sur la tarification de toutes les API, consultez Tarification du SDK Places pour iOS (nouvelle version).
Le masquage de champ est obligatoire. Vous devez spécifier les champs que vous souhaitez renvoyer dans la réponse. Il n'existe pas de liste par défaut de champs renvoyés. Si vous omettez cette liste, les méthodes renvoient une erreur.
Pour effectuer une requête, appelez la nouvelle
GMSPlacesClient fetchPlaceWithRequest:méthode.Transmettez les éléments suivants à la requête :
Une instance de la nouvelle
GMSFetchPlaceRequestclasse qui définit tous les paramètres de requête, tels que l'ID de lieu et jeton de session.Un rappel de type
GMSPlaceResultCallbackpour gérer la réponse.
La réponse contient une
GMSPlaceinstance contenant des informations sur le lieu. Les valeurs de latypespropriété de l'GMSPlaceinstance sont désormais définies par le Tableau A et le Tableau B.L'instance de réponse
GMSPlacecontient la nouvelle propriétéreviewsde typeGMSPlaceReview. Lorsque votre application affiche des informations obtenues à partir de l'instanceGMSPlace, telles que des photos et des avis, elle doit également afficher les attributions requises.Pour en savoir plus, consultez la documentation sur les attributions.
L'instance de réponse
GMSPlacecontient les fonctions membres suivantes :isOpencalcule si un lieu est ouvert à un moment donné.isOpenAtDatecalcule si un lieu est ouvert à une date donnée.
Ces fonctions ne sont disponibles que lorsque vous activez le SDK Places pour iOS. Elles ne sont pas disponibles lorsque vous activez le SDK Places pour iOS (nouvelle version). Pour en savoir plus, consultez Choisir votre version du SDK.
Exemple de requête
Avec Place Details (nouvelle version), vous effectuez une requête et transmettez tous les paramètres dans l'instance GMSFetchPlaceRequest. Cet exemple utilise également un masque de champ afin que la réponse n'inclue que le nom à afficher et l'URL du site Web du lieu :
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); } }];