/** |
02 | * @param raidus 单位米 |
03 | * return minLat,minLng,maxLat,maxLng |
04 | */ |
05 | public static double [] getAround( double lat, double lon, int raidus) { |
06 |
07 | Double latitude = lat; |
08 | Double longitude = lon; |
09 |
10 | Double degree = ( 24901 * 1609 ) / 360.0 ; |
11 | double raidusMile = raidus; |
12 |
13 | Double dpmLat = 1 / degree; |
14 | Double radiusLat = dpmLat * raidusMile; |
15 | Double minLat = latitude - radiusLat; |
16 | Double maxLat = latitude + radiusLat; |
17 |
18 | Double mpdLng = degree * Math.cos(latitude * (PI / 180 )); |
19 | Double dpmLng = 1 / mpdLng; |
20 | Double radiusLng = dpmLng * raidusMile; |
21 | Double minLng = longitude - radiusLng; |
22 | Double maxLng = longitude + radiusLng; |
23 | return new double []{minLat, minLng, maxLat, maxLng}; |
24 | } |