Places SDK per iOS supporta lo stato Foto del luogo. Se hai familiarità con Place Photo esistente, nuova versione di Place Photo apporta le seguenti modifiche:
Utilizza un nuovo modello di determinazione del prezzo. Per informazioni sui prezzi di tutte le API, vedi Prezzi per Places SDK per iOS (nuovi).
La foto del luogo esistente supportava un numero massimo di foto di 1600 x 1600 pixel. Foto del luogo (novità) supporta dimensioni fino a 4800 x 4800 pixel.
Per effettuare una richiesta, chiama il nuovo
GMSPlacesClient fetchPhotoWithRequest:callback:
.Passa alla richiesta:
Un'istanza del nuovo
GMSFetchPhotoRequest
che definisce tutti i parametri della richiesta, incluse le dimensioni massime delle immagini.Un callback di tipo
GMSPlacePhotoMetadataResultCallback
per gestire la risposta.
Ogni foto è rappresentata da un
GMSPlacePhotoMetadata
in esecuzione in un'istanza Compute Engine. Per Places SDK per iOS (novità), ilGMSPlacePhotoMetadata
contiene una nuovaauthorAttribution
campo rappresentato dal nuovo GMSPlaceAuthorAttribution .Se l'istanza
GMSPlacePhotoMetadata
restituita includeattributions
oauthorAttribution
, devi includere queste attribuzioni nel tuo ovunque venga visualizzata l'immagine. Consulta la documentazione su attribuzioni.
Esempio di richiesta
Il seguente metodo di esempio utilizza un ID luogo e ottiene la prima foto nel elenco restituito. Puoi usare questo metodo come modello per il metodo che utilizzerai che puoi creare 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 } }]; }];