특정 시설 또는 관심 장소에 대한 자세한 내용을 요청하려면 장소 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'입니다(기술적으로 '영국과 북아일랜드의 합병된 왕국'의 법인에 해당). 이 매개변수는 관련 법규에 따라 결과에 영향을 미칠 수 있습니다.
지역 코드 매개변수를 설정하려면
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);