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