Google API提供错误的纬度和经度值

时间:2016-07-12 10:17:18

标签: 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,洛杉矶,美国

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

参数传递时 1735 +葡萄+街+ AVALON +好莱坞+洛杉矶+洛杉矶+ CA 我们得到了值

lat: 34.0522342,
lng: -118.2436849

传递参数时 AVALON +好莱坞+ 1735 +葡萄+街+洛杉矶+洛杉矶+ CA 我们得到了值

lat: 34.1027186,
lng: -118.3271694

精确值如下:

lat: 34.1027414,
lng: -118.3272224  

1 个答案:

答案 0 :(得分:0)

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

  • 地理编码API及其使用
  • Places API以及您对它的兴趣

地理编码API

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

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

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

它应该类似于:

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

Places API

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

有时候API会做一些猜测和数据组合来理解你真正想要的东西,但即使这样也是不够的。

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

要正确使用此API,您必须先将所需位置添加到Google商家信息服务中(如果它尚未存在)。

有很多方法可以帮助您入门我找到了一篇可能有助于实现这一目标的文章:

我希望这个答案可以帮助您解决问题,并使用API​​来获取运气!