diff --git a/map4.js b/map4.js index 86771a5..c84cdf3 100644 --- a/map4.js +++ b/map4.js @@ -219,6 +219,26 @@ } // =================================== +// 距離計算(Haversine) +// =================================== +function distanceMeters(lat1, lng1, lat2, lng2) { + const R = 6371000; + const toRad = (deg) => (deg * Math.PI) / 180; + + const dLat = toRad(lat2 - lat1); + const dLng = toRad(lng2 - lng1); + + 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)); +} + + +// =================================== // メンバー一覧表示(ステータス付き) // =================================== function showMemberList(latestByDevice) {