В этом документе описываются параметры запроса для API Places Aggregate, а также содержатся рекомендации и рекомендации по использованию этого сервиса.
API Places Aggregate позволяет выполнять несколько ключевых функций:
- Подсчитайте количество мест : определите количество мест, которые соответствуют определенным критериям, таким как тип местоположения, статус работы, уровень цен и рейтинги.
- Получение сведений о месте : получение названий мест, соответствующих указанным фильтрам, а затем получение более подробной информации с помощью API Places.
- Гибкая фильтрация : используйте комплексные фильтры для получения точных сводных данных. Доступны следующие фильтры:
- Географическая область (круг, регион или пользовательский многоугольник)
- Типы мест
- Рабочее состояние
- Уровни цен
- Диапазоны оценок
Обязательные параметры
В этом разделе рассматриваются обязательные параметры запроса к API Places Aggregate. Каждый запрос должен содержать следующие данные:
- Своего рода прозрение.
- Фильтр по местоположению и фильтр по типу.
Тип понимания
Указывает тип аналитических данных, которые вы хотите получить. Поддерживаются следующие типы аналитических данных:
-
INSIGHT_COUNT
: Возвращает количество мест, соответствующих критериям фильтра. -
INSIGHT_PLACES
: возвращает идентификаторы мест , соответствующие критериям фильтра.
Фильтры
Задаёт критерии фильтрации мест. Как минимум, необходимо указать LocationFilter
и TypeFilter
.
Фильтр местоположения
Фильтр местоположения может иметь один из следующих типов:
-
circle
: определяет область как окружность с центром и радиусом. -
region
: определяет область как регион. -
customArea
: определяет область как пользовательский многоугольник.
Круг
Если вы выбрали географическую область в виде круга, необходимо указать center
и radius
. center
может быть задан широтой и долготой или идентификатором места в центре круга. Этот метод обеспечивает точную фильтрацию на основе заданной вами круговой области.
-
center
:-
latLng
: Широта и долгота центра окружности. Широта должна быть числом от -90 до 90 включительно. Долгота должна быть числом от -180 до 180 включительно. -
place
: идентификатор центра круга. Обратите внимание, что поддерживаются только точки place. Эта строка должна начинаться с префиксаplaces/
.
-
-
radius
: Радиус окружности в метрах. Это число должно быть положительным.
Область
Определите свою область как регион, передав идентификатор места в параметр place
. Идентификатор места представляет географическую область (например, область, представленную многоугольником). Например, идентификатор места Тампы, штат Флорида, — places/ChIJ4dG5s4K3wogRY7SWr4kTX6c
. Обратите внимание, что не все идентификаторы мест имеют чётко определённую геометрию, и в таких случаях API Places Aggregate возвращает код ошибки 400 с сообщением о том, что регион не поддерживается. Кроме того, для сложных географических регионов внутренняя оптимизация обработки может привести к небольшому завышению значения площади (до 2–3%), представляющей регион.
Чтобы определить, относится ли идентификатор места к неподдерживаемому типу, передайте его в запросе API геокодирования . Ответ включает массив type
, содержащий список типов мест, связанных с этим идентификатором, например, locality
, neighborhood
» или country
. Местоположение будет отклонено при фильтрации по региону, если хотя бы один из его типов соответствует этому списку.
Неподдерживаемые типы мест включают:
-
establishment
: обычно обозначает место, которое еще не было классифицировано. -
intersection
: обозначает крупный перекрёсток, обычно двух основных дорог. -
subpremise
: указывает на адресуемую сущность, находящуюся ниже уровня помещения, например, квартиру, блок или апартаменты.
Пользовательская область
Определяет площадь пользовательского многоугольника с использованием координат широты и долготы.
Вы можете посетить https://geojson.io/ , чтобы нарисовать собственный многоугольник и ввести эти координаты в запрос. Многоугольник должен иметь как минимум 4 координаты, при этом первая и последняя координаты должны быть идентичными. Как минимум 3 из предоставленных координат должны быть уникальными.
Последовательно идентичные координаты будут рассматриваться как одна. Однако непоследовательные повторяющиеся координаты (за исключением требуемых идентичных первой и последней координат) приведут к ошибке.
Кроме того, не допускается пересечение несмежных ребер, а также не допускается наличие ребер длиной 180 градусов (то есть смежные вершины не могут быть антиподами).
Например:
"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 } ]
Фильтр типа
Указывает типы мест, которые следует включить или исключить. Список основных и дополнительных типов мест, поддерживаемых API Places Aggregate, см. в таблице A в разделе «Типы мест» API Places (новое). Необходимо указать хотя бы один тип includedTypes
или includedPrimaryTypes
.
-
includedTypes
: Список включенных типов мест. -
excludedTypes
: Список исключенных типов мест. -
includedPrimaryTypes
: Список включенных основных типов мест. -
excludedPrimaryTypes
: Список исключенных основных типов мест.
Чтобы узнать больше о том, как работают фильтры по типам и типы мест, см. дополнительную информацию о фильтрах по типам .
Необязательные параметры
Эти фильтры необязательны:
-
operatingStatus
: определяет статусы мест, которые следует включить или исключить. По умолчанию фильтрация поoperatingStatus: OPERATING_STATUS_OPERATIONAL
(одно конкретное значение). -
priceLevels
: определяет уровни цен мест, которые нужно включить. По умолчанию фильтрация по уровню цен не применяется, и возвращаются все места (включая те, для которых информация об уровне цен отсутствует). -
ratingFilter
: определяет диапазон рейтинга мест. По умолчанию фильтрация отключена (все рейтинги включены в результаты).
Рабочее состояние
Фильтр operatingStatus
позволяет фильтровать данные по статусу работы , например, OPERATIONAL
или TEMPORARILY_CLOSED
. Фильтр operatingStatus
работает следующим образом:
- Если фильтры не указаны, в результаты включаются только места со статусом работы
OPERATING_STATUS_OPERATIONAL
. - Если предоставлен один или несколько фильтров, необходимо указать допустимые значения рабочего состояния (
OPERATING_STATUS_OPERATIONAL
,OPERATING_STATUS_PERMANENTLY_CLOSED
илиOPERATING_STATUS_TEMPORARILY_CLOSED
).
Уровень цен
Фильтр priceLevels
позволяет фильтровать места по уровню цены . Допустимые значения уровня цены: PRICE_LEVEL_FREE
, PRICE_LEVEL_INEXPENSIVE
, PRICE_LEVEL_MODERATE
, PRICE_LEVEL_EXPENSIVE
и PRICE_LEVEL_VERY_EXPENSIVE
.
Фильтр priceLevels
ведет себя следующим образом:
- Если фильтры не указаны: возвращаются все места, независимо от того, указан ли им уровень цен . Это включает места без информации об уровне цен, которые могут не возвращаться при фильтрации по определённым уровням цен.
- Если предоставлен один или несколько фильтров: возвращаются только места, соответствующие указанному(ым) уровню(ям) цен.
Фильтр рейтинга
Фильтрует места по среднему рейтингу пользователей. Оба эти поля необязательны, поэтому, если их не заполнить, по умолчанию будут включены и места без рейтинга.
-
minRating
: Минимальный средний рейтинг пользователя (от 1,0 до 5,0). -
maxRating
: максимальный средний рейтинг пользователя (от 1,0 до 5,0).
Кроме того, значение minRating
всегда должно быть меньше или равно значению maxRating
. Если minRating
больше maxRating
, возвращается ошибка INVALID_ARGUMENT
.