根据经纬度搜索附近的人

 

/**
 * 根据传入的经纬度,和距离范围,返回所有在距离范围内的经纬度的取值范围
 * @param float $lng 经度
 * @param float $lat 纬度
 * @param float $distance 距离(km)
 * @return array
 */
function getSquarePoint($lng, $lat, $distance)
{
    $earthRadius = 6371; //地球半径,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(
        'lng_start' => $lng - $d_lng,//经度开始
        'lng_end' => $lng + $d_lng, //经度结束
        'lat_start' => $lat - $d_lat,//纬度开始
        'lat_end' => $lat + $d_lat,//纬度结束
    );
}

 

posted @ 2021-06-08 20:35  钧一  阅读(381)  评论(2编辑  收藏  举报