Przenieś do zdjęcia miejsca (nowość)

Pakiet SDK Miejsc na iOS obsługuje Zdjęcie miejsca (starsza wersja). Jeśli znasz usługę Zdjęcie miejsca (starsza wersja), Z nową wersją Zdjęcia miejsca:

  • Używa nowego modelu cenowego. Informacje o cenach wszystkich interfejsów API znajdziesz w artykule Ceny pakietu Places SDK na iOS (nowy).

  • Zdjęcie w usługach Google (starsza wersja) obsługiwało maksymalny rozmiar zdjęcia 1600 x 1600 pikseli. Funkcja Umieść zdjęcie (nowa) obsługuje rozmiary do 4800 x 4800 pikseli.

  • Aby wysłać żądanie, wywołaj nową metodę GMSPlacesClient fetchPhotoWithRequest:callback:.

  • Przekazywanie żądania:

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

    Jeśli zwrócony element GMSPlacePhotoMetadata zawiera atrybut attributions lub authorAttribution, musisz uwzględnić te informacje w aplikacji w miejscach, w których wyświetlasz obraz. Zapoznaj się z dokumentacją dotyczącą przypisywania.

Przykładowe żądanie

W tym przykładzie metoda przyjmuje identyfikator miejsca i pobiera pierwsze zdjęcie z listy zwróconych danych. Możesz użyć tej metody jako szablonu dla metody, którą utworzysz w swojej aplikacji.

// 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: ")
    }
  )
}
// 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
    }
  }];
}];