Введение
Получив идентификатор места , вы можете запросить более подробную информацию о конкретном заведении или объекте интереса, отправив запрос «Сведения о месте (новый)» . Запрос «Сведения о месте (новый)» возвращает более полную информацию об указанном месте, такую как его полный адрес, номер телефона, рейтинг пользователей и отзывы.
Существует множество способов получить идентификатор места. Вы можете использовать:
- Текстовый поиск (новый) или поиск поблизости (новый)
- API геокодирования
- API маршрутов
- API проверки адреса
- Автозаполнение (новое)
API Explorer позволяет вам делать живые запросы, чтобы вы могли ознакомиться с API и его параметрами:
Запросы на детали места (новые)
Запрос «Сведения о месте (новый)» — это HTTP-запрос GET в форме:
https://places.googleapis.com/v1/places/PLACE_ID
Передавайте все параметры как параметры URL или в заголовках в рамках GET-запроса. Например:
https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw?fields=id,displayName&key=API_KEY
Или в команде curl:
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: id,displayName" \ https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw
Ответы на информацию о месте (новые)
Функция Place Details (New) возвращает JSON-объект в качестве ответа . В ответе:
- Ответ представлен объектом
Place
. ОбъектPlace
содержит подробную информацию о месте. - FieldMask , переданный в запросе, определяет список полей, возвращаемых в объекте
Place
.
Полный объект JSON имеет следующий вид:
{ "name": "places/ChIJkR8FdQNB0VQRm64T_lv1g1g", "id": "ChIJkR8FdQNB0VQRm64T_lv1g1g", "displayName": { "text": "Trinidad" } ... }
Обязательные параметры
FieldMask
Укажите список полей, возвращаемых в ответе, создав маску поля ответа . Передайте маску поля ответа методу с помощью параметра URL
$fields
илиfields
или с помощью HTTP-заголовкаX-Goog-FieldMask
. В ответе нет списка возвращаемых полей по умолчанию. Если маска поля не указана, метод вернёт ошибку.Маскирование полей — это хорошая практика проектирования, которая гарантирует, что вы не запрашиваете ненужные данные, что помогает избежать ненужного времени обработки и расходов на выставление счетов.
Укажите список типов данных о месте, разделённых запятыми, которые необходимо вернуть. Например, чтобы получить отображаемое название и адрес места.
X-Goog-FieldMask: displayName,formattedAddress
Используйте
*
для извлечения всех полей.X-Goog-FieldMask: *
Укажите одно или несколько из следующих полей:
Следующие поля активируют только идентификаторы Place Details Essentials IDs SKU :
attributions
id
name
*
photos
* Поле
name
содержит название ресурса места в формате:places/ PLACE_ID
. Чтобы получить текстовое название места, запросите полеdisplayName
в Pro SKU.Следующие поля активируют Place Details Essentials SKU :
addressComponents
addressDescriptor
*
adrFormatAddress
formattedAddress
location
plusCode
postalAddress
shortFormattedAddress
types
viewport
* Адресные дескрипторы, как правило, доступны для клиентов в Индии и являются экспериментальными в других местах.Следующие поля активируют Place Details Pro SKU :
accessibilityOptions
businessStatus
containingPlaces
displayName
googleMapsLinks
googleMapsUri
iconBackgroundColor
iconMaskBaseUri
primaryType
primaryTypeDisplayName
pureServiceAreaBusiness
subDestinations
utcOffsetMinutes
Следующие поля активируют Place Details Enterprise SKU :
currentOpeningHours
currentSecondaryOpeningHours
internationalPhoneNumber
nationalPhoneNumber
priceLevel
priceRange
rating
regularOpeningHours
regularSecondaryOpeningHours
userRatingCount
websiteUri
Следующие поля активируют Place Details Enterprise + Atmosphere SKU :
allowsDogs
curbsidePickup
delivery
dineIn
editorialSummary
evChargeAmenitySummary
evChargeOptions
fuelOptions
generativeSummary
goodForChildren
goodForGroups
goodForWatchingSports
liveMusic
menuForChildren
neighborhoodSummary
parkingOptions
paymentOptions
outdoorSeating
reservable
restroom
reviews
reviewSummary
routingSummaries
*
servesBeer
servesBreakfast
servesBrunch
servesCocktails
servesCoffee
servesDessert
servesDinner
servesLunch
servesVegetarianFood
servesWine
takeout
* Только текстовый поиск и поиск поблизости
placeId
Текстовый идентификатор, однозначно определяющий место, возвращаемый в результате текстового поиска (новый) или поиска поблизости (новый) . Подробнее об идентификаторах мест см. в обзоре идентификаторов мест .
Строка
places/ PLACE_ID
также называется именем ресурса места. В ответе на запросы «Сведения о месте (новое)», «Поиск поблизости (новое)» и «Текстовый поиск (новое)» эта строка содержится в полеname
ответа. Отдельный идентификатор места содержится в полеid
ответа.
Необязательные параметры
код_языка
Язык, на котором будут возвращаться результаты.
- Ознакомьтесь со списком поддерживаемых языков . Google часто обновляет список поддерживаемых языков, поэтому этот список может быть неполным.
- Если
languageCode
не указан, API по умолчанию используетen
. Если указан недопустимый код языка, API возвращает ошибкуINVALID_ARGUMENT
. - API делает всё возможное, чтобы предоставить адрес, понятный как пользователю, так и местным жителям. Для этого он возвращает адреса на местном языке, при необходимости транслитерируя их в удобный для пользователя язык с учётом выбранного языка. Все остальные адреса возвращаются на выбранном языке. Все компоненты адреса возвращаются на одном языке, выбранном из первого компонента.
- Если имя недоступно на предпочитаемом языке, API использует наиболее близкое совпадение.
- Предпочтительный язык оказывает небольшое влияние на набор результатов, возвращаемых API, и порядок их возврата. Геокодер интерпретирует сокращения по-разному в зависимости от языка, например, сокращения для типов улиц или синонимы, которые могут быть корректны в одном языке, но некорректны в другом.
Код региона
Код региона, используемый для форматирования ответа, указывается как двухсимвольное значение кода CLDR . Значение по умолчанию отсутствует.
Если название страны в поле
formattedAddress
в ответе совпадает сregionCode
, код страны не добавляется вformattedAddress
. Этот параметр не влияет наadrFormatAddress
, который всегда включает название страны, или наshortFormattedAddress
, который никогда его не включает.Большинство кодов CLDR идентичны кодам ISO 3166-1, за некоторыми заметными исключениями. Например, ccTLD Великобритании — «uk» (.co.uk), а код ISO 3166-1 — «gb» (технически обозначает «Соединённое Королевство Великобритании и Северной Ирландии»). Этот параметр может влиять на результаты в зависимости от применимого законодательства.
sessionToken
Токены сеансов — это генерируемые пользователями строки, которые отслеживают вызовы функции автозаполнения (New) как «сеансы». Функция автозаполнения (New) использует токены сеансов для группировки этапов поиска и выбора мест в рамках пользовательского автозаполнения в отдельный сеанс для выставления счетов. Токены сеансов передаются в вызовы функции Place Details (New), следующие за вызовами функции автозаполнения (New). Подробнее см. в разделе Токены сеансов .
Пример сведений о месте (новый)
В следующем примере запрашиваются сведения о месте по placeId
:
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: id,displayName" \ https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw
Обратите внимание, что заголовок X-Goog-FieldMask
указывает, что ответ содержит следующие поля данных: id,displayName
. В этом случае ответ будет иметь следующий вид:
{ "id": "ChIJj61dQgK6j4AR4GeTYWZsKWw", "displayName": { "text": "Googleplex", "languageCode": "en" } }
Добавьте дополнительные типы данных в маску поля, чтобы получить дополнительную информацию. Например, добавьте formattedAddress,plusCode
чтобы включить адрес и Plus Code в ответ :
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: id,displayName,formattedAddress,plusCode" \ https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw
Ответ теперь имеет вид:
{ "id": "ChIJj61dQgK6j4AR4GeTYWZsKWw", "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "plusCode": { "globalCode": "849VCWC7+RW", "compoundCode": "CWC7+RW Mountain View, CA, USA" }, "displayName": { "text": "Googleplex", "languageCode": "en" } }
Получить дескрипторы адресов
Дескрипторы адресов предоставляют реляционную информацию о местоположении места, включая близлежащие достопримечательности и охватываемые территории.
В следующем примере показан запрос Place Details (New) для универмага в торговом центре Сан-Хосе. В этом примере addressDescriptors
добавляется в маску поля:
curl -X GET https://places.googleapis.com/v1/places/ChIJ8WvuSB7Lj4ARFyHppkxDRQ4 \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: name,displayName,addressDescriptor"
Ответ включает место, указанное в запросе, список близлежащих ориентиров и их расстояние от места, а также список территорий и их отношение к месту:
{ "name": "places/ChIJ8WvuSB7Lj4ARFyHppkxDRQ4", "displayName": { "text": "Macy's", "languageCode": "en" }, "addressDescriptor": { "landmarks": [ { "name": "places/ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "placeId": "ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "food", "movie_theater", "point_of_interest", "restaurant", "shoe_store", "shopping_mall", "store" ], "spatialRelationship": "WITHIN", "straightLineDistanceMeters": 220.29175 }, { "name": "places/ChIJ62_oCR7Lj4AR_MGWkSPotD4", "placeId": "ChIJ62_oCR7Lj4AR_MGWkSPotD4", "displayName": { "text": "Nordstrom", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "point_of_interest", "shoe_store", "store" ], "straightLineDistanceMeters": 329.45178 }, { "name": "places/ChIJmx1c5x7Lj4ARJXJy_CU_JbE", "placeId": "ChIJmx1c5x7Lj4ARJXJy_CU_JbE", "displayName": { "text": "Monroe Parking Garage", "languageCode": "en" }, "types": [ "establishment", "parking", "point_of_interest" ], "straightLineDistanceMeters": 227.05153 }, { "name": "places/ChIJxcwBziHLj4ARUQLAvtzkRCM", "placeId": "ChIJxcwBziHLj4ARUQLAvtzkRCM", "displayName": { "text": "Studios Inn by Daiwa Living California Inc.", "languageCode": "en" }, "types": [ "establishment", "lodging", "point_of_interest", "real_estate_agency" ], "straightLineDistanceMeters": 299.9955 }, { "name": "places/ChIJWWIlNx7Lj4ARpe1E0ob-_GI", "placeId": "ChIJWWIlNx7Lj4ARpe1E0ob-_GI", "displayName": { "text": "Din Tai Fung", "languageCode": "en" }, "types": [ "establishment", "food", "point_of_interest", "restaurant" ], "straightLineDistanceMeters": 157.70943 } ], "areas": [ { "name": "places/ChIJb3F-EB7Lj4ARnHApQ_Hu1gI", "placeId": "ChIJb3F-EB7Lj4ARnHApQ_Hu1gI", "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "containment": "WITHIN" }, { "name": "places/ChIJXYuykB_Lj4AR1Ot8nU5q26Q", "placeId": "ChIJXYuykB_Lj4AR1Ot8nU5q26Q", "displayName": { "text": "Valley Fair", "languageCode": "en" }, "containment": "WITHIN" }, { "name": "places/ChIJtYoUX2DLj4ARKoKOb1G0CpM", "placeId": "ChIJtYoUX2DLj4ARKoKOb1G0CpM", "displayName": { "text": "Central San Jose", "languageCode": "en" }, "containment": "WITHIN" } ] } }
Попробуйте!
API Explorer позволяет вам делать образцы запросов, чтобы вы могли ознакомиться с API и его параметрами.
Выберите значок API api на правой стороне страницы.
При желании отредактируйте параметры запроса.
Нажмите кнопку «Выполнить» . В диалоговом окне выберите учётную запись, которую вы хотите использовать для отправки запроса.
На панели обозревателя API выберите значок полноэкранного режима, чтобы развернуть окно обозревателя API.