/**
* @param $lng
* @param $lat
* @param float $distance 单位:km
* @return array
* @author 萤火虫 123246359@qq.com
* 根据传入的经纬度,和距离范围,返回所有在距离范围内的经纬度的取值范围
*/
function location_range($lng, $lat,$distance = 0.5){
$earthRadius = 6378.137;//单位km
$d_lng = 2 * asin(sin($distance / (2 * $earthRadius)) / cos(deg2rad($lat)));
$d_lng = rad2deg($d_lng);
$d_lat = $distance/$earthRadius;
$d_lat = rad2deg($d_lat);
return array(
'lat_start' => $lat - $d_lat,//纬度开始
'lat_end' => $lat + $d_lat,//纬度结束
'lng_start' => $lng-$d_lng,//纬度开始
'lng_end' => $lng + $d_lng//纬度结束
);
}
根据传入的经纬度,和距离范围,返回所有在距离范围内的经纬度的取值范围
发表评论 取消回复