iOS용 Places SDK는 기존 장소 세부정보를 지원합니다. 기존 iOS용 Places SDK에 익숙한 경우 새 버전의 장소 세부정보는 다음과 같은 변경사항을 적용합니다.
새로운 가격 책정 모델을 사용합니다. 모든 API의 가격 책정 정보는 iOS용 Places SDK 가격 (신규)을 참고하세요.
필드 마스킹은 필수 항목입니다. 응답에서 반환되기를 원하는 필드를 지정해야 합니다. 반환된 필드의 기본 목록은 없습니다. 이 목록을 생략하면 메서드에서 오류를 반환합니다.
요청하려면 새
GMSPlacesClient fetchPlaceWithRequest:
메서드를 호출합니다.요청에 전달합니다.
장소 ID 및 세션 토큰과 같은 모든 요청 매개변수를 정의하는 새
GMSFetchPlaceRequest
클래스의 인스턴스.응답을 처리할
GMSPlaceResultCallback
유형의 콜백.
응답에는 장소에 대한 세부정보가 포함된
GMSPlace
인스턴스가 포함됩니다. 이제GMSPlace
인스턴스의types
속성에 있는 값이 표 A와 표 B에 의해 정의됩니다.응답
GMSPlace
인스턴스에는GMSPlaceReview
유형의 새reviews
속성이 포함됩니다. 앱이GMSPlace
인스턴스에서 획득한 정보(예: 사진, 리뷰)를 표시할 때는 필수 저작자 표시도 표시해야 합니다.자세한 내용은 저작자 표시에 관한 문서를 참고하세요.
응답
GMSPlace
인스턴스에는 다음과 같은 멤버 함수가 포함되어 있습니다.isOpen
는 지정된 시간에 장소의 영업 여부를 계산합니다.isOpenAtDate
는 지정된 날짜에 장소의 개점 여부를 계산합니다.
이 함수는 iOS용 Places SDK를 사용 설정한 경우에만 사용할 수 있습니다. iOS용 Places SDK (신규)를 사용 설정하면 이 기능을 사용할 수 없습니다. 자세한 내용은 SDK 버전 선택을 참고하세요.
요청 예시
Place Details (New)를 사용하여 요청을 실행하고 GMSFetchPlaceRequest
인스턴스의 모든 매개변수를 전달합니다. 또한 이 예에서는 필드 마스크를 사용하여 응답에 장소의 표시 이름과 웹사이트 URL만 포함합니다.
Swift
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let fields = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue} // Create the GMSFetchPlaceRequest instance. let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: fields, sessionToken: nil) client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: { (place: GMSPlace?, error: Error?) in guard let place, error == nil else { return } print("Place found: \(String(describing: place.name))") })
Objective-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return. NSArray<NSString *> *fields = @[GMSPlacePropertyName, GMSPlacePropertyWebsite]; // Create the GMSFetchPlaceRequest instance. GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: fields sessionToken:nil]; [placesClient fetchPlaceWithRequest: fetchPlaceRequest callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } else { NSLog(@"Place Found: %@", place.name); NSLog(@"The place URL: %@", place.website); } }];