このセクションでは、Places Insights API に対する一連のサンプル リクエストについて説明します。

computeInsights を使用するには、次の形式で HTTP POST リクエストを送信します。

https://areainsights.googleapis.com/v1:computeInsights

円内の場所を返す

ロンドンのトラファルガー広場から半径 200 m 以内のすべてのレストランを返します。

  • 検索範囲は、特定の緯度と経度を中心とする円です。 この円の半径は 200 m です。これにより、 表示されます。
  • リクエストされた場所タイプはレストランで、これは type_filters 内の included_types を使用して渡されます。
  • 数は INSIGHTS_COUNT を使用してリクエストされ、プレイス ID は次のとおりです。 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_filtersexcluded_types が追加されています。included_typesexcluded_types には、文字列または文字列の配列を使用できます。

この例では、cafebakery の 2 つの場所タイプを restaurant カウント。

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

メインのタイプを使用

この例では、最初の例のリクエストを変更して、場所のみを含めるようにします。 カウントで primaryTyperestaurant の場合。

{
  "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 個のプレイス ID を返すことができる小さなエリアです。より広いエリアには、 INSIGHTS_COUNT でこの制限をバイパスし、サービスが 個々のプレイス ID を返します。

前述のように、使用されるプレイスタイプは restaurant です。この例では 次の 3 つのフィルタがあります。

  • 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 }
    }
}

地域

この例では、地域のプレイス ID を使用して検索地域を設定しています。 これらのプレイス ID には、町や都市など、場所のジオメトリが含まれます。「 ここで使用されるプレイス ID は ChIJiQHsW0m3j4ARm69rRkrUF3w で、 カリフォルニア州マウンテン ビューという都市名です。

プレイス ID を Places Insights API に渡すと、検索範囲が境界に設定されます 確認できますプレイス ID は、place を使用して places/<place_ID> の形式で渡されます。

地理的エリアのプレイス ID は次のいずれかの方法で取得できます。

{
    "insights": [
        "INSIGHT_COUNT"
    ],
    "filter": {
        "location_filter": {
            "region": {
                "place": "places/ChIJiQHsW0m3j4ARm69rRkrUF3w"
            }
        },
        "type_filter": {
            "included_types": [
                "restaurant"
            ]
        }
    }
}