0

我的应用程序在数据库中为用户存储了一些经纬度,这些用于查询 Maps Api。问题是我没有从 api 得到预期的结果。

来自 Api 的 json 响应在某些部分包括用户的 lat/lng。我注意到的是,json 中的 lat/lng 与存储在我的数据库中的不同。例如:这些到我数据库中的条目:21.7694003 39.5593724 在json消息中返回如下:21.75072 39.53207

这对我来说是一个主要问题,因为我正在尝试使用谷歌方向 api 来获取两点之间的距离,而我得到的结果是错误的。

我在php中使用了file_get_contents()方法,我使用的url是这样的:

$url= 'http://maps.googleapis.com/maps/api/directions/json?origin='.$nlatend.','.$nlonend.'&destination='.$olatend.','.$olonend.'&region=gr&sensor=false&mode=walking';

其中 $nlonend、$nlatend 等是包含 lng/lng 坐标的变量。

谷歌可能会四舍五入这些坐标,标准程序,并且我的问题是由其他原因引起的,但我认为这是它的根源。如果有人可以提供帮助,我将不胜感激。

4

1 回答 1

0

纬度和经度的小数点后 5 位等于赤道处大约 10 米。随着纬度向两极移动,经度值变小(60° 时为 5.57 米) 。参见Wiki

这几乎与GPS 系统一样准确。

谷歌地图地理编码结果的精度为小数点后 7 位。(赤道 10 厘米)

如果您要求精确到小数点后 7 位。您需要将相关代码作为编辑发布到您的问题。

于 2012-12-11T23:49:13.583 回答