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

iOS용 Places SDK는 기존 장소 사진을 지원합니다. 기존의 장소 사진에 익숙하다면 새로운 버전의 장소 사진은 다음과 같이 변경합니다.

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

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

  • 요청하려면 새 GMSPlacesClient lookUpPhotosForPlaceID: 메서드를 호출하여 장소 ID를 문자열로 전달합니다.

  • GMSPlacePhotoMetadataResultCallback 유형의 콜백을 요청에 전달하여 응답을 처리합니다.

  • 응답의 각 사진은 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 = 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)
    }
  }];
}];