You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不指定半径查询城市内全部餐厅 解决Google Maps API报错

报错根因

你调用places_nearby接口返回ApiError: INVALID_REQUEST是因为该接口强制要求传入radius(搜索半径)参数,取值范围1~50000米,你当前的请求缺少这个必填参数,所以请求不合法。

多城市无固定半径的实现方案

不要使用Nearby Search接口,改用Places API的Text Search接口,不需要手动指定搜索半径,直接以「城市名 + 目标品类」作为搜索关键词,接口会自动匹配对应城市行政范围内的目标地点,无需适配不同城市的半径参数。

修正后的代码示例

gmaps = googlemaps.Client(key = API_KEY)
# 搜索昌迪加尔境内的全部餐厅,接口自动匹配城市范围,无需指定经纬度、半径
places_result  = gmaps.places(query="昌迪加尔 餐厅", open_now =False , type = 'restaurant')

如果需要避免同名城市的搜索误差,可以先通过Geocoding接口获取目标城市的唯一place_id,搜索时带入place_id限定范围即可。

注意事项

  • 单次Text Search接口最多返回60个结果,分为3页返回,需要通过返回结果中的next_page_token拉取全量数据,两次分页请求的间隔需要大于2秒,否则会触发请求失败。
  • 谷歌Places API默认不会返回某个城市的全量餐厅数据,仅返回该区域符合条件的前60个结果,如果你需要更全的数据,可以先获取城市的行政边界,拆分多个小区域分别调用接口后聚合结果。

内容的提问来源于stack exchange,提问作者DSR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 20:06:03