Migracja do usługi Zdjęcia miejsca (nowość)

Pakiet SDK Miejsc na iOS (starsza wersja) obsługuje Place Photos (starsza wersja). Jeśli znasz Zdjęcia miejsc (starsza wersja), Zdjęcia miejsc (nowa wersja) wprowadza następujące zmiany:

  • Korzysta z nowego modelu cenowego. Informacje o cenach wszystkich interfejsów API znajdziesz w sekcji Korzystanie i rozliczenia.

  • Place Photos (starsza wersja) mogły mieć maksymalnie 1600 × 1600 pikseli. Place Photos (nowa) obsługuje rozmiary do 4800 x 4800 pikseli.

  • Aby wysłać prośbę, wywołaj nową metodę GMSPlacesClient fetchPhotoWithRequest:callback:.

  • Przekaż do żądania:

  • Każde zdjęcie jest reprezentowane przez instancję GMSPlacePhotoMetadata. W przypadku pakietu SDK Miejsc na iOS (nowego) GMSPlacePhotoMetadata instancja zawiera nowe pole authorAttribution reprezentowane przez nową klasę GMSPlaceAuthorAttribution.

    Jeśli zwrócona instancja GMSPlacePhotoMetadata zawiera attributions lub authorAttribution, musisz umieścić te informacje o autorze w aplikacji wszędzie tam, gdzie wyświetlasz obraz. Więcej informacji znajdziesz w dokumentacji dotyczącej atrybucji.

Przykładowe żądanie

Poniższa metoda przyjmuje identyfikator miejsca i pobiera pierwsze zdjęcie z zwróconej listy. Możesz użyć tej metody jako szablonu metody, którą utworzysz we własnej aplikacji.

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
    }
  }];
}];