您的位置:首页 > 移动开发 > Android开发

Android 根据两点经纬度计算直线距离

2013-06-06 19:28 204 查看
//
计算两点距离
02
 
03
private
 
final
 
double
 
EARTH_RADIUS
= 
6378137.0
04
 
05
private
 
double
 
GetDistance(
double
 
lat_a, 
double
 
lng_a, 
double
 
lat_b, 
double
 
lng_b)
{
06
 
07
       
double
 
radLat1
= (lat_a * Math.PI / 
180.0
);
08
 
09
       
double
 
radLat2
= (lat_b * Math.PI / 
180.0
);
10
 
11
       
double
 
a
= radLat1 - radLat2;
12
 
13
       
double
 
b
= (lng_a - lng_b) * Math.PI / 
180.0
;
14
 
15
       
double
 
s
= 
2
 
*
Math.asin(Math.sqrt(Math.pow(Math.sin(a / 
2
), 
2
)
16
 
17
              
+
Math.cos(radLat1) * Math.cos(radLat2)
18
 
19
              
*
Math.pow(Math.sin(b / 
2
), 
2
)));
20
 
21
       
s
= s * EARTH_RADIUS;
22
 
23
       
s
= Math.Round(s * 
10000
)
/ 
10000
;
24
 
25
       
return
 
s;
26
 
27
    
}
http://www.xiaoningmeng.com/2012/09/android-information-straight-line-distance-calculation-based-on-two-points-of-latitude-and-longitude/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: