Вы можете запросить более подробную информацию о конкретном заведении или объекте интереса, используя его идентификатор места и сделав запрос Place Details (New). Place Details (New) возвращает более полную информацию об указанном месте, такую как его полный адрес, номер телефона, рейтинг пользователей и отзывы.
Есть много способов получить идентификатор места. Вы можете использовать:
Запросы сведений о месте (новые)
Вы можете запросить сведения о месте, вызвав 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
:
Место ID
Текстовый идентификатор, который однозначно идентифицирует место, возвращаемый из Текстового поиска (новый) , Поиска поблизости (новый) или Автозаполнения (новый) . Для получения дополнительной информации об идентификаторах мест см. Обзор идентификаторов мест .
Список полей
При запросе места необходимо указать, какие данные о месте следует вернуть. Для этого передайте список значений
Place.Field
, указывающих возвращаемые данные. В ответе нет списка возвращаемых полей по умолчанию.Списки полей — это хорошая практика проектирования, которая гарантирует, что вы не запрашиваете ненужные данные, что помогает избежать ненужного времени обработки и расходов на выставление счетов. Этот список является важным соображением, поскольку он влияет на стоимость каждого запроса. Для получения дополнительной информации см. Использование и выставление счетов .
Укажите одно или несколько из следующих полей:
Следующие поля активируют только идентификаторы Place Details Essentials IDs SKU :
Place.Field.ID
Place.Field.PHOTO_METADATAS
Place.Field.RESOURCE_NAME
Следующие поля активируют Place Details Essentials SKU :
Place.Field.ADDRESS_COMPONENTS
ADR_FORMAT_ADDRESS
Place.Field.FORMATTED_ADDRESS
*
* Используйте вместоPlace.Field.ADDRESS
(устарело).
Place.Field.LOCATION
*
* Используйте вместоPlace.Field.LAT_LNG
(устарело).
Place.Field.PLUS_CODE
Place.Field.SHORT_FORMATTED_ADDRESS
Place.Field.TYPES
Place.Field.VIEWPORT
Следующие поля активируют Place Details Pro SKU :
Place.Field.ACCESSIBILITY_OPTIONS
*
* Используйте вместоPlace.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
(устарело).
Place.Field.BUSINESS_STATUS
Place.Field.DISPLAY_NAME
*
* Используйте вместоPlace.Field.NAME
, который устарел.
Place.Field.GOOGLE_MAPS_URI
Place.Field.ICON_BACKGROUND_COLOR
Place.Field.ICON_MASK_URL
*
* Используйте вместоPlace.Field.ICON_URL
(устарело).
Place.Field.PRIMARY_TYPE
Place.Field.PRIMARY_TYPE_DISPLAY_NAME
Place.Field.SUB_DESTINATIONS
Place.Field.UTC_OFFSET
Следующие поля активируют Place Details Enterprise SKU :
Place.Field.CURRENT_OPENING_HOURS
Place.Field.CURRENT_SECONDARY_OPENING_HOURS
Place.Field.INTERNATIONAL_PHONE_NUMBER
*
* Используйте вместоPlace.Field.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.USER_RATINGS_TOTAL
, который устарел.
Place.Field.WEBSITE_URI
Следующие поля активируют Place Details Enterprise Plus 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, за некоторыми заметными исключениями. Например, ccTLD Соединенного Королевства — «uk» (.co.uk), а его код ISO 3166-1 — «gb» (технически для субъекта «Соединенное Королевство Великобритании и Северной Ирландии»). Параметр может влиять на результаты в зависимости от применимого законодательства.
Чтобы задать параметр кода региона, вызовите метод
setRegionCode()
при создании объектаFetchPlaceRequest
.Токен сеанса
Токены сеанса — это строки, сгенерированные пользователем, которые отслеживают вызовы Autocomplete (New) как «сеансы». Autocomplete (New) использует токены сеанса для группировки фаз запроса и выбора места поиска пользователя с автозаполнением в отдельный сеанс для выставления счетов. Токены сеанса передаются в вызовы Place Details (New), которые следуют за вызовами Autocomplete (New). Для получения дополнительной информации см. Токены сеанса .
Чтобы задать параметр токена сеанса, вызовите метод
setSessionToken()
при создании объектаFetchPlaceRequest
.
Пример сведений о месте
В следующем примере запрашиваются поля ID
, DISPLAY_NAME
и FORMATTED_ADDRESS
для здания Empire State Building в Нью-Йорке.
// 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);