代码学堂(uxuew.cn)提供付费解决PHP WEB开发等技术服务,如果需要请 点击加我QQ:1662935793.
>编程开发 > php教程 > 使用php计算地图上两坐标之间距离的方法函数分享

使用php计算地图上两坐标之间距离的方法函数分享

php教程 围观6481次 更新日期:2017-09-29 14:03:49 留下足迹

计算两坐标距离函数
/**
 * @param float $lat1  坐标1纬度
 * @param float $lng1  坐标1经度
 * @param float $lat2  坐标2纬度
 * @param float $lng2  坐标2经度
 * @param string $type  km|m
 * @param number $decimal 距离精度
 * @return number 
 */
function GetDistance($lat1,$lng1,$lat2,$lng2,$type='km',$decimal=2){
    $earth_radius = 6378.137;//地球半径
    $dlat = deg2rad($lat2 - $lat1);
    $dlng = deg2rad($lng2 - $lng1);
    $a = pow(sin($dlat/2),2)+cos(deg2rad($lat1))*cos(deg2rad($lat2))*pow(sin($dlng/2),2);
    $a = 2 * atan2(sqrt($a), sqrt(1 - $a));
    $a = $earth_radius  * $a;
    $type=='m'&&$a*= 1000;
    return round($a, $decimal);
} 

转载请注明:代码学堂>编程开发 > php教程 > 使用php计算地图上两坐标之间距离的方法函数分享

喜欢 (414) or 分享 (263)