Примеры

В этом разделе описан ряд примеров запросов к 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 .

Получить идентификатор места географической зоны можно любым из следующих способов:

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"
            ]
        }
    }
}'
,

В этом разделе описан ряд примеров запросов к 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 .

Получить идентификатор места географической зоны можно любым из следующих способов:

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"
            ]
        }
    }
}'