计算两坐标点之间的距离在后台实现的方法如下,做为收藏以后好查阅
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/**
* 计算两组经纬度坐标 之间的距离
* params :lat1 纬度1; lng1 经度1; lat2 纬度2; lng2 经度2; len_type (1:m or 2:km);
* return m or km
*/
function getDistance( $lat1 , $lng1 , $lat2 , $lng2 , $len_type =
1, $decimal = 2)
{
$EARTH_RADIUS =6378.137;
$PI =3.1415926;
$radLat1 = $lat1 * $PI / 180.0;
$radLat2 = $lat2 * $PI / 180.0;
$a = $radLat1 - $radLat2 ;
$b = ( $lng1 * $PI / 180.0) - ( $lng2 * $PI /
180.0);
$s = 2 * asin(sqrt(pow(sin( $a /2),2) + cos ( $radLat1 )
* cos ( $radLat2 ) * pow(sin( $b /2),2)));
$s = $s * $EARTH_RADIUS ;
$s = round ( $s * 1000);
if ( $len_type > 1)
{
$s /= 1000;
}
return round ( $s , $decimal );
}
|
|