您的位置:首页 > 编程语言 > PHP开发

php中使用地图的两个坐标之间的距离

2016-10-11 10:55 288 查看
<?php 
define('EARTH_RADIUS', 6378.137);//地球半径 
define('PI', 3.1415926); 
/** 
* 计算两组经纬度坐标 之间的距离 
* 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) 

$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); 

echo GetDistance(39.908156,116.4767, 39.908452,116.450479, 1);//输出距离/米 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  坐标之间的距离