我在当前位置的基础上从数据库中获取最近的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,我觉得太多了。
我先附上两张图片是我查询的结果,第二张是谷歌地图的结果
答案 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
希望它有所帮助!