您的位置:首页 > 编程语言 > PHP开发

根据经纬度计算两点之间的距离

2017-11-17 18:59 288 查看
function sphere_distance($lat1, $lon1, $lat2, $lon2, $radius=6378.135) {
$rad = doubleval(M_PI/180.0);

$lat1 = doubleval($lat1) * $rad;
$lon1 = doubleval($lon1) * $rad;
$lat2 = doubleval($lat2) * $rad;
$lon2 = doubleval($lon2) * $rad;

$theta = $lon2 - $lon1;
$dist = acos(sin($lat1) * sin($lat2) +
cos($lat1) * cos($lat2) * cos($theta));
if($dist < 0) {
$dist += M_PI;
}
// 单位为 千米
return $dist = $dist * $radius;
}
public function distance(){
// 使用示例
$dist = $this -> sphere_distance(37.7869379, -122.4060933, 34.0775027, -118.3856096);
$formatted = sprintf("%2.f", $dist * 0.612);
$mile = $formatted * 0.6214;
echo $mile;
if($mile <= 60){

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 距离 经纬度