Вы можете запросить более подробную информацию о конкретном заведении или достопримечательности, используя его идентификатор места и отправив запрос «Сведения о месте (новое)» . Сведения о месте (новое) возвращает более полную информацию об указанном месте, такую как его полный адрес, номер телефона, рейтинг пользователей и отзывы.
Есть много способов получить идентификатор места. Вы можете использовать:
Запросы сведений о месте (новые)
Вы можете запросить подробную информацию о месте, вызвав PlacesClient.fetchPlace()
и передав объект 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
:
Идентификатор места
Текстовый идентификатор, который уникально идентифицирует место, возвращаемый в результате текстового поиска (новое) , поиска поблизости (новое) или автозаполнения (новое) . Дополнительную информацию об идентификаторах мест см. в обзоре идентификаторов мест .
Список полей
Когда вы запрашиваете место, вы должны указать, какие данные о месте нужно вернуть. Для этого передайте список значений
Place.Field
, определяющих возвращаемые данные. В ответе нет списка возвращаемых полей по умолчанию.Списки полей — это хорошая практика проектирования, позволяющая избежать запроса ненужных данных, что помогает избежать ненужного времени обработки и расходов на выставление счетов. Этот список является важным фактором, поскольку он влияет на стоимость каждого запроса. Дополнительную информацию см. в разделе «Использование и выставление счетов» .
Укажите одно или несколько из следующих полей:
Следующие поля активируют SKU «Сведения о месте (только идентификаторы)» :
Place.Field.DISPLAY_NAME
,Place.Field.ID
,Place.Field.PHOTO_METADATAS
,Place.Field.RESOURCE_NAME
Следующие поля активируют 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
Следующие поля активируют 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
Следующие поля активируют 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
Следующие поля активируют 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
:
Код региона
Код региона, используемый для форматирования ответа в виде двухсимвольного значения кода CLDR . Значения по умолчанию нет.
Если название страны в поле
Place.Field.FORMATTED_ADDRESS
в ответе совпадает сregionCode
, код страны опускается вPlace.Field.FORMATTED_ADDRESS
.Большинство кодов CLDR идентичны кодам ISO 3166-1, за некоторыми заметными исключениями. Например, нДВУ Соединенного Королевства — «uk» (.co.uk), а его код ISO 3166-1 — «gb» (технически для организации «Соединенное Королевство Великобритании и Северной Ирландии»). Параметр может повлиять на результаты в соответствии с действующим законодательством.
Чтобы установить параметр кода региона, вызовите метод
setRegionCode()
при построении объектаFetchPlaceRequest
.Токен сеанса
Токены сеанса — это созданные пользователем строки, которые отслеживают вызовы автозаполнения (новые) как «сеансы». Автозаполнение (новое) использует токены сеанса для группировки запроса и размещения этапов выбора пользовательского поиска с автозаполнением в отдельный сеанс для целей выставления счетов. Токены сеанса передаются в вызовы Place Details (New), которые следуют за вызовами Autocomplete (New). Дополнительные сведения см. в разделе Токены сеанса .
Чтобы установить параметр токена сеанса, вызовите метод
setSessionToken()
при создании объектаFetchPlaceRequest
.
Пример сведений о месте
В следующем примере запрашиваются поля 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);