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){ } }
根据经纬度计算两点之间的距离
最新推荐文章于 2022-05-07 20:49:44 发布