장소 사진으로 마이그레이션 (신규)

iOS용 Places SDK는 장소 사진 (기존)을 지원합니다. Place Photo (기존)를 잘 알고 있다면 Place Photo (신규)에서 다음과 같이 변경됩니다.

  • 새로운 가격 책정 모델을 사용합니다. 모든 API의 가격 정보는 iOS용 Places SDK (신규) 가격을 참고하세요.

  • 장소 사진 (기존)은 최대 사진 크기가 1600x1600픽셀이었습니다. 장소 사진 (신규)은 최대 4800x4800픽셀 크기를 지원합니다.

  • 요청하려면 새 GMSPlacesClient fetchPhotoWithRequest:callback: 메서드를 호출합니다.

  • 요청에 전달합니다.

  • 각 사진은 GMSPlacePhotoMetadata 인스턴스로 표현됩니다. iOS용 Places SDK (신규)의 경우 GMSPlacePhotoMetadata 인스턴스에는 새로운 GMSPlaceAuthorAttribution 클래스로 표시되는 새로운 authorAttribution 필드가 포함됩니다.

    반환된 GMSPlacePhotoMetadata 인스턴스에 attributions 또는 authorAttribution이 포함된 경우 이미지를 표시할 때마다 애플리케이션에 이러한 저작자 표시를 포함해야 합니다. 저작자 표시에 관한 문서를 참고하세요.

요청 예시

다음 예시 메서드는 장소 ID를 가져와 반환된 목록의 첫 번째 사진을 가져옵니다. 이 메서드를 자체 앱에서 만들 메서드의 템플릿으로 사용할 수 있습니다.

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