function rad($d)
{
return $d * M_PI / 180.0;
}
/**
* 获取两个经纬度坐标点之间的距离,单位km,小数点后2位
* @param string $lat1 纬度1
* @param string $lng1 经度1
* @param string $lat2 纬度2
* @param string $lng2 经度2
* @return string 距离
*/
function getDistance($lng1, $lat1, $lng2, $lat2)
{
$EARTH_RADIUS = 6378.137; //地球半径
$radLat1 = rad($lat1);
$radLat2 = rad($lat2);
$a = $radLat1 - $radLat2;
$b = rad($lng1) - rad($lng2);
$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 * 100) / 100;
return $s;
}
public static double getDistance(double longt1, double lat1, double longt2,double lat2) {
double x, y, distance;
x = (longt2 - longt1) * PI * R
* Math.cos(((lat1 + lat2) / 2) * PI / 180) / 180;
y = (lat2 - lat1) * PI * R / 180;
distance = Math.hypot(x, y);
return distance;
}