js 判断gps是否超出设定范围

var CKposition = {
    //经纬度转换成三角函数中度分表形式
    rad: function (d) {
        return d * Math.PI / 180.0;
    },
    // 根据经纬度计算距离,参数分别为第一点的纬度,经度;第二点的纬度,经度
    getDistance: function (lat1, lng1, lat2, lng2) {
        var radLat1 = CKposition.rad(lat1);
        var radLat2 = CKposition.rad(lat2);
        var a = radLat1 - radLat2;
        var b = CKposition.rad(lng1) - CKposition.rad(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 * 6378.137; // EARTH_RADIUS;
        s = Math.round(s * 10000) / 10000; //输出为公里
        return s * 1000;
    },
    //判断两点是否超出半径范围
    checkInside: function (lat1, lng1, lat2, lng2, r) {
        var realr = CKposition.getDistance(lat1, lng1, lat2, lng2);
        return r >= realr;
    }
}
转自https://www.cnblogs.com/feiquan/p/11338691.html

  

posted on 2020-08-06 17:15  小胖蘑菇  阅读(476)  评论(0编辑  收藏  举报

导航