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

该代码段展示了两个JavaScript函数,用于根据经纬度坐标计算两点之间的距离。首先,`Rad`函数将角度转换为弧度,然后`getLocation`函数应用这些弧度值来计算地球上两点之间的距离,使用了地球半径的平均值作为参考。最终结果以公里为单位并保留两位小数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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千米

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值