iOS용 Places SDK는 기존 장소 사진을 지원합니다. 기존 장소 사진에 익숙한 경우 새 버전의 장소 사진에는 다음과 같은 변경사항이 적용됩니다.
새로운 가격 책정 모델을 사용합니다. 모든 API의 가격 정보는 iOS용 Places SDK 가격 (신규)를 참고하세요.
기존 장소 사진은 최대 1600x1600픽셀의 사진 크기를 지원했습니다. 장소 사진 (신규)은 최대 4,800x4,800픽셀 크기를 지원합니다.
요청하려면 새
GMSPlacesClient fetchPhotoWithRequest:callback:
메서드를 호출합니다.요청에 전달합니다.
최대 이미지 크기를 비롯한 모든 요청 매개변수를 정의하는 새
GMSFetchPhotoRequest
클래스의 인스턴스입니다.응답을 처리하는
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: 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 } }]; }];