/** * 根據傳入的經緯度,和距離范圍,返回所有在距離范圍內的經緯度的取值范圍 * @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,//緯度結束 ); }