Le SDK Places pour iOS est compatible avec les informations sur le lieu existantes. Si vous connaissez le SDK Places existant pour iOS, la nouvelle version de Place Details apporte les modifications suivantes:
Utilise un nouveau modèle de tarification. Pour en savoir plus sur les tarifs de toutes les API, consultez la page Tarifs du SDK Places pour iOS (nouveau).
Le masquage de champ est obligatoire. Vous devez spécifier les champs à renvoyer dans la réponse. Il n'existe pas de liste par défaut des champs renvoyés. Si vous omettez cette liste, les méthodes renvoient une erreur.
Pour envoyer une requête, appelez la nouvelle méthode
GMSPlacesClient fetchPlaceWithRequest:
.Transmettez à la requête:
Instance de la nouvelle classe
GMSFetchPlaceRequest
qui définit tous les paramètres de requête, tels que l'ID de lieu et le jeton de session.Un rappel de type
GMSPlaceResultCallback
pour gérer la réponse.
La réponse contient une instance
GMSPlace
contenant des informations sur le lieu. Les valeurs de la propriététypes
de l'instanceGMSPlace
sont désormais définies par les tableaux A et B.L'instance
GMSPlace
de la réponse contient la nouvelle propriétéreviews
de 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
GMSPlace
de la réponse contient les fonctions membres suivantes:isOpen
détermine si un établissement est ouvert à un moment donné.isOpenAtDate
détermine si un établissement 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 (nouveau). Pour en savoir plus, consultez Choisir votre version de SDK.
Exemple de requête
Avec Place Details (New), 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 de l'établissement:
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); } }];