您的位置:首页 > 其它

百度地图获取二个经纬度坐标间的距离

2016-05-13 18:23 211 查看
项目中用到的是百度地图

public class LngLat {

/**

* 根据经纬度,获取两点间的距离

*

* @author e_laoye

* @param lng1 经度

* @param lat1 纬度

* @param lng2

* @param lat2

* @return

*

* @date 2015-8-10

*/

public static double distanceByLngLat(double lng1, double lat1, double lng2, double lat2) {

double radLat1 = lat1 * Math.PI / 180;

double radLat2 = lat2 * Math.PI / 180;

double a = radLat1 - radLat2;

double b = lng1 * Math.PI / 180 - lng2 * Math.PI / 180;

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 * 6378137.0;// 取WGS84标准参考椭球中的地球长半径(单位:m)

s = Math.round(s * 10000) / 10000;

return s;

}

/**

* 说明:

*

* @author e_laoye

* @param args

* @throws Exception

*

*

*/

public static void main(String[] args) throws Exception {

System.out.println(distanceByLngLat(113.329140, 23.130101, 113.329140, 23.130507));

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: