json消息中返回的值与存储在数据库中的值不同

时间:2012-12-11 21:54:12

标签: php android google-maps

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

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

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

我在php中使用了file_get_contents()方法,我使用的网址是:

$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坐标的变量。

有可能谷歌围绕这些坐标,标准程序,我的问题是由其他东西引起的,但我认为这是它的来源。 如果有人可以提供帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

纬度和小时5位小数经度相当于赤道约10米。随着纬度向极移动,经度值变小(60°时为5.57米)。见Wiki

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

Google地图Geocoding结果的精确度为7位小数。(赤道10 cms)

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