言于头:本章是说明如何获取两个点(包含经纬度信息)之间在地球上的距离,需要注意的是地球上的点需要考虑一个弧度,具体方法总结如下。
public double getDistance (double lonA1,double latA1,double lonA2,double latA2) {
// 单位(米)
double lon1 = lonA1* Math.PI /180;
double lat1 = latA1* Math.PI /180;
double lon2 = lonA2* Math.PI /180;
double lat2 = latA2* Math.PI /180;
double dlon = lon2 - lon1;
double dlat = lat2 - lat1;
double a = Math.pow(Math.sin(dlat / 2), 2) + Math.cos(lat1) * Math.cos(lat2) * Math.pow(Math.sin(dlon / 2), 2);
double c = 2 * Math.asin(Math.sqrt(a));
return c * 6371 * 1000;
}