google-maps-api-3 - 谷歌地图地理编码 api 不一致

标签 google-maps-api-3

我正在尝试对这个地址“188th street & third avenue, bronx NY”进行地理编码

如果您通过 maps api v3 地理编码器运行此地理编码查询,您将获得 10 个左右的结果,其中没有一个在纽约。

http://maps.google.com/maps/api/geocode/xml?sensor=false&address=188th%20street%20&%20third%20avenue,%20bronx%20NY

如果您将相同的地址粘贴到谷歌地图中,​​它会将您直接带到布朗克斯的十字路口。

这些结果不一致是否有原因,有没有办法让地理编码器给我正确的结果,或者至少在相同的状态下?

(起初我以为是因为拼写了“第三”,所以我用“第三”代替了它。我仍然得到了 10 个结果,其中一个在纽约。但是,它是在皇后区而不是布朗克斯区。)

最佳答案

问题是你没有 URL 编码 &在地址中并按原样使用它。但是这个&用于分隔 URL 参数,例如sensor=false&address=之间.因此,& 之外的数据不被认为是地址的一部分。您需要更换 &在地址参数中通过其 URL 编码 %26 :

http://maps.google.com/maps/api/geocode/xml?sensor=false&address=188th%20street%20%26%20third%20avenue,%20bronx%20NY

您将在纽约布朗克斯找到一个正确的位置:

<location>
    <lat>40.8588700</lat> 
    <lng>-73.8911250</lng> 
</location>

仅供引用:Google geocoding web service使用 +地址中的空格。此外,推荐的服务 URL 是 http://maps.googleapis.com/maps/api/geocode/ .因此,您也可以发出以下查询:

http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=188+street,%26+third+avenue,+bronx+NY

这看起来有点简单。

关于google-maps-api-3 - 谷歌地图地理编码 api 不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6976446/

相关文章:

javascript - GoogleMap 每天显示不同的位置

javascript - 如何返回 google map 标记的城市、街道和邮政编码?

javascript - 回调函数未按预期工作

google-maps-api-3 - Google Maps API v3-通过地址获取 map ?

google-maps - Google Maps 和 Richfaces 3.3.3 (prototype.js 1.6.0.3) 可能不兼容

javascript - 谷歌地图 API - 添加多个目的地不起作用(谷歌方向)

javascript - 无法使用谷歌地图标记,以及 javascript 全局变量的问题

javascript - PrimeFaces gmap 组件中的 fitBounds

javascript - 从 KML 中提取路径

javascript - Google map V3 javascript — 单击图钉时自定义信息窗口