インドでうまく機能するコードがあります。このコードは、2 つの場所の間のおおよその距離を計算します。以下のコードを使用しました。しかし、この同じコードを米国で実行すると。次に、場所の更新ごとに異なる距離が計算されます。出発地と目的地の緯度と経度をこの関数に渡しました。このアプリはインドでうまく機能します。しかし、米国では機能しません。同じ場所で、異なる計算が表示されます。よろしくお願いします。
public static double distanceKm(double lat1, double lon1, double lat2, double lon2) {
double lat1Rad = Math.toRadians(lat1);
double lat2Rad = Math.toRadians(lat2);
double deltaLonRad = Math.toRadians(lon2 - lon1);
return Math.acos(Math.sin(lat1Rad) * Math.sin(lat2Rad) + Math.cos(lat1Rad) * Math.cos(lat2Rad)
* Math.cos(deltaLonRad))
* 6371;
}