【问题标题】:Google API giving wrong latitude and longitude valuesGoogle API 给出错误的纬度和经度值
【发布时间】:2016-11-14 12:38:09
【问题描述】:

我们一直在尝试在谷歌地图中获取合适的地址,但谷歌地图总是给出错误的纬度和经度值,从而导致显示错误的地址。

https://maps.googleapis.com/maps/api/geocode/json?address=1735+Vine+Street+AVALON+Hollywood+Los+Angeles+CA

我们使用上面的 API 和以下参数。

实际地址-AVALON Hollywood, 1735 Vine Street, Los Angeles, USA

我们尝试了两种不同的地址格式

当参数传递为 1735+Vine+Street+AVALON+好莱坞+Los+Angeles+CA 我们得到的值是

lat: 34.0522342,
lng: -118.2436849

传递参数时 AVALON+Hollywood+1735+Vine+Street+Los+Angeles+CA 我们得到的值是

lat: 34.1027186,
lng: -118.3271694

确切的值是:

lat: 34.1027414,
lng: -118.3272224  

【问题讨论】:

    标签: google-maps google-maps-api-3 latitude-longitude google-latitude


    【解决方案1】:

    您的请求存在一些问题。也就是说,我想指出两件重要的事情:

    • 地理编码 API 及其使用
    • Places API 以及您可能对它感兴趣的方式

    地理编码 API

    我可以在您的请求中看到您正在使用地理编码 API。此 API 仅用于街道地址,但您还添加了位置名称。

    Google 地图会尽力利用所提供的信息,但通常会不准确,就像在这种情况下一样。

    在您的具体情况下,您发送的请求应仅使用地址1735 Vine St, Los Angeles, CA 90028

    它应该看起来像:

    您可以使用反向地理编码检查您的结果。可以在文档中找到一个很好的示例,它对测试结果也非常有用:

    地点 API

    即便如此,在更正地理编码请求后,您也可能无法获得您期望的确切坐标。这是因为地理编码 API 并非旨在将您指向地点,而只是指向街道位置。

    有时 API 会进行一些猜测和数据组合以了解您真正想要什么,但这还不够。

    如果您想将人们指向特定地点,您应该使用的服务是 Google Maps Places API:

    要正确使用此 API,您必须首先将所需位置添加到 Google Places Service(以防它尚未存在)。

    有很多方法可以做到这一点,为了让您开始,我发现了一篇文章可能被证明有助于实现该目标:


    我希望这个答案能让您接近解决您的问题并使用 API 获得好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多