谷歌地图距离计算问题

时间:2016-05-25 14:36:55

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

我在当前位置的基础上从数据库中获取最近的lat。我当前的位置

      latitude:  32.5033801 
      longitude:  74.49884399999999

我找到了这个表单https://ctrlq.org/maps/where/。我正在使用此查询

SELECT lat,lng, ( 6371 * acos( cos( radians(32.5033801) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(74.49884399999999) ) + sin( radians(32.5033801) ) * sin( radians( lat ) ) ) ) AS distance FROM stores HAVING distance < 60 ORDER BY distance LIMIT 0 , 20

此查询显示我距离当前位置的距离 Model Town Rd,Gujranwala,Pakistan 47.2 KM。但谷歌地图给了我54.9KM。现在差距大约为7km,我觉得太多了。

我先附上两张图片是我查询的结果,第二张是谷歌地图的结果

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

您的查询计算两点之间的距离。 Google地图为您提供行车路线。

答案 1 :(得分:0)

两个坐标之间有两种类型的距离,即线距行驶距离,您正在计算线距,您需要行驶距离

以下是帮助您解决问题的文档:

https://developers.google.com/maps/documentation/distance-matrix/intro#RequestParameters

这是一个例子:

https://developers.google.com/maps/documentation/javascript/examples/distance-matrix

希望它有所帮助!