В этом разделе описан ряд примеров запросов к API Places Insights.
Чтобы использовать computeInsights
, отправьте HTTP-запрос POST в следующей форме:
https://areainsights.googleapis.com/v1:computeInsights
Возвращать места внутри круга
Верните все рестораны в радиусе 200 метров от Трафальгарской площади в Лондоне.
- Область поиска представляет собой круг с центром на определенной широте и долготе. Радиус этого круга составляет 200 метров, что определяет размер зоны поиска.
- Запрошенный тип места — ресторан, и он передается с помощью
included_types
вtype_filters
. - Количество запрашивается с помощью
INSIGHTS_COUNT
, а идентификаторы мест запрашиваются с помощьюINSIGHTS_PLACES
.
{ "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"], "filter": { "location_filter": { "circle": { "lat_lng": { "latitude": 51.508, "longitude": -0.128}, "radius": 200 } }, "type_filter": { "included_types": "restaurant" } } }
Исключить типы мест
Вы также можете исключить типы мест из подсчета.
Следующий запрос аналогичен первому примеру, но добавляет в type_filters
excluded_types
. Вы можете использовать строку или массив строк для included_types
и excluded_types
.
В этом примере из числа restaurant
исключаются два типа мест: cafe
и bakery
.
{ "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"], "filter": { "location_filter": { "circle": { "lat_lng": { "latitude": 51.508, "longitude": -0.128}, "radius": 200 } }, "type_filter": { "included_types": "restaurant", "excluded_types": [ "cafe", "bakery" ] } } }
Использовать основной тип
В этом примере изменяется запрос из первого примера, чтобы включать в подсчет только места, имеющие primaryType
restaurant
.
{ "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"], "filter": { "location_filter": { "circle": { "lat_lng": { "latitude": 51.508, "longitude": -0.128}, "radius": 200 } }, "type_filter": { "included_primary_types": "restaurant" } } }
Пользовательский многоугольник
В этом примере показано, как использовать пользовательский многоугольник для определения области поиска. Имейте в виду, что указание INSIGHTS_PLACES
ограничивает поиск областями, достаточно маленькими, чтобы вернуть до 100 идентификаторов мест. Для больших территорий используйте INSIGHTS_COUNT
, чтобы обойти это ограничение и сервису не придется возвращать идентификаторы отдельных мест.
Как и раньше, в качестве типа места используется restaurant
. В этом примере также представлены три других фильтра:
-
operating_status
: В этом примере учитываются только рабочие места. -
price_level
: в этом примере учитываются только недорогие и умеренные места. -
rating_filter
: в этом примере учитываются только места с оценкой от 4,0 до 5,0.
{ "insights": [ "INSIGHT_COUNT" ], "filter": { "location_filter": { "custom_area": { "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 } ] } } }, "type_filter": { "included_types": "restaurant" }, "operating_status": [ "OPERATING_STATUS_OPERATIONAL" ], "price_levels": [ "PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE" ], "rating_filter": { "min_rating": 4.0, "max_rating": 5.0 } } }
Географическая зона
В этом примере используется идентификатор места географической области для установки области поиска. Эти идентификаторы мест включают в себя геометрию места, например города или города. Здесь используется идентификатор места ChIJiQHsW0m3j4ARm69rRkrUF3w
, что соответствует городу Маунтин-Вью, штат Калифорния .
Передача идентификатора места в API Places Insights устанавливает область поиска в пределах географической области. Идентификатор места передается с помощью place
в формате places/<place_ID>
.
Получить идентификатор места географической зоны можно любым из следующих способов:
- API геокодирования
- Текстовый поиск (новинка)
- Поиск поблизости (новинка)
- API проверки адреса
- Разместить автозаполнение
{ "insights": [ "INSIGHT_COUNT" ], "filter": { "location_filter": { "region": { "place": "places/ChIJiQHsW0m3j4ARm69rRkrUF3w" } }, "type_filter": { "included_types": [ "restaurant" ] } } }