diff --git a/map4.js b/map4.js index 2d2e85e..789fd49 100644 --- a/map4.js +++ b/map4.js @@ -243,11 +243,13 @@ } // =================================== -// 距離 + +// =================================== +// 距離計算(正しいハバーサイン公式) // =================================== function distanceMeters(lat1, lng1, lat2, lng2) { - const R = 6371000; - const toRad = (d) => d * Math.PI / 180; + const R = 6371000; // 地球の半径(m) + const toRad = (deg) => deg * Math.PI / 180; const dLat = toRad(lat2 - lat1); const dLng = toRad(lng2 - lng1); @@ -261,15 +263,6 @@ return R * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); } - const a = - Math.sin(dLat / 2) ** 2 + - Math.cos(toRad(lat1)) * - Math.cos(toRad(lat2)) * - Math.sin(dLng / 2) ** 2; - - return R * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); -} - // =================================== // 到着判定 // ===================================