计算两个经纬度之间的距离

  function Rad(d) { 
    // console.log(d,'这里是D');
    //根据经纬度判断距离
    return d * Math.PI / 180.0;
  }
function getLocation(weidu1, jingdu1, weidu2, jingdu2) {
    console.log(weidu1, jingdu1 ,'我是当前定位', weidu2, jingdu2,'我是目标的');
      // weidu1当前的纬度
      // jingdu1当前的经度
      // weidu2目标的纬度
      // jingdu2目标的经度
      var radweidu1 = Rad(weidu1);
      var radweidu2 = Rad(weidu2);
      var a = radweidu1 - radweidu2;
      // console.log(a);
      var b = Rad(jingdu1) - Rad(jingdu2);
      // console.log(b);
      var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radweidu1) * Math.cos(radweidu2) * Math.pow(Math.sin(b / 2), 2)));
      // console.log(s);
      s = s * 6378.137;
      s = Math.round(s * 10000) / 10000;
      s = s.toFixed(1) + 'km' //保留两位小数
      // console.log('经纬度计算的距离:' + s)
      return s
  }
getLocation(31.95266,118.84002,31.951341,118.838292)
//0.2千米

你可能感兴趣的:(javascript)