最近、需要を満たし、2点の緯度及び経度に基づいて、2点間の距離をチェックする必要があります。私は未来は、その小さな心の波を使用することになる感じ。
最初のステップは:Mavenの依存関係を追加します。
<依存> <groupIdを> org.gavaghan </ groupIdを> <たartifactId>測地学</たartifactId> <バージョン> 1.1.3 </バージョン> </依存関係>
ステップ2:コード。
パブリック クラスDistanceUtil { 公共 静的 ボイドメイン(文字列[]引数){ するSystem.out.println( "经纬度距离计算结果:" + getDistance(109.371319、22.155406、108.009758、21.679011)+ "米" )。 } パブリック 静的 ダブル getDistance(ダブル longitudeFrom、ダブル latitudeFrom、ダブル longitudeTo、ダブルlatitudeTo){ GlobalCoordinatesソース = 新しいGlobalCoordinates(latitudeFrom、longitudeFrom)。 GlobalCoordinatesターゲット = 新しいですGlobalCoordinates(latitudeTo、longitudeTo)。 返す 新しいGeodeticCalculator()calculateGeodeticCurve(Ellipsoid.Sphere、ソース、ターゲット).getEllipsoidalDistance(); } }
コード実行中の結果:
オープンプラットフォームBaiduのマップの結果をコントラスト:
0.1メートル以内の誤差範囲。
参考ます。https://www.cnblogs.com/xuzhw/archive/2018/12/19/10143626.html