Java-根據經緯度計算距離(百度地圖距離)


  最近碰到一個需求,需要根據兩個點的經緯度查詢兩點的距離。感覺以后還會用到,所以小記一波。

  第一步:添加Maven依賴。

        <dependency>
              <groupId>org.gavaghan</groupId>
              <artifactId>geodesy</artifactId>
              <version>1.1.3</version>
        </dependency>

  第二步:代碼實現。

public class DistanceUtil {

    public static void main(String[] args) {
        System.out.println("經緯度距離計算結果:" + getDistance(109.371319, 22.155406, 108.009758, 21.679011) + "米");
    }


    public static double getDistance(double longitudeFrom, double latitudeFrom, double longitudeTo, double latitudeTo) {
        GlobalCoordinates source = new GlobalCoordinates(latitudeFrom, longitudeFrom);
        GlobalCoordinates target = new GlobalCoordinates(latitudeTo, longitudeTo);

        return new GeodeticCalculator().calculateGeodeticCurve(Ellipsoid.Sphere, source, target).getEllipsoidalDistance();
    }

}

  代碼運行結果:

  對比百度地圖開放平台計算結果:

 

   誤差范圍在0.1米內。

參考:https://www.cnblogs.com/xuzhw/archive/2018/12/19/10143626.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM