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 (신규)를 사용하면 요청을 하고 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); } }];