PHP根据经纬度计算两个点之间的直线距离

PHP根据经纬度计算两个点之间的直线距离
//单位为米 * lng1,lng2 经度 *  lat1,lat2 纬度 *   距离,单位米
    function getdistance($lng1, $lat1, $lng2, $lat2)
    {
        //deg2rad()函数将角度转换为弧度
        $radLat1 = deg2rad($lat1);
        $radLat2 = deg2rad($lat2);
        $radLng1 = deg2rad($lng1);
        $radLng2 = deg2rad($lng2);
        $a = $radLat1 - $radLat2;
        $b = $radLng1 - $radLng2;
        //asin() 函数返回不同数值的反正弦,返回的结果是介于 -PI/2 与 PI/2 之间的弧度值。
        //pow() 函数返回 x 的 y 次方。
        //sin() 函数返回一个数的正弦。
        //cos() 函数返回一个数的余弦。
        $s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2))) * 6378.137 * 1000;
        return $s;
    }


最后编辑于:2021/09/18作者: 牛逼PHP

发表评论