장소 세부정보로 마이그레이션 (신규)

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

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

  • 필드 마스킹은 필수 항목입니다. 응답에서 반환되기를 원하는 필드를 지정해야 합니다. 반환된 필드의 기본 목록은 없습니다. 이 목록을 생략하면 메서드에서 오류를 반환합니다.

  • 요청하려면 새 GMSPlacesClient fetchPlaceWithRequest: 메서드를 호출합니다.

  • 요청에 전달합니다.

  • 응답에는 장소에 대한 세부정보가 포함된 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);
  }
}];