本部分介绍了向 Places Insights API 发出的一系列示例请求。
返回圆形内的位置
返回伦敦特拉法加广场方圆 200 米范围内的所有餐厅。
- 搜索区域是一个以特定纬度和经度为中心的圆形。此圆形的半径为 200 米,这决定了搜索区域的大小。
- 请求的地点类型为餐厅,此值会使用
typeFilters
中的includedTypes
传递。 - 系统使用
INSIGHTS_COUNT
请求计数,并使用INSIGHTS_PLACES
请求地点 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", "INSIGHT_PLACES"], "filter": { "locationFilter": { "circle": { "latLng": { "latitude": 51.508, "longitude": -0.128}, "radius": 200 } }, "typeFilter": { "includedTypes": "restaurant" } } }'
排除地点类型
您可以从统计范围中排除地点类型。
以下请求与第一个示例相同,但会向 typeFilters
添加 excludedTypes
。您可以为 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 个地点 ID 的区域。对于较大的区域,请使用 INSIGHTS_COUNT
绕过此限制,以便该服务无需返回各个地点 ID。
与之前一样,使用的地点类型为 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 } } }'
地理区域
此示例使用地理区域地点 ID 设置搜索区域。这些地点 ID 包含地点(例如镇或城市)的几何图形。此处使用的地点 ID 为 ChIJiQHsW0m3j4ARm69rRkrUF3w
,对应于加利福尼亚州山景城。
将地点 ID 传递给 Places Insights API 会将搜索区域设置为相应地理区域的边界。地点 ID 使用 place
传递,格式为 places/place_ID
。
您可以通过以下任一方式获取地理区域地点 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" ] } } }'