首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

透过两点经纬度,计算他们之间的距离

2012-07-18 
通过两点经纬度,计算他们之间的距离这个确实好久没弄过了,完全忘记了,以前在一本书上看见过,不过后来在网

通过两点经纬度,计算他们之间的距离
这个确实好久没弄过了,完全忘记了,以前在一本书上看见过,不过后来在网上搜到的,其实就是球面距离算法



lat是纬度,lung是经度
a=Lat1 – Lat2 为两点纬度之差  b=Lung1 -Lung2 为两点经度之差;
6378.137(KM) 为地球半径 - -@

恩,结果也是km……

另外,google的api其实已经实现好了的

// 计算两点距离private final double EARTH_RADIUS = 6378137.0;  private double gps2m(double lat_a, double lng_a, double lat_b, double lng_b) {       double radLat1 = (lat_a * Math.PI / 180.0);       double radLat2 = (lat_b * Math.PI / 180.0);       double a = radLat1 - radLat2;       double b = (lng_a - lng_b) * Math.PI / 180.0;       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;    }

热点排行