Запрос «Поиск поблизости (новый)» принимает один или несколько типов мест и возвращает список соответствующих мест в указанной области. Требуется маска поля, определяющая один или несколько типов данных. Поиск поблизости (новое) поддерживает только запросы POST.
Обозреватель API позволяет вам делать запросы в реальном времени, чтобы вы могли ознакомиться с API и опциями API:
Попробуйте интерактивную демонстрацию , чтобы увидеть результаты поиска поблизости (новое), отображаемые на карте.
Запросы поиска поблизости (новые)
Запрос «Поиск поблизости (новый)» — это запрос HTTP POST к URL-адресу в форме:
https://places.googleapis.com/v1/places:searchNearby
Передайте все параметры в теле запроса JSON или в заголовках как часть запроса POST. Например:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Поиск поблизости (новые) ответы
Поиск поблизости (новый) возвращает в качестве ответа объект JSON . В ответ:
- Массив
places
содержит все совпадающие места. - Каждое место в массиве представлено объектом
Place
. ОбъектPlace
содержит подробную информацию об одном месте. - FieldMask , переданный в запросе, определяет список полей, возвращаемых в объекте
Place
.
Полный объект JSON имеет вид:
{ "places": [ { object (Place) } ] }
Обязательные параметры
Маска поля
Укажите список полей, которые будут возвращены в ответе, создав маску поля ответа . Передайте маску поля ответа методу, используя параметр URL
$fields
илиfields
или HTTP-заголовокX-Goog-FieldMask
. В ответе нет списка возвращаемых полей по умолчанию. Если вы опустите маску поля, метод вернет ошибку.Маскирование полей — это хорошая практика проектирования, позволяющая избежать запроса ненужных данных, что помогает избежать ненужного времени обработки и затрат на выставление счетов.
Укажите разделенный запятыми список типов данных о местах, которые необходимо вернуть. Например, чтобы получить отображаемое имя и адрес места.
X-Goog-FieldMask: places.displayName,places.formattedAddress
Используйте
*
, чтобы получить все поля.X-Goog-FieldMask: *
Укажите одно или несколько из следующих полей:
Следующие поля активируют SKU Nearby Search Pro :
places.accessibilityOptions
places.addressComponents
places.adrFormatAddress
places.attributions
places.businessStatus
places.containingPlaces
places.displayName
places.formattedAddress
places.googleMapsLinks
*
places.googleMapsUri
places.iconBackgroundColor
places.iconMaskBaseUri
places.id
places.location
places.name
**
places.photos
places.plusCode
places.postalAddress
places.primaryType
places.primaryTypeDisplayName
places.pureServiceAreaBusiness
places.shortFormattedAddress
places.subDestinations
places.types
places.utcOffsetMinutes
places.viewport
* Полеplaces.googleMapsLinks
находится на стадии предварительной версии GA, и за нее не взимается плата, то есть оплата за использование во время предварительной версии составляет 0 долларов США.
** Полеplaces.name
содержит название ресурса места в форматеplaces/ PLACE_ID
. Используйтеplaces.displayName
для доступа к текстовому названию места.Следующие поля активируют SKU Nearby Search Enterprise :
places.currentOpeningHours
places.currentSecondaryOpeningHours
places.internationalPhoneNumber
places.nationalPhoneNumber
places.priceLevel
places.priceRange
places.rating
places.regularOpeningHours
places.regularSecondaryOpeningHours
places.userRatingCount
places.websiteUri
Следующие поля активируют SKU Nearby Search Enterprise Plus :
places.allowsDogs
places.curbsidePickup
places.delivery
places.dineIn
places.editorialSummary
places.evChargeOptions
places.fuelOptions
places.goodForChildren
places.goodForGroups
places.goodForWatchingSports
places.liveMusic
places.menuForChildren
places.parkingOptions
places.paymentOptions
places.outdoorSeating
places.reservable
places.restroom
places.reviews
places.routingSummaries
*
places.servesBeer
places.servesBreakfast
places.servesBrunch
places.servesCocktails
places.servesCoffee
places.servesDessert
places.servesDinner
places.servesLunch
places.servesVegetarianFood
places.servesWine
places.takeout
* Только текстовый поиск и поиск поблизости.
МестоположениеОграничение
Область поиска указана в виде круга, определяемого центральной точкой и радиусом в метрах. Радиус должен находиться в диапазоне от 0,0 до 50000,0 включительно. Радиус по умолчанию — 0,0. Вы должны установить его в своем запросе на значение больше 0,0.
Например:
"locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Дополнительные параметры
includeTypes/excludedTypes, includePrimaryTypes/excludedPrimaryTypes
Позволяет указать список типов из таблицы типов A, используемых для фильтрации результатов поиска. В каждой категории ограничения типов можно указать до 50 типов.
Место может иметь только один основной тип из таблицы типов, связанных с ним. Например, основным типом может быть
"mexican_restaurant"
или"steak_house"
. ИспользуйтеincludedPrimaryTypes
иexcludedPrimaryTypes
чтобы фильтровать результаты по основному типу места.Место также может иметь несколько значений типов из таблицы типов, связанных с ним. Например, ресторан может иметь следующие типы:
"seafood_restaurant"
,"restaurant"
,"food"
,"point_of_interest"
,"establishment"
. ИспользуйтеincludedTypes
иexcludedTypes
чтобы фильтровать результаты в списке типов, связанных с местом.Когда вы указываете общий основной тип, например
"restaurant"
или"hotel"
, ответ может содержать места с более конкретным основным типом, чем указанный. Например, вы указываете включить основной тип"restaurant"
. Тогда ответ может содержать места с основным типом"restaurant"
, но ответ также может содержать места с более конкретным основным типом, например"chinese_restaurant"
или"seafood_restaurant"
.Если для поиска заданы ограничения нескольких типов, возвращаются только места, удовлетворяющие всем ограничениям. Например, если вы укажете
{"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}
, возвращаемые места предоставляют услуги, связанные с"restaurant"
, но не работают в основном как"steak_house"
.включенные типы
Разделенный запятыми список типов мест из таблицы А для поиска. Если этот параметр опущен, возвращаются места всех типов.
исключенные типы
Список типов мест из таблицы А , разделенных запятыми, которые необходимо исключить из поиска.
Если вы укажете в запросе как
includedTypes
(например,"school"
), так иexcludedTypes
типы (например,"primary_school"
), то в ответ будут включены места, которые относятся к категории"school"
, но не к"primary_school"
. Ответ включает места, соответствующие хотя бы одному изincludedTypes
и ни одному изexcludedTypes
.Если есть какие-либо конфликтующие типы, например тип, встречающийся как в
includedTypes
, так иexcludedTypes
, возвращается ошибкаINVALID_REQUEST
.включенные первичные типы
Разделенный запятыми список основных типов мест из таблицы А для включения в поиск.
исключенные первичные типы
Разделенный запятыми список основных типов мест из таблицы А , которые следует исключить из поиска.
Если есть какие-либо конфликтующие первичные типы, например тип, встречающийся как в
includedPrimaryTypes
, так иexcludedPrimaryTypes
, возвращается ошибкаINVALID_ARGUMENT
.языковой код
Язык, на котором возвращаются результаты.
- См. список поддерживаемых языков . Google часто обновляет поддерживаемые языки, поэтому этот список может быть неполным.
- Если
languageCode
не указан, API по умолчанию имеет значениеen
. Если вы укажете неверный код языка, API вернет ошибкуINVALID_ARGUMENT
. - API делает все возможное, чтобы предоставить почтовый адрес, который будет удобен для чтения как пользователем, так и местными жителями. Для достижения этой цели он возвращает адреса на местном языке, транслитерированные в сценарий, который при необходимости читается пользователем, с учетом предпочтительного языка. Все остальные адреса возвращаются на предпочитаемом языке. Все компоненты адреса возвращаются на одном языке, выбранном из первого компонента.
- Если имя недоступно на предпочитаемом языке, API использует наиболее близкое совпадение.
- Предпочитаемый язык оказывает небольшое влияние на набор результатов, которые API выбирает для возврата, и порядок их возврата. Геокодер интерпретирует сокращения по-разному в зависимости от языка, например сокращения типов улиц или синонимы, которые могут быть допустимы для одного языка, но недопустимы для другого.
МаксРезультатКаунт
Указывает максимальное количество возвращаемых результатов размещения. Должно быть от 1 до 20 (по умолчанию) включительно.
рангПредпочтение
Используемый тип рейтинга. Если этот параметр опущен, результаты ранжируются по популярности. Может быть одним из следующих:
-
POPULARITY
(по умолчанию) Сортирует результаты по популярности. -
DISTANCE
Сортирует результаты в порядке возрастания по расстоянию от указанного местоположения.
-
Код региона
Код региона, используемый для форматирования ответа в виде двухсимвольного значения кода CLDR . Значения по умолчанию нет.
Если название страны в поле
formattedAddress
в ответе соответствуетregionCode
, код страны опускается вformattedAddress
. Этот параметр не влияет наadrFormatAddress
, который всегда включает название страны, или наshortFormattedAddress
, который никогда его не включает.Большинство кодов CLDR идентичны кодам ISO 3166-1, за некоторыми заметными исключениями. Например, нДВУ Соединенного Королевства — «uk» (.co.uk), а его код ISO 3166-1 — «gb» (технически для организации «Соединенное Королевство Великобритании и Северной Ирландии»). Параметр может повлиять на результаты в соответствии с действующим законодательством.
Примеры поиска поблизости (новые)
Найти места одного типа
В следующем примере показан запрос «Поиск поблизости (новый)» для отображаемых названий всех ресторанов в радиусе 500 метров, определяемых circle
:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Обратите внимание, что заголовок X-Goog-FieldMask
указывает, что ответ содержит следующие поля данных: places.displayName
. Тогда ответ имеет вид:
{ "places": [ { "displayName": { "text": "La Mar Cocina Peruana", "languageCode": "en" } }, { "displayName": { "text": "Kokkari Estiatorio", "languageCode": "en" } }, { "displayName": { "text": "Harborview Restaurant & Bar", "languageCode": "en" } }, ... }
Добавьте дополнительные типы данных в маску поля, чтобы вернуть дополнительную информацию. Например, добавьтеplaces.formattedAddress places.formattedAddress,places.types,places.websiteUri
, чтобы включить в ответ адрес, тип и веб-адрес ресторана:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.formattedAddress,places.types,places.websiteUri" \ https://places.googleapis.com/v1/places:searchNearby
Теперь ответ имеет вид:
{ "places": [ { "types": [ "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "PIER 1 1/2 The Embarcadero N, San Francisco, CA 94105, USA", "websiteUri": "http://lamarsf.com/", "displayName": { "text": "La Mar Cocina Peruana", "languageCode": "en" } }, { "types": [ "greek_restaurant", "meal_takeaway", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "200 Jackson St, San Francisco, CA 94111, USA", "websiteUri": "https://kokkari.com/", "displayName": { "text": "Kokkari Estiatorio", "languageCode": "en" } }, ... }
Находите места разных типов
В следующем примере показан запрос «Поиск поблизости (новый)» для отображаемых названий всех магазинов повседневного спроса и винных магазинов в радиусе 1000 метров от указанного circle
:
curl -X POST -d '{ "includedTypes": ["liquor_store", "convenience_store"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.primaryType,places.types" \ https://places.googleapis.com/v1/places:searchNearby
places.primaryType
и places.types
, чтобы ответ включал информацию о типе каждого места, что упрощает выбор подходящего места из результатов.Исключить тип места из поиска
В следующем примере показан запрос «Поиск поблизости (новый)» для всех мест типа "school"
, исключая все места типа "primary_school"
, результаты ранжируются по расстоянию:
curl -X POST -d '{ "includedTypes": ["school"], "excludedTypes": ["primary_school"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } }, "rankPreference": "DISTANCE" }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Поиск всех мест рядом с определенной областью, ранжирование по расстоянию
В следующем примере показан запрос «Поиск поблизости (новый)» для мест рядом с точкой в центре Сан-Франциско. В этом примере вы включаете параметр rankPreference
для ранжирования результатов по расстоянию:
curl -X POST -d '{ "maxResultCount": 10, "rankPreference": "DISTANCE", "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Попробуйте!
Обозреватель API позволяет вам создавать образцы запросов, чтобы вы могли ознакомиться с API и опциями API.
Выберите значок API API в правой части страницы.
При желании отредактируйте параметры запроса.
Нажмите кнопку «Выполнить» . В диалоговом окне выберите учетную запись, которую вы хотите использовать для отправки запроса.
На панели «Обозреватель API» выберите полноэкранный значок, чтобы развернуть окно Обозревателя API.
Запрос «Поиск поблизости (новый)» принимает один или несколько типов мест и возвращает список соответствующих мест в указанной области. Требуется маска поля, определяющая один или несколько типов данных. Поиск поблизости (новинка) поддерживает только запросы POST.
Обозреватель API позволяет вам делать запросы в реальном времени, чтобы вы могли ознакомиться с API и опциями API:
Попробуйте интерактивную демонстрацию , чтобы увидеть результаты поиска поблизости (новое), отображаемые на карте.
Запросы поиска поблизости (новые)
Запрос «Поиск поблизости (новый)» — это запрос HTTP POST к URL-адресу в форме:
https://places.googleapis.com/v1/places:searchNearby
Передайте все параметры в теле запроса JSON или в заголовках как часть запроса POST. Например:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Поиск поблизости (новые) ответы
Поиск поблизости (новый) возвращает в качестве ответа объект JSON . В ответ:
- Массив
places
содержит все совпадающие места. - Каждое место в массиве представлено объектом
Place
. ОбъектPlace
содержит подробную информацию об одном месте. - FieldMask , переданный в запросе, определяет список полей, возвращаемых в объекте
Place
.
Полный объект JSON имеет вид:
{ "places": [ { object (Place) } ] }
Обязательные параметры
Маска поля
Укажите список полей, которые будут возвращены в ответе, создав маску поля ответа . Передайте маску поля ответа методу, используя параметр URL
$fields
илиfields
или HTTP-заголовокX-Goog-FieldMask
. В ответе нет списка возвращаемых полей по умолчанию. Если вы опустите маску поля, метод вернет ошибку.Маскирование полей — это хорошая практика проектирования, позволяющая избежать запроса ненужных данных, что помогает избежать ненужного времени обработки и затрат на выставление счетов.
Укажите разделенный запятыми список типов данных о местах, которые необходимо вернуть. Например, чтобы получить отображаемое имя и адрес места.
X-Goog-FieldMask: places.displayName,places.formattedAddress
Используйте
*
, чтобы получить все поля.X-Goog-FieldMask: *
Укажите одно или несколько из следующих полей:
Следующие поля активируют SKU Nearby Search Pro :
places.accessibilityOptions
places.addressComponents
places.adrFormatAddress
places.attributions
places.businessStatus
places.containingPlaces
places.displayName
places.formattedAddress
places.googleMapsLinks
*
places.googleMapsUri
places.iconBackgroundColor
places.iconMaskBaseUri
places.id
places.location
places.name
**
places.photos
places.plusCode
places.postalAddress
places.primaryType
places.primaryTypeDisplayName
places.pureServiceAreaBusiness
places.shortFormattedAddress
places.subDestinations
places.types
places.utcOffsetMinutes
places.viewport
* Полеplaces.googleMapsLinks
находится на стадии предварительной версии GA, и за нее не взимается плата, то есть оплата за использование во время предварительной версии составляет 0 долларов США.
** Полеplaces.name
содержит название ресурса места в форматеplaces/ PLACE_ID
. Используйтеplaces.displayName
для доступа к текстовому названию места.Следующие поля активируют SKU Nearby Search Enterprise :
places.currentOpeningHours
places.currentSecondaryOpeningHours
places.internationalPhoneNumber
places.nationalPhoneNumber
places.priceLevel
places.priceRange
places.rating
places.regularOpeningHours
places.regularSecondaryOpeningHours
places.userRatingCount
places.websiteUri
Следующие поля активируют SKU Nearby Search Enterprise Plus :
places.allowsDogs
places.curbsidePickup
places.delivery
places.dineIn
places.editorialSummary
places.evChargeOptions
places.fuelOptions
places.goodForChildren
places.goodForGroups
places.goodForWatchingSports
places.liveMusic
places.menuForChildren
places.parkingOptions
places.paymentOptions
places.outdoorSeating
places.reservable
places.restroom
places.reviews
places.routingSummaries
*
places.servesBeer
places.servesBreakfast
places.servesBrunch
places.servesCocktails
places.servesCoffee
places.servesDessert
places.servesDinner
places.servesLunch
places.servesVegetarianFood
places.servesWine
places.takeout
* Только текстовый поиск и поиск поблизости.
МестоположениеОграничение
Область поиска указана в виде круга, определяемого центральной точкой и радиусом в метрах. Радиус должен находиться в диапазоне от 0,0 до 50000,0 включительно. Радиус по умолчанию — 0,0. Вы должны установить его в своем запросе на значение больше 0,0.
Например:
"locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Дополнительные параметры
includeTypes/excludedTypes, includePrimaryTypes/excludedPrimaryTypes
Позволяет указать список типов из таблицы типов A, используемых для фильтрации результатов поиска. В каждой категории ограничения типов можно указать до 50 типов.
Место может иметь только один основной тип из таблицы типов, связанных с ним. Например, основным типом может быть
"mexican_restaurant"
или"steak_house"
. ИспользуйтеincludedPrimaryTypes
иexcludedPrimaryTypes
чтобы фильтровать результаты по основному типу места.Место также может иметь несколько значений типов из таблицы типов, связанных с ним. Например, ресторан может иметь следующие типы:
"seafood_restaurant"
,"restaurant"
,"food"
,"point_of_interest"
,"establishment"
. ИспользуйтеincludedTypes
иexcludedTypes
чтобы фильтровать результаты в списке типов, связанных с местом.Когда вы указываете общий основной тип, например
"restaurant"
или"hotel"
, ответ может содержать места с более конкретным основным типом, чем указанный. Например, вы указываете включить основной тип"restaurant"
. Тогда ответ может содержать места с основным типом"restaurant"
, но ответ также может содержать места с более конкретным основным типом, например"chinese_restaurant"
или"seafood_restaurant"
.Если для поиска заданы ограничения нескольких типов, возвращаются только места, удовлетворяющие всем ограничениям. Например, если вы укажете
{"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}
, возвращаемые места предоставляют услуги, связанные с"restaurant"
, но не работают в основном как"steak_house"
.включенные типы
Разделенный запятыми список типов мест из таблицы А для поиска. Если этот параметр опущен, возвращаются места всех типов.
исключенные типы
Список типов мест из таблицы А , разделенных запятыми, которые необходимо исключить из поиска.
Если вы укажете в запросе как
includedTypes
(например,"school"
), так иexcludedTypes
типы (например,"primary_school"
), то в ответ будут включены места, которые относятся к категории"school"
, но не к"primary_school"
. Ответ включает места, соответствующие хотя бы одному изincludedTypes
и ни одному изexcludedTypes
.Если есть какие-либо конфликтующие типы, например тип, присутствующий как в
includedTypes
, так иexcludedTypes
, возвращается ошибкаINVALID_REQUEST
.включенные первичные типы
Разделенный запятыми список основных типов мест из таблицы А для включения в поиск.
исключенные первичные типы
Разделенный запятыми список основных типов мест из таблицы А , которые необходимо исключить из поиска.
Если есть какие-либо конфликтующие первичные типы, например тип, встречающийся как в
includedPrimaryTypes
, так иexcludedPrimaryTypes
, возвращается ошибкаINVALID_ARGUMENT
.языковой код
Язык, на котором возвращаются результаты.
- См. список поддерживаемых языков . Google часто обновляет поддерживаемые языки, поэтому этот список может быть неполным.
- Если
languageCode
не указан, API по умолчанию имеет значениеen
. Если вы укажете неверный код языка, API вернет ошибкуINVALID_ARGUMENT
. - API делает все возможное, чтобы предоставить почтовый адрес, который будет удобен для чтения как пользователем, так и местными жителями. Для достижения этой цели он возвращает адреса на местном языке, транслитерированные в сценарий, который при необходимости читается пользователем, с учетом предпочтительного языка. Все остальные адреса возвращаются на предпочитаемом языке. Все компоненты адреса возвращаются на одном языке, выбранном из первого компонента.
- Если имя недоступно на предпочитаемом языке, API использует наиболее близкое совпадение.
- Предпочитаемый язык оказывает небольшое влияние на набор результатов, которые API выбирает для возврата, и порядок их возврата. Геокодер интерпретирует сокращения по-разному в зависимости от языка, например сокращения типов улиц или синонимы, которые могут быть допустимы для одного языка, но недопустимы для другого.
МаксРезультатКаунт
Указывает максимальное количество возвращаемых результатов размещения. Должно быть от 1 до 20 (по умолчанию) включительно.
рангПредпочтение
Используемый тип рейтинга. Если этот параметр опущен, результаты ранжируются по популярности. Может быть одним из следующих:
-
POPULARITY
(по умолчанию) Сортирует результаты по популярности. -
DISTANCE
Сортирует результаты в порядке возрастания по расстоянию от указанного местоположения.
-
Код региона
Код региона, используемый для форматирования ответа в виде двухсимвольного значения кода CLDR . Значения по умолчанию нет.
Если название страны в поле
formattedAddress
в ответе соответствуетregionCode
, код страны опускается вformattedAddress
. Этот параметр не влияет наadrFormatAddress
, который всегда включает название страны, или наshortFormattedAddress
, который никогда его не включает.Большинство кодов CLDR идентичны кодам ISO 3166-1, за некоторыми заметными исключениями. Например, нДВУ Соединенного Королевства — «uk» (.co.uk), а его код ISO 3166-1 — «gb» (технически для организации «Соединенное Королевство Великобритании и Северной Ирландии»). Параметр может повлиять на результаты в соответствии с действующим законодательством.
Примеры поиска поблизости (новые)
Найти места одного типа
В следующем примере показан запрос «Поиск поблизости (новый)» для отображаемых названий всех ресторанов в радиусе 500 метров, определяемых circle
:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Обратите внимание, что заголовок X-Goog-FieldMask
указывает, что ответ содержит следующие поля данных: places.displayName
. Тогда ответ имеет вид:
{ "places": [ { "displayName": { "text": "La Mar Cocina Peruana", "languageCode": "en" } }, { "displayName": { "text": "Kokkari Estiatorio", "languageCode": "en" } }, { "displayName": { "text": "Harborview Restaurant & Bar", "languageCode": "en" } }, ... }
Добавьте дополнительные типы данных в маску поля, чтобы вернуть дополнительную информацию. Например, добавьтеplaces.formattedAddress places.formattedAddress,places.types,places.websiteUri
, чтобы включить в ответ адрес, тип и веб-адрес ресторана:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.formattedAddress,places.types,places.websiteUri" \ https://places.googleapis.com/v1/places:searchNearby
Теперь ответ имеет вид:
{ "places": [ { "types": [ "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "PIER 1 1/2 The Embarcadero N, San Francisco, CA 94105, USA", "websiteUri": "http://lamarsf.com/", "displayName": { "text": "La Mar Cocina Peruana", "languageCode": "en" } }, { "types": [ "greek_restaurant", "meal_takeaway", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "200 Jackson St, San Francisco, CA 94111, USA", "websiteUri": "https://kokkari.com/", "displayName": { "text": "Kokkari Estiatorio", "languageCode": "en" } }, ... }
Находите места разных типов
В следующем примере показан запрос «Поиск поблизости (новый)» для отображаемых названий всех магазинов повседневного спроса и винных магазинов в радиусе 1000 метров от указанного circle
:
curl -X POST -d '{ "includedTypes": ["liquor_store", "convenience_store"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.primaryType,places.types" \ https://places.googleapis.com/v1/places:searchNearby
places.primaryType
и places.types
, чтобы ответ включал информацию о типе каждого места, что упрощает выбор подходящего места из результатов.Исключить тип места из поиска
В следующем примере показан запрос «Поиск поблизости (новый)» для всех мест типа "school"
, исключая все места типа "primary_school"
, результаты ранжируются по расстоянию:
curl -X POST -d '{ "includedTypes": ["school"], "excludedTypes": ["primary_school"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } }, "rankPreference": "DISTANCE" }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Поиск всех мест рядом с определенной областью, ранжирование по расстоянию
В следующем примере показан запрос «Поиск поблизости (новый)» для мест рядом с точкой в центре Сан-Франциско. В этом примере вы включаете параметр rankPreference
для ранжирования результатов по расстоянию:
curl -X POST -d '{ "maxResultCount": 10, "rankPreference": "DISTANCE", "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Попробуйте!
Обозреватель API позволяет вам создавать образцы запросов, чтобы вы могли ознакомиться с API и опциями API.
Выберите значок API API в правой части страницы.
При желании отредактируйте параметры запроса.
Нажмите кнопку «Выполнить» . В диалоговом окне выберите учетную запись, которую вы хотите использовать для отправки запроса.
На панели «Обозреватель API» выберите полноэкранный значок, чтобы развернуть окно Обозревателя API.
Запрос «Поиск поблизости (новый)» принимает один или несколько типов мест и возвращает список соответствующих мест в указанной области. Требуется маска поля, определяющая один или несколько типов данных. Поиск поблизости (новое) поддерживает только запросы POST.
Обозреватель API позволяет вам делать запросы в реальном времени, чтобы вы могли ознакомиться с API и опциями API:
Попробуйте интерактивную демонстрацию , чтобы увидеть результаты поиска поблизости (новое), отображаемые на карте.
Запросы поиска поблизости (новые)
Запрос «Поиск поблизости (новый)» — это запрос HTTP POST к URL-адресу в форме:
https://places.googleapis.com/v1/places:searchNearby
Передайте все параметры в теле запроса JSON или в заголовках как часть запроса POST. Например:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Поиск поблизости (новые) ответы
Поиск поблизости (новый) возвращает в качестве ответа объект JSON . В ответ:
- Массив
places
содержит все совпадающие места. - Каждое место в массиве представлено объектом
Place
. ОбъектPlace
содержит подробную информацию об одном месте. - FieldMask , переданный в запросе, определяет список полей, возвращаемых в объекте
Place
.
Полный объект JSON имеет вид:
{ "places": [ { object (Place) } ] }
Обязательные параметры
Маска поля
Укажите список полей, которые будут возвращены в ответе, создав маску поля ответа . Передайте маску поля ответа методу, используя параметр URL
$fields
илиfields
или HTTP-заголовокX-Goog-FieldMask
. В ответе нет списка возвращаемых полей по умолчанию. Если вы опустите маску поля, метод вернет ошибку.Маскирование полей — это хорошая практика проектирования, позволяющая избежать запроса ненужных данных, что помогает избежать ненужного времени обработки и затрат на выставление счетов.
Укажите разделенный запятыми список типов данных о местах, которые необходимо вернуть. Например, чтобы получить отображаемое имя и адрес места.
X-Goog-FieldMask: places.displayName,places.formattedAddress
Используйте
*
, чтобы получить все поля.X-Goog-FieldMask: *
Укажите одно или несколько из следующих полей:
Следующие поля активируют SKU Nearby Search Pro :
places.accessibilityOptions
places.addressComponents
places.adrFormatAddress
places.attributions
places.businessStatus
places.containingPlaces
places.displayName
places.formattedAddress
places.googleMapsLinks
*
places.googleMapsUri
places.iconBackgroundColor
places.iconMaskBaseUri
places.id
places.location
places.name
**
places.photos
places.plusCode
places.postalAddress
places.primaryType
places.primaryTypeDisplayName
places.pureServiceAreaBusiness
places.shortFormattedAddress
places.subDestinations
places.types
places.utcOffsetMinutes
places.viewport
* Полеplaces.googleMapsLinks
находится на стадии предварительной версии GA, и за нее не взимается плата, то есть оплата за использование во время предварительной версии составляет 0 долларов США.
** Полеplaces.name
содержит название ресурса места в форматеplaces/ PLACE_ID
. Используйтеplaces.displayName
для доступа к текстовому названию места.Следующие поля активируют SKU Nearby Search Enterprise :
places.currentOpeningHours
places.currentSecondaryOpeningHours
places.internationalPhoneNumber
places.nationalPhoneNumber
places.priceLevel
places.priceRange
places.rating
places.regularOpeningHours
places.regularSecondaryOpeningHours
places.userRatingCount
places.websiteUri
Следующие поля активируют SKU Nearby Search Enterprise Plus :
places.allowsDogs
places.curbsidePickup
places.delivery
places.dineIn
places.editorialSummary
places.evChargeOptions
places.fuelOptions
places.goodForChildren
places.goodForGroups
places.goodForWatchingSports
places.liveMusic
places.menuForChildren
places.parkingOptions
places.paymentOptions
places.outdoorSeating
places.reservable
places.restroom
places.reviews
places.routingSummaries
*
places.servesBeer
places.servesBreakfast
places.servesBrunch
places.servesCocktails
places.servesCoffee
places.servesDessert
places.servesDinner
places.servesLunch
places.servesVegetarianFood
places.servesWine
places.takeout
* Только текстовый поиск и поиск поблизости.
МестоположениеОграничение
Область поиска указана в виде круга, определяемого центральной точкой и радиусом в метрах. Радиус должен находиться в диапазоне от 0,0 до 50000,0 включительно. Радиус по умолчанию — 0,0. Вы должны установить его в своем запросе на значение больше 0,0.
Например:
"locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Дополнительные параметры
includeTypes/excludedTypes, includePrimaryTypes/excludedPrimaryTypes
Позволяет указать список типов из таблицы типов A, используемых для фильтрации результатов поиска. В каждой категории ограничения типов можно указать до 50 типов.
Место может иметь только один основной тип из таблицы типов, связанных с ним. Например, основным типом может быть
"mexican_restaurant"
или"steak_house"
. ИспользуйтеincludedPrimaryTypes
иexcludedPrimaryTypes
чтобы фильтровать результаты по основному типу места.Место также может иметь несколько значений типов из таблицы типов, связанных с ним. Например, ресторан может иметь следующие типы:
"seafood_restaurant"
,"restaurant"
,"food"
,"point_of_interest"
,"establishment"
. ИспользуйтеincludedTypes
иexcludedTypes
чтобы фильтровать результаты в списке типов, связанных с местом.Когда вы указываете общий основной тип, например
"restaurant"
или"hotel"
, ответ может содержать места с более конкретным основным типом, чем указанный. Например, вы указываете включить основной тип"restaurant"
. Тогда ответ может содержать места с основным типом"restaurant"
, но ответ также может содержать места с более конкретным основным типом, например"chinese_restaurant"
или"seafood_restaurant"
.Если для поиска заданы ограничения нескольких типов, возвращаются только места, удовлетворяющие всем ограничениям. Например, если вы укажете
{"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}
, возвращаемые места предоставляют услуги, связанные с"restaurant"
, но не работают в основном как"steak_house"
.включенные типы
Разделенный запятыми список типов мест из таблицы А для поиска. Если этот параметр опущен, возвращаются места всех типов.
исключенные типы
Список типов мест из таблицы А , разделенных запятыми, которые необходимо исключить из поиска.
Если вы укажете в запросе как
includedTypes
(например,"school"
), так иexcludedTypes
типы (например,"primary_school"
), то в ответ будут включены места, которые относятся к категории"school"
, но не к"primary_school"
. Ответ включает места, соответствующие хотя бы одному изincludedTypes
и ни одному изexcludedTypes
.Если есть какие-либо конфликтующие типы, например тип, встречающийся как в
includedTypes
, так иexcludedTypes
, возвращается ошибкаINVALID_REQUEST
.включенные первичные типы
Разделенный запятыми список основных типов мест из таблицы А для включения в поиск.
исключенные первичные типы
Разделенный запятыми список основных типов мест из таблицы А , которые следует исключить из поиска.
Если есть какие-либо конфликтующие первичные типы, например тип, встречающийся как в
includedPrimaryTypes
, так иexcludedPrimaryTypes
, возвращается ошибкаINVALID_ARGUMENT
.языковой код
Язык, на котором возвращаются результаты.
- См. список поддерживаемых языков . Google часто обновляет поддерживаемые языки, поэтому этот список может быть неполным.
- Если
languageCode
не указан, API по умолчанию имеет значениеen
. Если вы укажете неверный код языка, API вернет ошибкуINVALID_ARGUMENT
. - API делает все возможное, чтобы предоставить почтовый адрес, который будет удобен для чтения как пользователем, так и местными жителями. Для достижения этой цели он возвращает адреса на местном языке, транслитерированные в сценарий, который при необходимости читается пользователем, с учетом предпочтительного языка. Все остальные адреса возвращаются на предпочитаемом языке. Все компоненты адреса возвращаются на одном языке, выбранном из первого компонента.
- Если имя недоступно на предпочитаемом языке, API использует наиболее близкое совпадение.
- Предпочитаемый язык оказывает небольшое влияние на набор результатов, которые API выбирает для возврата, и порядок их возврата. Геокодер интерпретирует сокращения по-разному в зависимости от языка, например сокращения типов улиц или синонимы, которые могут быть допустимы для одного языка, но недопустимы для другого.
МаксРезультатКаунт
Указывает максимальное количество возвращаемых результатов размещения. Должно быть от 1 до 20 (по умолчанию) включительно.
рангПредпочтение
Используемый тип рейтинга. Если этот параметр опущен, результаты ранжируются по популярности. Может быть одним из следующих:
-
POPULARITY
(по умолчанию) Сортирует результаты по популярности. -
DISTANCE
Сортирует результаты в порядке возрастания по расстоянию от указанного местоположения.
-
Код региона
Код региона, используемый для форматирования ответа в виде двухсимвольного значения кода CLDR . Значения по умолчанию нет.
Если название страны в поле
formattedAddress
в ответе соответствуетregionCode
, код страны опускается вformattedAddress
. Этот параметр не влияет наadrFormatAddress
, который всегда включает название страны, или наshortFormattedAddress
, который никогда его не включает.Большинство кодов CLDR идентичны кодам ISO 3166-1, за некоторыми заметными исключениями. Например, нДВУ Соединенного Королевства — «uk» (.co.uk), а его код ISO 3166-1 — «gb» (технически для организации «Соединенное Королевство Великобритании и Северной Ирландии»). Параметр может повлиять на результаты в соответствии с действующим законодательством.
Примеры поиска поблизости (новые)
Найти места одного типа
В следующем примере показан запрос «Поиск поблизости (новый)» для отображаемых названий всех ресторанов в радиусе 500 метров, определяемых circle
:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Обратите внимание, что заголовок X-Goog-FieldMask
указывает, что ответ содержит следующие поля данных: places.displayName
. Тогда ответ имеет вид:
{ "places": [ { "displayName": { "text": "La Mar Cocina Peruana", "languageCode": "en" } }, { "displayName": { "text": "Kokkari Estiatorio", "languageCode": "en" } }, { "displayName": { "text": "Harborview Restaurant & Bar", "languageCode": "en" } }, ... }
Добавьте дополнительные типы данных в маску поля, чтобы вернуть дополнительную информацию. Например, добавьтеplaces.formattedAddress places.formattedAddress,places.types,places.websiteUri
, чтобы включить в ответ адрес, тип и веб-адрес ресторана:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.formattedAddress,places.types,places.websiteUri" \ https://places.googleapis.com/v1/places:searchNearby
Теперь ответ имеет вид:
{ "places": [ { "types": [ "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "PIER 1 1/2 The Embarcadero N, San Francisco, CA 94105, USA", "websiteUri": "http://lamarsf.com/", "displayName": { "text": "La Mar Cocina Peruana", "languageCode": "en" } }, { "types": [ "greek_restaurant", "meal_takeaway", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "200 Jackson St, San Francisco, CA 94111, USA", "websiteUri": "https://kokkari.com/", "displayName": { "text": "Kokkari Estiatorio", "languageCode": "en" } }, ... }
Находите места разных типов
В следующем примере показан запрос «Поиск поблизости (новый)» для отображаемых названий всех магазинов повседневного спроса и винных магазинов в радиусе 1000 метров от указанного circle
:
curl -X POST -d '{ "includedTypes": ["liquor_store", "convenience_store"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.primaryType,places.types" \ https://places.googleapis.com/v1/places:searchNearby
places.primaryType
и places.types
, чтобы ответ включал информацию о типе каждого места, что упрощает выбор подходящего места из результатов.Исключить тип места из поиска
В следующем примере показан запрос «Поиск поблизости (новый)» для всех мест типа "school"
, исключая все места типа "primary_school"
, результаты ранжируются по расстоянию:
curl -X POST -d '{ "includedTypes": ["school"], "excludedTypes": ["primary_school"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } }, "rankPreference": "DISTANCE" }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Поиск всех мест рядом с определенной областью, ранжирование по расстоянию
В следующем примере показан запрос «Поиск поблизости (новый)» для мест рядом с точкой в центре Сан-Франциско. В этом примере вы включаете параметр rankPreference
для ранжирования результатов по расстоянию:
curl -X POST -d '{ "maxResultCount": 10, "rankPreference": "DISTANCE", "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Попробуйте!
Обозреватель API позволяет вам создавать образцы запросов, чтобы вы могли ознакомиться с API и опциями API.
Выберите значок API API в правой части страницы.
При желании отредактируйте параметры запроса.
Нажмите кнопку «Выполнить» . В диалоговом окне выберите учетную запись, которую вы хотите использовать для отправки запроса.
На панели «Обозреватель API» выберите полноэкранный значок, чтобы развернуть окно Обозревателя API.
Запрос в ближайшем поиске (новый) занимает один или несколько типов мест и возвращает список подходящих мест в указанной области. Требуется полевая маска, указывающая один или несколько типов данных. Близлежащий поиск (новый) поддерживает только запросы POST.
APIS Explorer позволяет вам делать живые запросы, чтобы вы могли познакомиться с API и параметрами API:
Попробуйте интерактивную демонстрацию , чтобы увидеть близлежащие результаты поиска (новые), отображаемые на карте.
Запросы на близлежащий поиск (новый)
Запрос ближайшего поиска (новый) - это запрос на сообщение HTTP на URL в форме:
https://places.googleapis.com/v1/places:searchNearby
Пропустите все параметры в теле запроса JSON или в заголовках как часть запроса POST. Например:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Близлежащие поисковые (новые) ответы
Близлежащий поиск (новый) возвращает объект JSON в качестве ответа . В ответ:
- Массив
places
содержит все подходящие места. - Каждое место в массиве представлено объектом
Place
. ОбъектPlace
содержит подробную информацию об одном месте. - В ходе запроса в запросе указан список полей, возвращаемых в объекте
Place
.
Полный объект JSON в форме:
{ "places": [ { object (Place) } ] }
Требуемые параметры
Fieldmask
Укажите список полей для возврата в ответ, создав маску поля ответа . Передайте маску поля ответа на метод, используя
$fields
илиfields
параметров URL или с помощью HTTP HeaderX-Goog-FieldMask
. В ответе нет списка возвращаемых полей по умолчанию. Если вы опустите маску поля, метод возвращает ошибку.Полевая маскировка является хорошей практикой дизайна, чтобы гарантировать, что вы не запрашиваете ненужные данные, что помогает избежать ненужного времени обработки и платежных платежей.
Укажите, разделяемый запятой список типов данных, чтобы вернуть. Например, чтобы получить отображаемое имя и адрес места.
X-Goog-FieldMask: places.displayName,places.formattedAddress
Используйте
*
, чтобы получить все поля.X-Goog-FieldMask: *
Укажите одно или несколько из следующих полей:
Следующие поля запускают близлежащий поиск Pro Sku :
places.accessibilityOptions
places.addressComponents
places.adrFormatAddress
places.attributions
places.businessStatus
places.containingPlaces
places.displayName
places.formattedAddress
places.googleMapsLinks
*
places.googleMapsUri
places.iconBackgroundColor
places.iconMaskBaseUri
places.id
places.location
places.name
.
places.photos
places.plusCode
places.postalAddress
places.primaryType
places.primaryTypeDisplayName
places.pureServiceAreaBusiness
places.shortFormattedAddress
places.subDestinations
places.types
places.utcOffsetMinutes
places.viewport
* Полеplaces.googleMapsLinks
находится на этапе предварительного просмотра до GA, и взимается плата, а это означает, что выставление составляет 0 долларов США за использование во время предварительного просмотра.
**places/ PLACE_ID
places.name
. Используйтеplaces.displayName
.Следующие поля запускают близлежащее поисковое предприятие SKU :
places.currentOpeningHours
places.currentSecondaryOpeningHours
places.internationalPhoneNumber
places.nationalPhoneNumber
places.priceLevel
places.priceRange
places.rating
places.regularOpeningHours
places.regularSecondaryOpeningHours
places.userRatingCount
places.websiteUri
Следующие поля запускают близлежащее поисковое предприятие плюс SKU :
places.allowsDogs
places.curbsidePickup
places.delivery
places.dineIn
places.editorialSummary
places.evChargeOptions
places.fuelOptions
places.goodForChildren
places.goodForGroups
places.goodForWatchingSports
places.liveMusic
places.menuForChildren
places.parkingOptions
places.paymentOptions
places.outdoorSeating
places.reservable
places.restroom
places.reviews
places.routingSummaries
*
places.servesBeer
places.servesBreakfast
places.servesBrunch
places.servesCocktails
places.servesCoffee
places.servesDessert
places.servesDinner
places.servesLunch
places.servesVegetarianFood
places.servesWine
places.takeout
* Поиск текста и только поблизости поиск
местоположение
Область для поиска, указанная как круг, определяемый центральной точкой и радиусом в метрах. Радиус должен быть от 0,0 до 50000,0, включительно. Радиус по умолчанию составляет 0,0. Вы должны установить его в своем запросе на значение, превышающее 0,0.
Например:
"locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Дополнительные параметры
IncladyTypes/excudEdTypes, включены pprimaryTypes/excudedPrimaryTypes
Позволяет указать список типов из типов таблицы A, используемых для фильтрации результатов поиска. До 50 типов можно указать в каждой категории ограничения типа.
Место может иметь только один основной тип из таблицы типов, связанный с ним. Например, основным типом может быть
"mexican_restaurant"
или"steak_house"
. ИспользованиеincludedPrimaryTypes
иexcludedPrimaryTypes
для фильтрации результатов на основном типе места.Место также может иметь несколько значений типа из таблицы типов, связанных с ним. Например, в ресторане могут быть следующие типы:
"seafood_restaurant"
,"restaurant"
,"food"
,"point_of_interest"
,"establishment"
. ИспользованиеincludedTypes
иexcludedTypes
для фильтрации результатов в списке типов, связанных с местом.Когда вы указываете общий основной тип, такой как
"restaurant"
или"hotel"
, ответ может содержать места с более конкретным основным типом, чем указанный. Например, вы указываете, чтобы включить основной тип"restaurant"
. Затем ответ может содержать места с основным типом"restaurant"
, но ответ также может содержать места с более конкретным основным типом, такими как"chinese_restaurant"
или"seafood_restaurant"
.Если поиск указан с ограничениями нескольких типов, только места, которые удовлетворяют все ограничения, возвращаются. Например, если вы указываете
{"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}
, возвращенные места предоставляют"restaurant"
связанные с услугами, но не работают в основном как"steak_house"
.включены
Разделенный запятой список типов мест из таблицы A для поиска. Если этот параметр пропущен, возвращаются места всех типов.
excudedTypes
Разделенный запятой список типов мест из таблицы A , чтобы исключить из поиска.
Если вы указываете как
includedTypes
(такие как"school"
), так иexcludedTypes
(например,"primary_school"
) в запросе, то ответ включает в себя места, которые классифицируются как"school"
, но не как"primary_school"
. Ответ включает в себя места, которые соответствуют по крайней мере одним изincludedTypes
, и ни один изexcludedTypes
.Если есть какие -либо противоречивые типы, такие как тип, появляющийся в обоих
includedTypes
, так иexcludedTypes
, возвращается ошибкаINVALID_REQUEST
.Включено pprimarytypes
Разделенный запятой список первичных типов мест из таблицы A , чтобы включить в поиск.
excudedPrimaryTypes
Разделенный запятой список первичных типов мест из таблицы A , чтобы исключить из поиска.
Если есть какие -либо противоречивые первичные типы, такие как тип, появляющийся в как
includedPrimaryTypes
, так иexcludedPrimaryTypes
, возвращается ошибкаINVALID_ARGUMENT
.языковой код
Язык, на котором можно вернуть результаты.
- Смотрите список поддерживаемых языков . Google часто обновляет поддерживаемые языки, поэтому этот список не может быть исчерпывающим.
- Если
languageCode
не поставляется, API по умолчанию поen
. Если вы указываете неверный языковой код, API возвращает ошибкуINVALID_ARGUMENT
. - API делает все возможное, чтобы предоставить уличный адрес, который читается как для пользователя, так и для местных жителей. Чтобы достичь этой цели, он возвращает уличные адреса на местном языке, транслитерированный на сценарий, читаемый пользователем, при необходимости, наблюдая за предпочтительным языком. Все остальные адреса возвращаются на предпочтительном языке. Все компоненты адресов возвращаются на одном языке, который выбирается из первого компонента.
- Если имя не доступно на предпочтительном языке, API использует самое близкое совпадение.
- Предпочтительный язык оказывает небольшое влияние на набор результатов, которые API решает вернуться, и порядок, в котором они возвращаются. Геокодер интерпретирует сокращения по -разному в зависимости от языка, таких как сокращения для типов улиц или синонимы, которые могут быть действительными на одном языке, но не на другом.
maxresultcount
Указывает максимальное количество результатов места для возврата. Должен быть от 1 до 20 (по умолчанию) включительно.
RankPreference
Тип ранжирования для использования. Если этот параметр опущен, результаты ранжируются по популярности. Может быть одним из следующих:
-
POPULARITY
(по умолчанию) сортирует результаты, основанные на их популярности. - Сорты
DISTANCE
приводят к восходящему порядку на их расстоянии от указанного места.
-
регион код
Код региона, используемый для форматирования ответа, указанный как двуххарактерное значение CLDR . Там нет значения по умолчанию.
Если название страны поля
formattedAddress
в ответе соответствует кодуregionCode
, код страны опущен отformattedAddress
. Этот параметр не влияет наadrFormatAddress
, который всегда включает название страны или наshortFormattedAddress
, который никогда не включает его.Большинство кодов CLDR идентичны кодам ISO 3166-1, за некоторыми заметными исключениями. Например, CCTLD в Великобритании-«Великобритания» (.co.uk), в то время как его ISO 3166-1-«ГБ» (технически для сущности «Соединенное Королевство Великобритании и Северная Ирландия»). Параметр может повлиять на результаты на основе применимого закона.
Примеры близлежащих поисковых (новых)
Найдите места одного типа
В следующем примере показан ближайший поиск (новый) запрос на имена дисплеев всех ресторанов в радиусе 500 метров, определяемый circle
:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Обратите внимание, что заголовок X-Goog-FieldMask
указывает, что ответ содержит следующие поля данных: places.displayName
. Ответ тогда в форме:
{ "places": [ { "displayName": { "text": "La Mar Cocina Peruana", "languageCode": "en" } }, { "displayName": { "text": "Kokkari Estiatorio", "languageCode": "en" } }, { "displayName": { "text": "Harborview Restaurant & Bar", "languageCode": "en" } }, ... }
Добавьте больше типов данных в полевую маску, чтобы вернуть дополнительную информацию. Например, добавьте places.formattedAddress,places.types,places.websiteUri
чтобы включить адрес ресторана, тип и веб -адрес в ответ:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.formattedAddress,places.types,places.websiteUri" \ https://places.googleapis.com/v1/places:searchNearby
Ответ сейчас в форме:
{ "places": [ { "types": [ "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "PIER 1 1/2 The Embarcadero N, San Francisco, CA 94105, USA", "websiteUri": "http://lamarsf.com/", "displayName": { "text": "La Mar Cocina Peruana", "languageCode": "en" } }, { "types": [ "greek_restaurant", "meal_takeaway", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "200 Jackson St, San Francisco, CA 94111, USA", "websiteUri": "https://kokkari.com/", "displayName": { "text": "Kokkari Estiatorio", "languageCode": "en" } }, ... }
Найдите места нескольких типов
В следующем примере показан ближайший поиск (новый) запрос на имена отображения всех магазинов и ликерных магазинов в радиусе 1000 метров от указанного circle
:
curl -X POST -d '{ "includedTypes": ["liquor_store", "convenience_store"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.primaryType,places.types" \ https://places.googleapis.com/v1/places:searchNearby
places.primaryType
places.types
Исключить тип места из поиска
В следующем примере показан ближайший поиск (новый) запрос для всех мест типа "school"
, исключая все места типа "primary_school"
, ранжируя результаты на расстоянии:
curl -X POST -d '{ "includedTypes": ["school"], "excludedTypes": ["primary_school"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } }, "rankPreference": "DISTANCE" }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Ищите все места возле области, ранжируя на расстоянии
В следующем примере показан ближайший поиск (новый) запрос на места рядом с точкой в центре Сан -Франциско. В этом примере вы включаете параметр rankPreference
, чтобы ранжировать результаты на расстоянии:
curl -X POST -d '{ "maxResultCount": 10, "rankPreference": "DISTANCE", "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
Попробуйте!
APIS Explorer позволяет выполнять образцы запросов, чтобы вы могли познакомиться с параметрами API и API.
Выберите API значка API в правой стороне страницы.
При желании отредактировать параметры запроса.
Выберите кнопку «Выполнить» . В диалоговом окне выберите учетную запись, которую вы хотите использовать для выполнения запроса.
На панели APIS Explorer выберите полноэкранный значок полноэкранного экрана, чтобы расширить окно APIS Explorer.