From 52ca9d03a82ea1ac7e95b20f648a8cdf3365b0ab Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Tue, 10 Jun 2025 13:59:38 +0000 Subject: [PATCH] =?UTF-8?q?=E8=B7=AF=E7=B7=9A=E3=82=92=E8=B7=A8=E3=81=90?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E3=81=AB=E5=B1=85=E3=82=8B=E3=81=A8=E8=B7=AF?= =?UTF-8?q?=E7=B7=9A=E9=A0=86=E3=81=AB=E5=80=99=E8=A3=9C=E3=81=8C=E4=B8=A6?= =?UTF-8?q?=E3=82=93=E3=81=A7=E3=81=97=E3=81=BE=E3=81=86=E5=95=8F=E9=A1=8C?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- menu.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/menu.js b/menu.js index ffff6f5..2413050 100644 --- a/menu.js +++ b/menu.js @@ -140,6 +140,24 @@ export default function Menu(props) { return; returnData.push(array.filter((d2) => d2.Station_JP == stationName)); }); + //returnDataを距離の近い順にソート + returnData.sort((a, b) => { + const _calcDistance = (from, to) => { + let lat = Math.abs(from.lat - to.lat); + let lng = Math.abs(from.lng - to.lng); + return Math.sqrt(lat * lat + lng * lng); + }; + return ( + _calcDistance(a[0], { + lat: location.coords.latitude, + lng: location.coords.longitude, + }) - + _calcDistance(b[0], { + lat: location.coords.latitude, + lng: location.coords.longitude, + }) + ); + }); setNearPositionStation(returnData); } };