03 | private final double EARTH_RADIUS = 6378137.0 ; |
05 | private double GetDistance( double lat_a, double lng_a, double lat_b, double lng_b) { |
07 | double radLat1 = (lat_a * Math.PI / 180.0 ); |
09 | double radLat2 = (lat_b * Math.PI / 180.0 ); |
11 | double a = radLat1 - radLat2; |
13 | double b = (lng_a - lng_b) * Math.PI / 180.0 ; |
15 | double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2 ), 2 ) |
17 | + Math.cos(radLat1) * Math.cos(radLat2) |
19 | * Math.pow(Math.sin(b / 2 ), 2 ))); |
23 | s = Math.Round(s * 10000 ) / 10000 ; |
http://www.xiaoningmeng.com/2012/09/android-information-straight-line-distance-calculation-based-on-two-points-of-latitude-and-longitude/