1. 程式人生 > >在地球上,已知A點的經緯度和B點的經緯度,算出AB點之間的距離

在地球上,已知A點的經緯度和B點的經緯度,算出AB點之間的距離

public static void main(String[] args) {
    double earthR = 6371000;//地球大致半徑
double lat1 = aa.aaaa; //A的緯度
double lng1 = bb.bbbb;//A的經度
double lat2 = cc.cccc;//B的緯度
double lng2 = dd.dddd;//B的經度
double distance = earthR * getDistance(lat1,lng1,lat2,lng2);
System.out.println(String.format("%.2f",distance));
}
public static double 
getDistance(double lat1, double lng1, double lat2, double lng2) { return 2 * asin(min(1, sqrt((pow(sin(((lat2 - lat1) * PI) / 360), 2)) + cos(lat2 * PI / 180) * cos(lat1 * PI / 180) * pow(sin(((lng2 - lng1) * PI) / 360), 2)))); }