Home / Blog / it

百度地图两者经纬度距离计算

Author: Vic.Wang 2016/10/31 Tags:maplatlngdistance百度地图经纬度距离

根据经纬度计算距离:

    //根据两者经纬度 计算距离
    function distance(latA, lngA, latB, lngB) {
        if (latA*1 && lngA*1 && latB*1 && lngB*1) {
            var pk = 180 / 3.14169;
            var a1 = latA / pk,
                a2 = lngA / pk,
                b1 = latB / pk,
                b2 = lngB / pk;

            var t1 = Math.cos(a1) * Math.cos(a2) * Math.cos(b1) * Math.cos(b2);
            var t2 = Math.cos(a1) * Math.sin(a2) * Math.cos(b1) * Math.sin(b2);
            var t3 = Math.sin(a1) * Math.sin(b1);
            var tt = Math.acos(t1 + t2 +t3);

            return 6366000 * tt;
        }

        return 0;
    }
                    

计算出来的距离是米。

    distance(120.134241, 30.271482, 120.139684, 30.269618); //613.6539808118416
                    

算出来的距离和我用百度的测量工具测出来的距离是差不多的。