计算两个经纬度的直线距离

浏览:168 发布日期:2019/07/25 分类:功能实现
计算两个经纬度的直线距离

/**
*
* @param $lng1 float 经度
* @param $lat1 float 纬度
* @param $lng2 float 经度
* @param $lat2 float 纬度
*/

public static function getDistance($lng1, $lat1, $lng2, $lat2) {
$EARTH_RADIUS = 6378.137;
$radLat1 = self::rad($lat1);
$radLat2 = self::rad($lat2);
$a = $radLat1 - $radLat2;
$b = self::rad($lng1) - self::rad($lng2);
$s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2)));
$s = $s * $EARTH_RADIUS;
if ($s < 1) {
$s = round($s * 1000);
// $s.='m';
} else {
$s = round($s, 6);
$s=$s*1000;
// $s.='km';
}
return $s;
}
public static function rad($d) {
return $d * 3.1415926535898 / 180.0;
}
我的开源商城马上要发布 了,欢迎大家关注
开源地址:http://github.crmeb.net/u/lsq
评论( 相关
后面还有条评论,点击查看>>