Google新Places API文本搜索结果越界问题求助
解决Google Places API v1 Text Search超出指定区域的问题
核心问题原因
你用的locationBias只是偏向性提示,API仍可能返回域外结果,这是官方明确的预期行为。要实现旧版API的严格区域限制,必须用locationRestriction参数。
修正后的请求示例
把原请求中的locationBias替换为locationRestriction,同时修正语法错误(比如中文引号、未闭合的API密钥引号):
curl --location 'https://places.googleapis.com/v1/places:searchText' \ --header 'Content-Type: application/json' \ --header 'X-Goog-Api-Key: YOUR_API_KEY' \ --header 'X-Goog-FieldMask: *' \ --data '{ "textQuery": "scrap recycling", "locationRestriction": { "circle": { "center": { "latitude": 51.49998193374399, "longitude": 10.064777998776602 }, "radius": 50000.0 } }, "pageToken": "XXXX" }'
关键说明
locationRestriction支持**圆形(circle)和矩形(rectangle)**两种范围约束,这里用圆形和你原参数匹配,半径上限同样是50000米- 使用
nextPageToken翻页时,后续请求会自动继承locationRestriction的约束,不会出现跨区域结果 - 确保
X-Goog-Api-Key替换为你的有效密钥,字段掩码X-Goog-FieldMask可按需指定具体字段(比如places.displayName,places.location),用*会返回全部字段
验证步骤
- 执行修正后的请求,检查返回结果的坐标是否在指定半径内
- 若仍有异常,确认中心坐标是否对应德国Niedeck 5的位置,半径未超过上限
内容的提问来源于stack exchange,提问作者Karan
相关产品推荐
相关产品推荐

