小程序模板:专业的小程序模板与静态模板分享平台
小程序
教程
搜索
当前位置 : 首页> 小程序教程> 微信小程序根据两个地方的经纬度判断距离

微信小程序根据两个地方的经纬度判断距离

1. 先在data里面定义好圆周率以及地球半径

 data: {
       PI: 3.14159,//圆周率
        EARTH_RADIUS: 6378137.0,//地球半径
      },


2. 开始定义计算

 getRad(d) {
    return d * this.data.PI / 180.0;
  },
  /**
     * 
     * @param lat1 第一个纬度
     * @param lng1第一个经度
     * @param lat2第二个纬度
     * @param lng2第二个经度
     * @return 两个经纬度的距离
     */
  getGreatCircleDistance(lat1, lng1, lat2, lng2) {
    var radLat1 = this.getRad(lat1);
    var radLat2 = this.getRad(lat2);
    var a = radLat1 - radLat2;
    var b = this.getRad(lng1) - this.getRad(lng2);
    var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
    s = s * this.data.EARTH_RADIUS;
    s = Math.round(s * 10000) / 10000.0;
    return s;
  },


3. 开始调用

 var that =this;
  var jl = that.getGreatCircleDistance(26.85125, 106.737547, that.data.latitude, that.data.longitude);
      if(jl > 2000){
        wx.showToast({
          title: '距离不在范围之内,无法签到',
          icon: 'none',
          duration: 10000
        });
      }else{
        that.ksqd(e);
      }

联系客服 意见反馈

签到成功!

已连续签到1天,签到3天将获得积分VIP1天

知道了