本文实例讲述了php计算两个坐标(经度,纬度)之间距离的方法。分享给大家供大家参考。具体如下:
这里使用php计算两个坐标(经度,纬度)之间的距离,返回结果为米或者千米
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function distance( $lat1 , $lng1 , $lat2 , $lng2 , $miles = true)
{
$pi80 = M_PI / 180;
$lat1 *= $pi80 ;
$lng1 *= $pi80 ;
$lat2 *= $pi80 ;
$lng2 *= $pi80 ;
$r = 6372.797;
$dlat = $lat2 - $lat1 ;
$dlng = $lng2 - $lng1 ;
$a = sin( $dlat /2)*sin( $dlat /2)+ cos ( $lat1 )* cos ( $lat2 )*sin( $dlng /2)*sin( $dlng /2);
$c = 2 * atan2 (sqrt( $a ), sqrt(1 - $a ));
$km = $r * $c ;
return ( $miles ? ( $km * 0.621371192) : $km );
}
|
Salin selepas log masuk
希望本文所述对大家的php程序设计有所帮助。