Migrar para o Place Photos (novo)

O SDK do Places para iOS (legado) é compatível com Fotos de lugares (legado). Se você conhece o Place Photos (legado), o Place Photos (novo) faz as seguintes mudanças:

  • Usa um novo modelo de preços. Para informações sobre preços de todas as APIs, consulte Uso e faturamento.

  • O Google Fotos (legado) aceitava um tamanho máximo de foto de 1.600 por 1.600 pixels. O Place Photos (novo) aceita tamanhos de até 4.800 x 4.800 pixels.

  • Para fazer uma solicitação, chame o novo método GMSPlacesClient fetchPhotoWithRequest:callback:.

  • Transmita para a solicitação:

  • Cada foto é representada por uma instância GMSPlacePhotoMetadata. Para o SDK do Places para iOS (novo), a instância GMSPlacePhotoMetadata contém um novo campo authorAttribution representado pela nova classe GMSPlaceAuthorAttribution.

    Se a instância GMSPlacePhotoMetadata retornada incluir attributions ou authorAttribution, inclua essas atribuições no aplicativo sempre que você mostrar a imagem. Consulte a documentação sobre atribuições.

Exemplo de solicitação

O método de exemplo a seguir recebe um ID de lugar e extrai a primeira foto da lista retornada. Use esse método como um modelo para o método que você vai criar no seu próprio 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
    }
  }];
}];