php根据两点间的经纬度计算距离
/** * @desc 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经度值 */ function getDistance($lat1, $lng1, $lat2, $lng2){ $earthRadius = 6371000; //近似地球半径 单位 米 /* Convert these degrees to radians to work with the formula */ $lat1 = ($lat1 * pi() ) / 180; $lng1 = ($lng1 * pi() ) / 180; $lat2 = ($lat2 * pi() ) / 180; $lng2 = ($lng2 * pi() ) / 180; $calcLongitude = $lng2 - $lng1; $calcLatitude = $lat2 - $lat1; $stepOne = pow(sin($calcLatitude / 2), 2) + cos($lat1) * cos($lat2) * pow(sin($calcLongitude / 2), 2); $stepTwo = 2 * asin(min(1, sqrt($stepOne))); $calculatedDistance = $earthRadius * $stepTwo; $distance=$calculatedDistance/1000; if($distance<10){ $rs=round($distance,2); }else if($distance > 1000){ $rs='1000'; }else{ $rs=round($distance); } return $rs.'km'; }
转载声明:本文为红盾科技技术分享平台的原创文章,转载请注明原文地址,谢谢合作
发表评论: