php – Google Maps Geocode问题:某些编码的URL失败

我想从一个地址获取Lat / Lon的位置列表.它适用于大多数地址,但某些地址失败并返回零结果.

以此地址为例:1045 Mono Way, Sonora, CA 95370

如您所见,这是Google地图上的有效地址 – 没有任何问题.

在ping Geocoder Api时,我使用urlencode()编码地址.这是编码的地址:1045 Mono Way,Sonora,CA 95370

这是我访问的链接:
https://maps.googleapis.com/maps/api/geocode/xml?address=1045%20Mono%20Way%2C%20Sonora%2C%20CA%2095370&sensor=false

如您所见,零结果.

现在,如果您将地址的第一部分(1045)更改为任何其他数字(例如1044),您将获得有效的结果.

我搞不清楚了.

需要帮忙.

请 😉

顺便说一下,我正在使用此回复来获取API中的lat / lon:Google Maps – converting address to latitude & longitude – PHP backend?

最佳答案 我敢打赌,这个地址根本不存在.地址由当地政府提供,通常在一系列与一段街道相对应的数字中提供.尝试奇数不起作用的事实(1045,1047,1049)但偶数数字(1044,1046,1048)表明道路一侧的地址不存在.或者至少不在城市或县提供的数据集中.

理想的解决方案是API调用的“模糊”参数,它将返回类似于其Maps站点的位置.但由于我们无法重写第三方API,我建议检查“ZERO_RESULTS”响应,然后根据需要使用街道名称重新提交请求.

此外,您可以在没有API密钥的情况下进行地理编码搜索,因此您可能希望将其保留在您的问题之外!

点赞