1. 程式人生 > 實用技巧 >js 判斷gps是否超出設定範圍

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