Places SDK for iOS supporta la funzionalità Foto del luogo esistente. Se conosci la funzionalità Foto dei luoghi esistente, la nuova versione di Foto dei luoghi apporta le seguenti modifiche:
Utilizza un nuovo modello di prezzi. Per informazioni sui prezzi di tutte le API, consulta Prezzi di Places SDK for iOS (nuovo).
La foto del luogo esistente supportava una dimensione massima di 1600 x 1600 pixel. La funzionalità Inserisci foto (nuova) supporta dimensioni fino a 4800 x 4800 pixel.
Per effettuare una richiesta, chiama il nuovo metodo
GMSPlacesClient fetchPhotoWithRequest:callback:
.Passa alla richiesta:
Un'istanza della nuova
GMSFetchPhotoRequest
classe che definisce tutti i parametri di richiesta, incluse le dimensioni massime delle immagini.Un callback di tipo
GMSPlacePhotoMetadataResultCallback
per gestire la risposta.
Ogni foto è rappresentata da un'istanza
GMSPlacePhotoMetadata
. Per Places SDK for iOS (nuovo), l'istanzaGMSPlacePhotoMetadata
contiene un nuovo campoauthorAttribution
rappresentato dalla nuova classeGMSPlaceAuthorAttribution
.Se l'istanza
GMSPlacePhotoMetadata
restituita includeattributions
oauthorAttribution
, devi includere queste attribuzioni nella tua applicazione ovunque mostri l'immagine. Consulta la documentazione sulle attribuzione.
Richiesta di esempio
Il seguente metodo di esempio prende un ID luogo e recupera la prima foto nell'elenco restituito. Puoi utilizzare questo metodo come modello per il metodo che creerai nella tua app.
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 } }]; }];