В этом разделе описан ряд примеров запросов к API Places Insights.
Возвращать места внутри круга
Верните все рестораны в радиусе 200 метров от Трафальгарской площади в Лондоне.
- Область поиска представляет собой круг с центром на определенной широте и долготе. Радиус этого круга составляет 200 метров, что определяет размер зоны поиска.
- Запрошенный тип места — ресторан, и он передается с помощью
includedTypes
внутриtypeFilters
. - Количество запрашивается с помощью
INSIGHTS_COUNT
, а идентификаторы мест запрашиваются с помощьюINSIGHTS_PLACES
.
curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \ --header 'X-Goog-Api-Key: API_KEY' \ --header 'Content-Type: application/json' \ --data '{ "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"], "filter": { "locationFilter": { "circle": { "latLng": { "latitude": 51.508, "longitude": -0.128}, "radius": 200 } }, "typeFilter": { "includedTypes": "restaurant" } } }'
Исключить типы мест
Вы можете исключить типы мест из подсчета.
Следующий запрос аналогичен первому примеру, но добавляет excludedTypes
к typeFilters
. Вы можете использовать строку или массив строк для includedTypes
и excludedTypes
.
В этом примере из числа restaurant
исключаются два типа мест: cafe
и bakery
.
curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \ --header 'X-Goog-Api-Key: API_KEY' \ --header 'Content-Type: application/json' \ --data '{ "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"], "filter": { "locationFilter": { "circle": { "latLng": { "latitude": 51.508, "longitude": -0.128}, "radius": 200 } }, "typeFilter": { "includedTypes": "restaurant", "excludedTypes": [ "cafe", "bakery" ] } } }'
Использовать основной тип
В этом примере изменяется запрос из первого примера, чтобы включать в подсчет только места, имеющие primaryType
restaurant
.
curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \ --header 'X-Goog-Api-Key: API_KEY' \ --header 'Content-Type: application/json' \ --data '{ "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"], "filter": { "locationFilter": { "circle": { "latLng": { "latitude": 51.508, "longitude": -0.128}, "radius": 200 } }, "typeFilter": { "includedPrimaryTypes": "restaurant" } } }'
Пользовательский многоугольник
В этом примере показано, как использовать пользовательский многоугольник для определения области поиска. Имейте в виду, что указание INSIGHTS_PLACES
ограничивает поиск областями, достаточно маленькими, чтобы вернуть до 100 идентификаторов мест. Для больших территорий используйте INSIGHTS_COUNT
, чтобы обойти это ограничение и сервису не придется возвращать идентификаторы отдельных мест.
Как и раньше, в качестве типа места используется restaurant
. В этом примере также представлены три других фильтра:
-
operatingStatus
: В этом примере учитываются только рабочие места. -
priceLevel
: в этом примере учитываются только недорогие и умеренные места. -
ratingFilter
: в этом примере учитываются только места с оценкой от 4,0 до 5,0.
curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \ --header 'X-Goog-Api-Key: API_KEY' \ --header 'Content-Type: application/json' \ --data '{ "insights": [ "INSIGHT_COUNT" ], "filter": { "locationFilter": { "customArea": { "polygon": { "coordinates": [ { "latitude": 37.776, "longitude": -122.666 }, { "latitude": 37.130, "longitude": -121.898 }, { "latitude": 37.326, "longitude": -121.598 }, { "latitude": 37.912, "longitude": -122.247 }, { "latitude": 37.776, "longitude": -122.666 } ] } } }, "typeFilter": { "includedTypes": "restaurant" }, "operatingStatus": [ "OPERATING_STATUS_OPERATIONAL" ], "priceLevels": [ "PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE" ], "ratingFilter": { "minRating": 4.0, "maxRating": 5.0 } } }'
Географическая зона
В этом примере используется идентификатор места географической области для установки области поиска. Эти идентификаторы мест включают в себя геометрию места, например города или города. Здесь используется идентификатор места ChIJiQHsW0m3j4ARm69rRkrUF3w
, что соответствует городу Маунтин-Вью, штат Калифорния .
Передача идентификатора места в API Places Insights устанавливает область поиска в пределах географической области. Идентификатор места передается с помощью place
в формате places/ place_ID
.
Получить идентификатор места географической зоны можно любым из следующих способов:
- API геокодирования
- Текстовый поиск (новинка)
- Поиск поблизости (новинка)
- API проверки адреса
- Разместить автозаполнение
curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \ --header 'X-Goog-Api-Key: API_KEY' \ --header 'Content-Type: application/json' \ --data '{ "insights": [ "INSIGHT_COUNT" ], "filter": { "locationFilter": { "region": { "place": "places/ChIJiQHsW0m3j4ARm69rRkrUF3w" } }, "typeFilter": { "includedTypes": [ "restaurant" ] } } }'