google-maps - Google API 给出错误的纬度和经度值

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

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

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+好莱坞+洛杉矶+安吉利斯+CA
我们的值(value)观为

lat: 34.0522342,
lng: -118.2436849

传递参数时
AVALON+Hollywood+1735+Vine+Street+Los+Angeles+CA
我们的值(value)观为
lat: 34.1027186,
lng: -118.3271694

确切的值是:
lat: 34.1027414,
lng: -118.3272224  

最佳答案

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

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

  • 地理编码 API

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

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

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

    它应该看起来像:
  • https://maps.googleapis.com/maps/api/geocode/json?address=1735+Vine+St,+Los+Angeles,+CA+90028+%20United%20States

  • 您可以使用反向地理编码检查您的结果。可以在文档中找到一个很好的示例,测试结果也非常有用:
  • https://developers.google.com/maps/documentation/javascript/examples/geocoding-reverse

  • 地方 API

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

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

    如果您想将人们指向特定地点,您应该使用的服务是 Google Maps Places API:
  • https://developers.google.com/places/documentation/

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

    有很多方法可以做到这一点,为了让你开始,我发现了一篇文章可能被证明有助于实现该目标:
  • http://www.wikihow.com/Add-Places-to-Google-Maps


  • 我希望这个答案能让你接近使用 API 解决问题和谷歌运气!

    关于google-maps - Google API 给出错误的纬度和经度值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38326016/

    相关文章:

    ios - 在谷歌地图中长按

    google-maps - Google 地球 - 多台计算机之间的实时同步

    mysql - MySQL 中存储来自 Google map 的地理编码数据所需的最少字段数是多少?

    javascript - 如何弹出显示确切的右键单击事件位置

    ios - 将gps坐标转换为AR中的opengl字

    latitude-longitude - PyEphem 报告的纬度和经度与输入值不同

    javascript - 通过javascript将Input(box)中的数据添加到sql db

    javascript - Google Maps API V3 : multiple markers and ajax infowindows?(最佳性能)

    javascript - 您已在此页面上多次包含 Google Maps JavaScript API。这可能会导致意外错误。使用 $.getScript() 调用时

    latitude-longitude - lat/lon 转换为 x/y 坐标