红桃峰峰 的博客

此博客仅是个人在学习过程中的一个记录,如有哪里写的不正确,请各位大神指正...

计算两个坐标之间的距离

private const double EARTH_RADIUS = 6378.137;  
private static double rad(double d)  
{  
   return d * Math.PI / 180.0;  
}  

  

/**

*double lat1, 第一个坐标纬度

*double lng1第一个坐标经度

*double lat2, 第二个坐标纬度

*double lng2第二个坐标经度

*/

public static double GetDistance(double lat1, double lng1, double lat2, double lng2)  
{  
   double radLat1 = rad(lat1);  
   double radLat2 = rad(lat2);  
   double a = radLat1 - radLat2;  
   double b = rad(lng1) - rad(lng2);  
   double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a/2),2) +   
    Math.Cos(radLat1)*Math.Cos(radLat2)*Math.Pow(Math.Sin(b/2),2)));  
   s = s * EARTH_RADIUS;  
   s = Math.Round(s * 10000) / 10000;  
   return s;  
阅读更多
个人分类: JAVA android入门
上一篇java交互:通知和等待
下一篇java实现日期加一天
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