장소 세부정보

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

iOS용 Places SDK는 장소 이름과 주소, 위도/경도 좌표로 지정된 지리적 위치, 장소 유형 (예: 나이트클럽, 반려동물 용품 매장, 박물관) 등 장소에 대한 풍부한 정보를 앱에 제공합니다. 특정 장소에 대해 이 정보에 액세스하려면 장소를 고유하게 식별하는 안정적인 식별자인 장소 ID를 사용하면 됩니다.

장소 세부정보

GMSPlace 클래스는 특정 장소에 관한 정보를 제공합니다. 다음과 같은 방법으로 GMSPlace 객체를 가져올 수 있습니다.

장소 필드

장소를 요청할 때 반환할 장소 데이터 유형을 지정해야 합니다. 이렇게 하려면 GMSPlaceField를 전달하여 반환할 데이터 유형을 지정하세요. 이는 각 요청의 비용에 영향을 미치므로 이를 신중하게 고려해야 합니다. 장소 데이터 결과는 비워둘 수 없으므로 데이터가 있는 장소 결과만 반환됩니다 (예: 요청된 장소에 사진이 없는 경우 photos 필드가 결과에 표시되지 않음). 다음 필드 중 하나 이상을 지정할 수 있습니다.

  • GMSPlaceFieldName
  • GMSPlaceFieldPlaceID
  • GMSPlaceFieldPlusCode
  • GMSPlaceFieldBusinessStatus
  • GMSPlaceFieldCoordinate
  • GMSPlaceFieldOpeningHours
  • GMSPlaceFieldPhoneNumber
  • GMSPlaceFieldFormattedAddress
  • GMSPlaceFieldRating
  • GMSPlaceFieldPriceLevel
  • GMSPlaceFieldTypes
  • GMSPlaceFieldWebsite
  • GMSPlaceFieldViewport
  • GMSPlaceFieldAddressComponents
  • GMSPlaceFieldPhotos
  • GMSPlaceFieldUserRatingsTotal
  • GMSPlaceFieldIconImageURL
  • GMSPlaceFieldIconBackgroundColor
  • GMSPlaceFieldUTCOffsetMinutes
  • GMSPlaceFieldAll

장소 필드에 대해 자세히 알아보세요. 장소 데이터 요청에 대해 요금이 청구되는 방법에 대한 자세한 내용은 사용량 및 결제를 참고하세요.

GMSPlace 클래스에는 다음 장소 데이터가 포함될 수 있습니다.

  • name – 장소의 이름입니다.
  • placeID – 장소의 텍스트 식별자입니다. 이 페이지의 나머지 부분에서 장소 ID에 대해 자세히 알아보세요.
  • coordinate – 위도와 경도 좌표로 지정된 장소의 지리적 위치입니다.
  • businessStatus – 비즈니스의 경우 장소의 운영 상태를 나타냅니다. 값 GMSBusinessStatusOperational, GMSBusinessStatusClosedTemporarily, GMSBusinessStatusClosedPermanently, GMSBusinessStatusUnknown 중 하나를 포함할 수 있습니다.
  • phoneNumber – 국제 형식의 장소 전화번호입니다.
  • formattedAddress: 사람이 읽을 수 있는 이 위치의 주소입니다.

    이 주소는 대개 우편 주소와 일치합니다. 참고: 영국과 같은 일부 국가에서는 라이선스 제한으로 인해 실제 우편 주소의 배포가 허용되지 않습니다.

    형식이 지정된 주소는 하나 이상의 주소 구성요소로 논리적으로 구성됩니다. 예를 들어 주소 '111 8th Avenue, New York, NY'는 '111'(번지), '8th Avenue'(경로), 'New York'(도시) 및 'NY' (미국의 주)로 구성됩니다.

    형식이 지정된 주소를 프로그래매틱 방식으로 파싱하지 마세요. 대신 API 응답에 형식이 지정된 주소 필드 외에 포함되는 개별 주소 구성요소를 사용해야 합니다.

  • rating – 집계된 합산 리뷰 수에 따라 1.0~5.0 범위의 부동 소수점 수로 반환한 장소 평점입니다.
  • openingHours – 장소의 영업시간 (GMSOpeningHours으로 표시). GMSOpeningHours.weekdayText를 호출하여 한 주의 일일 영업시간에 해당하는 현지화된 문자열 목록을 가져옵니다. GMSOpeningHours.Periods를 호출하여 weekdayText에서 제공하는 데이터와 동일한 세부 정보가 포함된 GMSPeriod 목록을 반환합니다. 참고: 장소가 항상 영업 중인 경우 기간은 일요일 자정으로 표시되고 closeEvent은 null입니다.
  • plusCode – 장소의 위치를 나타내는 Plus Code 표현입니다.
  • priceLevel – 이 장소의 가격 수준으로, 0 (가장 저렴함)부터 4 (가장 비쌈) 범위의 값을 가진 정수로 반환됩니다.
  • types – 이 장소를 특징짓는 장소 유형의 목록입니다. 이 배열은 여러 값을 포함하거나 비어 있을 수 있습니다. 사전 고지 없이 새로운 값이 도입될 수도 있습니다. 지원되는 유형 목록을 참조하세요.
  • website – 장소 웹사이트의 URI(알려진 경우) 장소와 연결된 비즈니스 또는 기타 법인에서 관리하는 웹사이트입니다.
  • attributions – 앱이 iOS용 Places SDK에서 가져온 장소 세부정보를 사용하는 경우 사용자에게 표시해야 하는 속성을 포함하는 NSAttributedString입니다. 기여 분석 가져오기 및 표시에 대한 자세한 내용은 기여 분석 가이드를 참조하세요.
  • addressComponents – 장소의 주소 구성요소를 나타내는 GMSAddressComponent 객체의 배열입니다. 이러한 구성요소는 장소의 주소에 관한 구조화된 정보를 추출하기 위해 제공됩니다(예: 장소가 위치한 도시 검색). 주소 형식 지정에 이러한 구성요소를 사용하지 마세요. 대신 현지화된 형식의 주소를 제공하는 formattedAddress 속성을 사용하세요.

    addressComponents 배열에 관한 다음 사실을 참고하세요.

    • 주소 구성요소의 배열에 formattedAddress보다 더 많은 구성요소가 포함될 수 있습니다.
    • formattedAddress에 포함된 주소 외에도 주소를 포함하는 모든 정치적 항목이 배열에 포함되는 것은 아닙니다.
    • 요청의 형식이 요청 간에 동일하게 유지되지 않을 수도 있습니다. 특히 addressComponents 수는 요청된 주소에 따라 다르며, 동일한 주소를 대상으로 시간이 지남에 따라 변경될 수 있습니다. 배열에서 구성요소의 위치가 변경될 수 있습니다. 구성요소의 유형이 변경될 수 있습니다. 특정 구성요소가 이후 응답에서 누락될 수 있습니다.
  • userRatingsTotal – 장소의 평점을 구성하는 리뷰 수를 나타냅니다.
  • GMSPlaceFieldIconImageURL – 장소 유형 (PNG 형식)을 나타내는 아이콘의 URL입니다.
  • GMSPlaceFieldIconBackgroundColor – 장소 유형 아이콘의 배경 색상입니다.
  • UTCOffsetMinutes: 장소의 시간대 오프셋(분)입니다.

