/**
* <p>Description: 计算两点之间距离</p>
*
@param
slng 起始经度
*
@param
slat 起始纬度
*
@param
elng 结束经度
*
@param
elat 结束纬度
*
@return
千米
*/
public function
getDistanceByGaoDe($slng, $slat, $elng, $elat,$decimal=2) {
$earth_radius = 6378.137;
//地球半径
$lng1 = (M_PI / 180) * $slng;
$lng2 = (M_PI / 180) * $elng;
$lat1 = (M_PI / 180) * $slat;
$lat2 = (M_PI / 180) * $elat;
// 两点间距离 km,如果想要米的话,结果*1000就可以了
$d = acos(
sin($lat1) * sin($lat2)
+ cos($lat1) * cos($lat2) * cos($lng2 - $lng1)
) * $earth_radius;
// 精度2位小数
$d = round($d,$decimal);
return
$d;
}