Javascript 如何使用纬度和经度获取两个位置的距离

Javascript 如何使用纬度和经度获取两个位置的距离,javascript,google-distancematrix-api,Javascript,Google Distancematrix Api,现在我正在使用谷歌距离矩阵API获取从一个位置到另一个位置的距离。是否可以在不使用距离矩阵API的情况下获得相同的距离(传输)。我尝试了使用纬度和经度获取距离的blow代码,但没有像google distance matrix api那样获得精确的距离值 alert(getDistanceFromLatLonInKm(50.886914964185600,-0.966288594404237,50.936471758083400,-0.999119111882654)); 谷歌矩阵Api 请求

现在我正在使用谷歌距离矩阵API获取从一个位置到另一个位置的距离。是否可以在不使用距离矩阵API的情况下获得相同的距离(传输)。我尝试了使用纬度和经度获取距离的blow代码,但没有像google distance matrix api那样获得精确的距离值

alert(getDistanceFromLatLonInKm(50.886914964185600,-0.966288594404237,50.936471758083400,-0.999119111882654));
谷歌矩阵Api 请求:

谷歌矩阵Api 答复:

   "destination_addresses" : [ "Green La, Clanfield, Waterlooville PO8 0JU, UK" ],
   "origin_addresses" : [ "79 Redhill Rd, Rowland's Castle PO9 6DE, UK" ],
   "rows" : [
      {
         "elements" : [
            {
               "distance" : {
                  "text" : "7.1 km",
                  "value" : 7120
               },
               "duration" : {
                  "text" : "9 mins",
                  "value" : 553
               },
               "status" : "OK"
            }
         ]
      }
   ],
   "status" : "OK"
}

谷歌API是否考虑了道路形状,而你没有?尝试使用更大的距离来消除此类错误。我需要距离计算的替代解决方案“但没有像google distance matrix api那样获得精确的距离值。”@rahum您得到了什么?您的结果是什么?这只是一个取整问题吗?谷歌地图是否考虑了可用的街道,而你只考虑了直接连接?你的预期结果是什么,你的还是谷歌的?
https://maps.googleapis.com/maps/api/distancematrix/json?origins=50.886914964185600,-0.966288594404237&destinations=50.936471758083400,-0.999119111882654&mode=driving&language=en-EN&sensor=false&key={{key}}
   "destination_addresses" : [ "Green La, Clanfield, Waterlooville PO8 0JU, UK" ],
   "origin_addresses" : [ "79 Redhill Rd, Rowland's Castle PO9 6DE, UK" ],
   "rows" : [
      {
         "elements" : [
            {
               "distance" : {
                  "text" : "7.1 km",
                  "value" : 7120
               },
               "duration" : {
                  "text" : "9 mins",
                  "value" : 553
               },
               "status" : "OK"
            }
         ]
      }
   ],
   "status" : "OK"
}