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

iOS용 Places SDK는 기존 장소 사진을 지원합니다. 기존 장소 사진에 익숙한 경우 새 버전의 장소 사진에는 다음과 같은 변경사항이 적용됩니다.

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

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

  • 요청하려면 새 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
    }
  }];
}];