php计算距离,知道两个位置的经纬度
以下是方法,计算的结果是“米”为单位的
//计算两点之间的距离。
function getDistance($lat_a, $lng_a, $lat_b, $lng_b) {
//R是地球半径(米)
$R = 6366000;
$pk = doubleval(180 / 3.14169);
$a1 = doubleval($lat_a / $pk);
$a2 = doubleval($lng_a / $pk);
$b1 = doubleval($lat_b / $pk);
$b2 = doubleval($lng_b / $pk);
$t1 = doubleval(cos($a1) * cos($a2) * cos($b1) * cos($b2));
$t2 = doubleval(cos($a1) * sin($a2) * cos($b1) * sin($b2));
$t3 = doubleval(sin($a1) * sin($b1));
$tt = doubleval(acos($t1 + $t2 + $t3));
$dis = round($R * $tt)/(1000);
$dis = sprintf("%.2f", $dis);
return $dis;
}