Le SDK Places pour iOS est compatible avec Place Photo. Si vous connaissez la photo de lieu existante, nouvelle version de Place Photo apporte les modifications suivantes:
Utilise un nouveau modèle de tarification. Pour obtenir des informations sur les tarifs de toutes les API, consultez Tarifs du SDK Places pour iOS (nouveau)
Vous ne pouvez pas ajouter plus de photos à la photo de lieu existante. de 1 600 x 1 600 pixels. Place Photo (Nouveau) prend en charge des tailles jusqu'à 4800 x 4800 pixels.
Pour envoyer une requête, appelez la nouvelle méthode
GMSPlacesClient fetchPhotoWithRequest:callback:
.Transmettez à la requête:
Une instance de la nouvelle classe
GMSFetchPhotoRequest
qui définit tous les paramètres de requête, y compris la taille maximale de l'image.Rappel de type
GMSPlacePhotoMetadataResultCallback
pour gérer la réponse.
Chaque photo est représentée
GMSPlacePhotoMetadata
Compute Engine. Pour le SDK Places pour iOS (nouveau),GMSPlacePhotoMetadata
contient un nouveauauthorAttribution
représenté par le nouveau champ GMSPlaceAuthorAttribution .Si l'instance
GMSPlacePhotoMetadata
renvoyée inclutattributions
ouauthorAttribution
, vous devez inclure ces mentions dans votre chaque fois que vous affichez l'image. Consultez la documentation sur attributions.
Exemple de requête
L'exemple de méthode suivant utilise un identifiant de lieu et obtient la première photo du a renvoyé la liste. Vous pouvez utiliser cette méthode comme modèle pour la méthode que 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 } }]; }];