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.****米。