/** |
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 |
} |
本文介绍了一个用于计算给定经纬度坐标周围指定半径内的最小和最大经纬度范围的方法。通过数学公式转换,能够准确地确定出一个圆形区域的边界坐标。
3478

被折叠的 条评论
为什么被折叠?



