장소 ID를 사용하고 장소 세부정보 (신규) 요청을 실행하여 특정 시설이나 관심 장소에 관한 세부정보를 요청할 수 있습니다. Place Details (New)는 전체 주소, 전화번호, 사용자 평점, 리뷰 등 표시된 장소에 관한 더 포괄적인 정보를 반환합니다.
장소 ID를 가져오는 방법에는 여러 가지가 있습니다. 이 옵션은 다음과 같습니다.
Place Details (New) 요청
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 Details (New)는 Place
객체의 형식으로 데이터를 반환하며 여기에는 필드 목록을 사용하여 요청한 필드만 포함됩니다. 장소 데이터 결과는 비워 둘 수 없으므로 데이터가 있는 장소 결과만 반환됩니다. 예를 들어 요청된 장소에 사진이 없으면 결과에 사진 필드가 표시되지 않습니다.
데이터 필드에 액세스하려면 해당하는 메서드를 호출합니다.
예를 들어 장소 이름에 액세스하려면 getName()
를 호출합니다.
필수 매개변수
FetchPlaceRequest
의 필수 매개변수는 다음과 같습니다.
-
장소 ID
장소를 고유하게 식별하는 텍스트 식별자로 텍스트 검색 (신규), 주변 검색 (신규) 또는 자동 완성 (신규)에서 반환됩니다. 장소 ID에 대한 자세한 내용은 장소 ID 개요를 참고하세요.
-
필드 목록
장소를 요청할 때 반환할 장소 데이터를 지정해야 합니다. 이렇게 하려면 반환할 데이터를 지정하는
Place.Field
값의 목록을 전달합니다. 응답에는 반환된 필드의 기본 목록이 없습니다.필드 목록은 불필요한 데이터를 요청하지 않도록 하는 좋은 설계 방법으로, 불필요한 처리 시간과 요금 청구를 방지하는 데 도움이 됩니다.이 목록은 각 요청의 비용에 영향을 미치므로 중요한 고려사항입니다. 자세한 내용은 사용량 및 결제를 참고하세요.
다음 필드 중 하나 이상을 지정합니다.
다음 필드는 Place Details (IDs Only) SKU를 트리거합니다.
Place.Field.ID
,Place.Field.NAME
,Place.Field.PHOTO_METADATAS
다음 필드는 Place Details (Location Only) SKU를 트리거합니다.
Place.Field.ADDRESS_COMPONENTS
,Place.Field.ADDRESS
,Place.Field.LAT_LNG
,Place.Field.PLUS_CODE
,Place.Field.TYPES
,Place.Field.VIEWPORT
다음 필드는 Place Details (Basic) SKU를 트리거합니다.
Place.Field.BUSINESS_STATUS
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_URL
,Place.Field.UTC_OFFSET
,Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
다음 필드는 Place Details (Advanced) SKU를 트리거합니다.
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.SECONDARY_OPENING_HOURS
,Place.Field.PHONE_NUMBER
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.OPENING_HOURS
,Place.Field.USER_RATINGS_TOTAL
,Place.Field.WEBSITE_URI
다음 필드는 Place Details (Preferred) SKU를 트리거합니다:
Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.RESERVABLE
,Place.Field.REVIEWS
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,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.ADDRESS
필드의 국가 이름이regionCode
와 일치하면Place.Field.ADDRESS
에서 국가 코드가 생략됩니다.대부분의 CLDR 코드는 ISO 3166-1 코드와 동일하지만 일부 눈에 띄는 예외가 있습니다. 예를 들어 영국의 ccTLD는 'uk' (.co.uk)이지만 ISO 3166-1 코드는 'gb' (기술적으로 '영국 및 북아일랜드' 엔티티)입니다. 매개변수는 관련 법률에 따라 결과에 영향을 미칠 수 있습니다.
지역 코드 매개변수를 설정하려면
FetchPlaceRequest
객체를 빌드할 때setRegionCode()
메서드를 호출합니다.-
세션 토큰
세션 토큰은 자동 완성 (신규) 호출을 '세션'으로 추적하는 사용자 생성 문자열입니다. Autocomplete (신규)는 세션 토큰을 사용하여 사용자 자동 완성 검색의 쿼리 및 장소 선택 단계를 결제 목적의 개별 세션으로 그룹화합니다. 세션 토큰은 Autocomplete (신규) 호출 이후에 나오는 Place Details (New) 호출에 전달됩니다. 자세한 내용은 세션 토큰을 참조하세요.
세션 토큰 매개변수를 설정하려면
FetchPlaceRequest
객체를 빌드할 때setSessionToken()
메서드를 호출합니다.
장소 세부정보 예
다음 예에서는 뉴욕시 엠파이어 스테이트 빌딩의 ID
, NAME
, 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.NAME, Place.Field.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);