/**
* <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;
}
本文介绍了一个使用PHP编写的函数,该函数通过输入起始和结束的经纬度坐标来计算两点之间的距离。具体包括如何将经纬度转换为弧度,利用球面三角公式计算两点间的大圆距离,并返回经过特定精度四舍五入后的结果。
941

被折叠的 条评论
为什么被折叠?



