private static double EARTH_RADIUS = 6378.137;
public static double getRulst(double lng_a, double lat_a, double lng_b, double lat_b) {
double radLat1 = (lng_a * Math.PI / 180.0);
double radLat2 = (lng_b * Math.PI / 180.0);
double a = radLat2 - radLat1;
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(radLat2) * Math.cos(radLat1)
* Math.pow(Math.sin(b / 2), 2)));
s = s * EARTH_RADIUS;
s = s * 1000;
return s;
}
最后算出的结果单位是米,
本人觉得算出结果偏差较小,
测试上地三街和上地四街,距离251.******米,
在百度地图测算,270.****米。
转载于:https://blog.51cto.com/yxmwater/914985