Le SDK Places pour iOS est compatible avec la photo de lieu existante. Si vous connaissez déjà la photo de lieu existante, la nouvelle version de la photo de lieu 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).
La fonctionnalité Place Photo existante acceptait une taille maximale de photo de 1 600 x 1 600 pixels. La fonctionnalité Placer une photo (nouvelle) accepte des tailles maximales de 4 800 x 4 800 pixels.
Pour envoyer une requête, appelez la nouvelle méthode
GMSPlacesClient fetchPhotoWithRequest:callback:
.Transmettez à la requête:
Instance de la nouvelle classe
GMSFetchPhotoRequest
qui définit tous les paramètres de requête, y compris la taille d'image maximale.Un rappel de type
GMSPlacePhotoMetadataResultCallback
pour gérer la réponse.
Chaque photo est représentée par une instance
GMSPlacePhotoMetadata
. Pour le SDK Places pour iOS (nouveau), l'instanceGMSPlacePhotoMetadata
contient un nouveau champauthorAttribution
représenté par la nouvelle classeGMSPlaceAuthorAttribution
.Si l'instance
GMSPlacePhotoMetadata
renvoyée inclutattributions
ouauthorAttribution
, vous devez inclure ces attributions dans votre application partout où vous affichez l'image. Consultez la documentation sur les attributions.
Exemple de requête
L'exemple de méthode suivant prend un ID de lieu et obtient la première photo de la liste renvoyée. Vous pouvez utiliser cette méthode comme modèle pour la méthode que vous allez créer dans votre propre application.
Swift
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Request list of photos for a place placesClient.lookUpPhotos(forPlaceID: placeID) { (photos, error) in guard let photoMetadata: GMSPlacePhotoMetadata = photos?.results[0] else { return } // Request individual photos in the response list let fetchPhotoRequest = GMSFetchPhotoRequest(photoMetadata: photoMetadata, maxSize: CGSizeMake(4800, 4800)) self.client.fetchPhoto(with: fetchPhotoRequest, callback: { (photoImage: UIImage?, error: Error?) in guard let photoImage, error == nil else { print("Handle photo error: ") return } print("Display photo Image: ") } ) }
Objective-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; [placesClient lookUpPhotosForPlaceID:placeID callback: ^(GMSPlacePhotoMetadataList *list, NSError *error) { GMSPlacePhotoMetadata *photoMetadata = [list results][0]; // Request individual photos in the response list GMSFetchPhotoRequest *fetchPhotoRequest = [[GMSFetchPhotoRequest alloc] initWithPhotoMetadata:photoMetadata maxSize:CGSizeMake(4800, 4800)]; [placesClient fetchPhotoWithRequest:fetchPhotoRequest callback: ^(UIImage *_Nullable photoImage, NSError *_Nullable error) { if (error == nil) { // Display photo } }]; }];