Migrer vers Place Photo (nouveau)

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:

  • Chaque photo est représentée par une instance GMSPlacePhotoMetadata. Pour le SDK Places pour iOS (nouveau), l'instance GMSPlacePhotoMetadata contient un nouveau champ authorAttribution représenté par la nouvelle classe GMSPlaceAuthorAttribution.

    Si l'instance GMSPlacePhotoMetadata renvoyée inclut attributions ou authorAttribution, 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
    }
  }];
}];