O SDK do Places para iOS é compatível com o Place Photo. Se você conhece o Place Photo, a nova versão faz as seguintes mudanças:
Usa um novo modelo de preços. Para informações sobre preços de todas as APIs, consulte Preços do SDK do Places para iOS (novo).
O Place Photo existente aceita um tamanho máximo de foto de 1.600 por 1.600 pixels. O Place Photo (novo) aceita tamanhos de até 4.800 por 4.800 pixels.
Para fazer uma solicitação, chame o novo método
GMSPlacesClient lookUpPhotosForPlaceID:
, transmitindo o ID de lugar como uma string.Transmita um callback do tipo
GMSPlacePhotoMetadataResultCallback
à solicitação para processar a resposta.Cada foto na resposta é representada por uma instância
GMSPlacePhotoMetadata
. No SDK do Places para iOS (novo), a instânciaGMSPlacePhotoMetadata
contém um novo campoauthorAttribution
representado pela nova classe GMSPlaceAuthorAttribution.Se a instância de
GMSPlacePhotoMetadata
retornada incluirattributions
ouauthorAttribution
, será necessário incluir essas atribuições no aplicativo sempre que exibir a imagem. Consulte a documentação sobre atribuições.
Exemplo de solicitação
O método de exemplo a seguir usa um ID de lugar e recebe a primeira foto na lista retornada. Você pode usar esse método como modelo para criar no seu 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 = photos.first else { return } // Request individual photos in the response list let fetchPhotoRequest = GMSFetchPhotoRequest(metadata: photoMetadata, maxSize: CGSizeMake(4800, 4800) placesClient.fetchPhoto(fetchPhotoRequest: fetchPhotoRequest, callback: { (photoURL: URL?, error: Error?) in guard let photoURL, error == nil else { return } print("Photo URL: \(photoURL)") }) };
Objective-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; [placesClient lookUpPhotosForPlaceID:placeID callback: (GMSPlacePhotoMetadataList *list, NSError *error) { GMSPlacePhotoMetadata *photoMetadata = [list firstObject]; if (photoMetadata == nil) { return } // Request individual photos in the response list GMSFetchPhotoRequest *fetchPhotoRequest = [[GMSFetchPhotoRequest alloc] initWithPhotoMetadata:photoMetadata maxSize:CGSizeMake(4800, 4800)]; [placesClient fetchPhoto:fetchPhotoRequest, callback: ^(NSURL *_Nullable photoURL, NSError *_Nullable error) { if (error == null) { NSLog(@"Photo URL: %@", photoURL) } }]; }];