GMSPlace 클래스에는 다음과 같은 구성원 함수가 있습니다.

  • isOpenopeningHoursUTCOffsetMinutes, 현재 날짜 및 시간을 기준으로 지정된 시간에 영업 중인지 여부를 계산합니다.
  • isOpenAtDateopeningHoursUTCOffsetMinutes, 현재 날짜 및 시간을 기준으로 특정 날짜에 영업 중인지 계산합니다.
  • 이러한 함수를 사용하여 개점 시간 또는 날짜를 가져오는 경우 원래 fetchPlaceFromPlaceID: 또는 findPlaceLikelihoodsFromUserLocationWithPlaceFields: 요청은 GMSPlaceFieldOpeningHoursGMSPlaceFieldUTCOffsetMinutes 필드를 모두 지정해야 합니다. 이러한 필드 중 하나가 누락되면 결과 GMSPlace 객체에 개점 시간 또는 날짜가 포함되지 않으며, 호출은 GMSPlaceOpenStatusUnknown를 반환합니다. 정확한 결과를 얻으려면 원래 장소 요청의 GMSPlaceFieldBusinessStatusGMSPlaceFieldUTCOffsetMinutes 필드를 요청하세요. 요청되지 않는 경우 비즈니스가 영업 중인 것으로 간주됩니다.

    장소 세부정보와 함께 isOpen를 사용하는 방법은 이 동영상을 참고하세요.

ID로 장소 가져오기

장소 ID는 장소를 고유하게 나타내는 텍스트 식별자입니다. iOS용 Places SDK에서는 GMSPlace 객체에서 장소의 ID를 가져올 수 있습니다. 장소 ID를 저장하고 나중에 GMSPlace 객체를 다시 가져오는 데 사용할 수 있습니다.

ID로 장소를 가져오려면 GMSPlacesClient fetchPlaceFromPlaceID:를 호출하고 다음 매개변수를 전달합니다.

  • 장소 ID를 포함하는 문자열입니다.
  • 반환할 데이터 유형을 지정하는 하나 이상의 GMSPlaceField.
  • 자동 완성 쿼리를 마무리하기 위해 호출하는 경우의 세션 토큰입니다. 그렇지 않은 경우 nil을 전달합니다.
  • 결과를 처리할 GMSPlaceResultCallback.

API가 지정된 콜백 메서드를 호출하여 GMSPlace 객체를 전달합니다. 장소를 찾을 수 없는 경우 장소 객체는 nil입니다.

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
  UInt(GMSPlaceField.placeID.rawValue))!

placesClient?.fetchPlace(fromPlaceID: placeId, placeFields: fields, sessionToken: nil, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    self.lblName?.text = place.name
    print("The selected place is: \(place.name)")
  }
})

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeId = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);

[_placesClient fetchPlaceFromPlaceID:placeId placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) {
  if (error != nil) {
    NSLog(@"An error occurred %@", [error localizedDescription]);
    return;
  }
  if (place != nil) {
    NSLog(@"The selected place is: %@", [place name]);
  }
}];

앱에 특성 표시

앱이 GMSPlacesClient lookUpPlaceID:callback:에서 얻은 정보를 표시하면 저작자 표시도 표시해야 합니다. 기여 분석에 대한 문서를 참조하세요.

장소 ID에 대한 추가 정보

iOS용 Places SDK에서 사용되는 장소 ID는 Places API, Android용 Places SDK, 기타 Google API에서 사용하는 것과 동일합니다.

각 장소 ID는 한 장소만 참조할 수 있지만, 단일 장소는 두 개 이상의 장소 ID를 가질 수 있습니다.

상황에 따라 새 장소 ID를 가져올 수 있는 상황이 있습니다. 예를 들어, 사업체를 새 위치로 이전하는 경우에 이러한 상황이 발생할 수 있습니다.

장소 ID를 지정하여 장소를 요청하면 응답에서 항상 같은 장소를 받을 수 있습니다 (장소가 아직 존재하는 경우). 그러나 응답에는 요청에 있는 장소 ID와 다른 장소 ID가 포함될 수 있습니다.

자세한 내용은 장소 ID 개요를 참고하세요.