小程序: 获取两对经纬度之间的距离

         /*作用: 由经纬度计算两点之间的直线距离 (可参考: 球面两点之间最短距离的计算方式)
         * 参数1: 第一个坐标点的纬度(latitude的缩写, 一般在0~90之间)
         * 参数2: 第一个坐标点的经度(longitude的缩写,一般在0~180之间)
         * 参数3: 第二个坐标点的纬度
         * 参数4: 第二个坐标点的经度
         * 返回值: 返回距离(单位千米或公里)
         */
        distance: function(la1, lo1, la2, lo2) {
            var La1 = (la1 * Math.PI) / 180.0;
            var La2 = (la2 * Math.PI) / 180.0;
            var La3 = La1 - La2;
            var Lb3 = (lo1 * Math.PI) / 180.0 - (lo2 * Math.PI) / 180.0;
            var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(La3 / 2), 2) + Math.cos(La1) * Math.cos(La2) * Math.pow(Math.sin(Lb3 / 2), 2)));
            s = s * 6378.137;
            s = Math.round(s * 10000) / 10000;
            s = s.toFixed(2);
            return s;
        }
 

 

posted @ 2020-07-09 20:13  点点点旺旺旺  阅读(725)  评论(0编辑  收藏  举报