php计算距离,知道两个位置的经纬度

以下是方法,计算的结果是“米”为单位的

    //计算两点之间的距离。
    function getDistance($lat_a, $lng_a, $lat_b, $lng_b) {
        //R是地球半径(米)
        $R = 6366000;
        $pk = doubleval(180 / 3.14169);
        
        $a1 = doubleval($lat_a / $pk);
        $a2 = doubleval($lng_a / $pk);
        $b1 = doubleval($lat_b / $pk);
        $b2 = doubleval($lng_b / $pk);

        $t1 = doubleval(cos($a1) * cos($a2) * cos($b1) * cos($b2));
        $t2 = doubleval(cos($a1) * sin($a2) * cos($b1) * sin($b2));
        $t3 = doubleval(sin($a1) * sin($b1));
        $tt = doubleval(acos($t1 + $t2 + $t3));
        $dis = round($R * $tt)/(1000);
        $dis = sprintf("%.2f", $dis);  
        return $dis;
    }

 

posted @ 2015-08-10 10:30  IT追梦者  阅读(238)  评论(0编辑  收藏  举报