如何从Google Places API获取超过60条结果?是否有可行变通方案?
Google Places API 返回结果上限相关说明
官方固有限制
Google Places API的Nearby Search、Text Search两类搜索接口,本身就存在60条结果的硬性返回上限,该限制是官方内置规则,无法通过调整普通请求参数突破。
接口默认单页返回最多20条结果,可通过响应体中的next_page_token参数获取后续分页数据,最多仅支持翻2次页,累计总返回量固定为60条。
可行变通方案
如果业务场景需要获取更多POI数据,可采用以下实操方案:
- 拆分搜索地理范围:将原本的大搜索区域拆分为多个无重叠或少量重叠的小型地理网格,对每个网格单独发起搜索请求,最终合并所有返回结果后通过
place_id字段去重即可。 - 拆分搜索维度:同一搜索区域可按照不同关键词、不同
type类型参数分开发起请求,例如搜索餐饮类场所可拆分为餐馆、咖啡厅、小吃店等不同分类分别查询,再合并去重结果。 - 配合Place Details接口使用:如果是因为搜索接口返回字段不足需要拉取更多数据,可先通过搜索接口获取目标范围内所有POI的
place_id,再单独调用Place Details接口拉取单个地点的全量字段,无需依赖搜索接口一次性返回全量内容。
额外提示
所有变通方案都会增加API的请求次数,会产生对应的额外成本,调用前建议先核算用量及相关费用,同时注意控制请求频率,避免触发接口的限流规则导致请求失败。
内容的提问来源于stack exchange,提问作者Hibyetree
相关产品推荐
相关产品推荐

