Введение
Получив идентификатор места , вы можете запросить более подробную информацию о конкретном заведении или объекте интереса, отправив запрос «Сведения о месте (новый)» . Запрос «Сведения о месте (новый)» возвращает более полную информацию об указанном месте, такую как его полный адрес, номер телефона, рейтинг пользователей и отзывы.
Существует множество способов получить идентификатор места. Вы можете использовать:
- Текстовый поиск (новый) или поиск поблизости (новый)
- 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
moved_place
moved_place_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" } ] } }
Получить подробную информацию о переехавшем месте
Если место, указанное в вашем приложении, было перемещено, вы можете использовать поля movedPlace и movedPlaceId чтобы получить сведения о новом месте.
Для мест, которые закрыты навсегда , функция «Сведения о месте (новое)» возвращает CLOSED_PERMANENTLY в поле businessStatus и опускает поля movedPlace и movedPlaceId в теле ответа.
Для мест, которые были перемещены в новое местоположение , Place Details (New) возвращает CLOSED_PERMANENTLY в поле businessStatus и возвращает новое местоположение в полях movedPlace и movedPlaceId тела ответа.
Для мест, которые не были перемещены , Place Details (New) не возвращает movedPlace или movedPlaceId в теле ответа.
В следующем примере запрашивается информация о месте Marche IGA St-Canut в Квебеке, Канада:
curl -X GET -H 'Content-Type: application/json' \ -H 'x-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: id,displayName,businessStatus,movedPlace,movedPlaceId' \ https://places.googleapis.com/v1/places/ChIJUfQdGInVzkwRzAjmjzWB7CQ
Запрос возвращает следующий ответ:
{ "id": "ChIJUfQdGInVzkwRzAjmjzWB7CQ", "businessStatus": "CLOSED_PERMANENTLY", "displayName": { "text": "Marche IGA St-Canut", "languageCode": "en" }, "movedPlace": "places/ChIJ36QT7n8qz0wRDqVZ_UBlUlQ", "movedPlaceId": "ChIJ36QT7n8qz0wRDqVZ_UBlUlQ" }
Чтобы запросить сведения о новом месте, используйте имя ресурса Place в поле movedPlace в новом запросе Place Details (New).
Для мест, которые несколько раз меняли местоположение, для получения информации о текущем местоположении может потребоваться несколько последовательных запросов Place Details (New). Поля movedPlace и movedPlaceId в результатах поиска места указывают только на следующее местоположение, а не на последнее известное. Место находится в текущем местоположении, если запрос Place Details (New) не содержит полей movedPlace и movedPlaceId в теле ответа.
Попробуйте!
API Explorer позволяет вам делать образцы запросов, чтобы вы могли ознакомиться с API и его параметрами.
Выберите значок API api на правой стороне страницы.
При желании отредактируйте параметры запроса.
Нажмите кнопку «Выполнить» . В диалоговом окне выберите учётную запись, которую вы хотите использовать для отправки запроса.
На панели обозревателя API выберите значок полноэкранного режима, чтобы развернуть окно обозревателя API.