특정 시설이나 관심 장소에 대한 추가 세부정보를 요청하려면 장소 ID를 사용하고 장소 세부정보 (신규) 요청을 하면 됩니다. 장소 세부정보 (신규)는 전체 주소, 전화번호, 사용자 평점, 리뷰와 같이 지정된 장소에 대한 더 포괄적인 정보를 반환합니다.
장소 ID를 가져오는 방법에는 여러 가지가 있습니다. 이 옵션은 다음과 같습니다.
장소 세부정보 (신규) 요청
PlacesClient.fetchPlace()
를 호출하고 장소 ID, 필드 목록, 선택적 매개변수가 포함된 FetchPlaceRequest
객체를 전달하여 장소 세부정보를 요청할 수 있습니다.
// Define a place ID.
final String placeId = "INSERT_PLACE_ID_HERE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList("INSERT_PLACE_FIELDS_HERE");
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);
장소 세부정보 (신규) 응답
Place Details (New)는 필드 목록을 사용하여 요청한 필드만 포함된 Place
객체 형식으로 데이터를 반환합니다. 장소 데이터 결과는 비워둘 수 없으므로 데이터가 있는 장소 결과만 반환됩니다. 예를 들어 요청된 장소에 사진이 없으면 결과에 사진 필드가 표시되지 않습니다.
데이터 필드에 액세스하려면 상응하는 메서드를 호출합니다.
예를 들어 장소 이름에 액세스하려면 getName()
를 호출합니다.
필수 매개변수
FetchPlaceRequest
의 필수 매개변수는 다음과 같습니다.
-
장소 ID
장소를 고유하게 식별하는 텍스트 식별자이며, 텍스트 검색 (신규), 주변 검색 (신규) 또는 자동 완성 (신규)에서 반환됩니다. 장소 ID에 대한 자세한 내용은 장소 ID 개요를 참고하세요.
-
필드 목록
장소를 요청할 때 반환할 장소 데이터를 지정해야 합니다. 이렇게 하려면 반환할 데이터를 지정하는
Place.Field
값 목록을 전달합니다. 응답에 반환된 필드의 기본 목록이 없습니다.필드 목록은 불필요한 데이터를 요청하지 않도록 하는 좋은 설계 방법으로, 불필요한 처리 시간과 결제 비용을 방지하는 데 도움이 됩니다.이 목록은 각 요청의 비용에 영향을 미치므로 중요한 고려사항입니다. 자세한 내용은 사용량 및 결제를 참고하세요.
다음 필드 중 하나 이상을 지정합니다.
다음 필드는 Place Details (IDs Only) SKU를 트리거합니다.
Place.Field.DISPLAY_NAME
,Place.Field.ID
,Place.Field.PHOTO_METADATAS
,Place.Field.RESOURCE_NAME
다음 필드는 Place Details (Location Only) SKU를 트리거합니다.
Place.Field.ADDRESS_COMPONENTS
,ADR_FORMAT_ADDRESS
,Place.Field.FORMATTED_ADDRESS
,Place.Field.LOCATION
,Place.Field.PLUS_CODE
,Place.Field.SHORT_FORMATTED_ADDRESS
,Place.Field.TYPES
,Place.Field.VIEWPORT
다음 필드는 Place Details (Basic) SKU를 트리거합니다.
Place.Field.ACCESSIBILITY_OPTIONS
,Place.Field.BUSINESS_STATUS
,Place.Field.GOOGLE_MAPS_URI
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_MASK_URL
,Place.Field.PRIMARY_TYPE
,Place.Field.PRIMARY_TYPE_DISPLAY_NAME
,Place.Field.SUB_DESTINATIONS
,Place.Field.UTC_OFFSET
다음 필드는 Place Details (Advanced) SKU를 트리거합니다.
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.CURRENT_SECONDARY_OPENING_HOURS
Place.Field.INTERNATIONAL_PHONE_NUMBER
,Place.Field.NATIONAL_PHONE_NUMBER
Place.Field.OPENING_HOURS
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.SECONDARY_OPENING_HOURS
,Place.Field.USER_RATING_COUNT
Place.Field.WEBSITE_URI
다음 필드는 Place Details (Preferred) SKU를 트리거합니다.
Place.Field.ALLOWS_DOGS
,Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.EV_CHARGE_OPTIONS
,Place.Field.FUEL_OPTIONS
,Place.Field.GOOD_FOR_CHILDREN
,Place.Field.GOOD_FOR_GROUPS
,Place.Field.GOOD_FOR_WATCHING_SPORTS
,Place.Field.LIVE_MUSIC
,Place.Field.MENU_FOR_CHILDREN
,Place.Field.OUTDOOR_SEATING
,Place.Field.PARKING_OPTIONS
,Place.Field.PAYMENT_OPTIONS
,Place.Field.RESERVABLE
,Place.Field.RESTROOM
,Place.Field.REVIEWS
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,Place.Field.SERVES_COCKTAILS
,Place.Field.SERVES_COFFEE
,Place.Field.SERVES_DESSERT
,Place.Field.SERVES_DINNER
,Place.Field.SERVES_LUNCH
,Place.Field.SERVES_VEGETARIAN_FOOD
,Place.Field.SERVES_WINE
,Place.Field.TAKEOUT
선택적 매개변수
FetchPlaceRequest
의 선택적 매개변수는 다음과 같습니다.
지역 코드
응답 형식을 지정하는 데 사용되는 지역 코드로, 2자리 CLDR 코드 값으로 지정됩니다. 기본값은 없습니다.
응답의
Place.Field.FORMATTED_ADDRESS
필드의 국가 이름이regionCode
와 일치하면Place.Field.FORMATTED_ADDRESS
에서 국가 코드가 생략됩니다.대부분의 CLDR 코드는 ISO 3166-1 코드와 동일하지만 몇몇 눈에 띄는 예외가 있습니다. 예를 들어 영국의 ccTLD는 'uk' (.co.uk)인 반면 ISO 3166-1 코드는 'gb'입니다(기술적으로 'Great Britain과 Northern Ireland 연방국' 엔터티). 이 매개변수는 관련 법규에 따라 결과에 영향을 줄 수 있습니다.
지역 코드 매개변수를 설정하려면
FetchPlaceRequest
객체를 빌드할 때setRegionCode()
메서드를 호출합니다.-
세션 토큰
세션 토큰은 자동 완성 (신규) 호출을 '세션'으로 추적하는 사용자가 생성한 문자열입니다. 자동 완성 (신규)은 세션 토큰을 사용하여 사용자 자동 완성 검색의 쿼리 및 장소 선택 단계를 결제 목적의 개별 세션으로 그룹화합니다. 세션 토큰은 Autocomplete (신규) 호출 다음에 오는 Place Details (신규) 호출에 전달됩니다. 자세한 내용은 세션 토큰을 참고하세요.
세션 토큰 매개변수를 설정하려면
FetchPlaceRequest
객체를 빌드할 때setSessionToken()
메서드를 호출합니다.
장소 세부정보 예시
다음 예에서는 뉴욕시의 엠파이어 스테이트 빌딩의 ID
, DISPLAY_NAME
, FORMATTED_ADDRESS
필드를 요청합니다.
// Define a place ID.
final String placeId = "ChIJaXQRs6lZwokRY6EFpJnhNNE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME, Place.Field.FORMATTED_ADDRESS);
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);