百度…同理
//$distance 单位千米
private function returnSquarePoint($lat, $lng, $distance = 0.5)
{
$d_lng = 2 * asin(sin($distance / (2 * 6371)) / cos(deg2rad($lat)));
$d_lng = rad2deg($d_lng);
$d_lat = $distance / 6371;//地球半径,平均半径为6371km
$d_lat = rad2deg($d_lat);
return array(
'maxLat' => $lat + $d_lat,
'minLat' => $lat - $d_lat,
'maxLon' => $lng + $d_lng,
'minLon' => $lng - $d_lng
);
}
//$distance单位米
private function getAround($latitude, $longitude, $distance = 500)
{
$PI = 3.14159265;
$degree = (24901 * 1609) / 360.0;
$dpmLat = 1 / $degree;
$radiusLat = $dpmLat * $distance;
$minLat = $latitude - $radiusLat;
$maxLat = $latitude + $radiusLat;
$mpdLng = $degree * cos($latitude * ($PI / 180));
$dpmLng = 1 / $mpdLng;
$radiusLng = $dpmLng * $distance;
$minLng = $longitude - $radiusLng;
$maxLng = $longitude + $radiusLng;
return array('minLat' => $minLat, 'maxLat' => $maxLat, 'minLng' => $minLng, 'maxLng' => $maxLng);
}