TRANQUIL TRANSIT
conceptual · #E75120
● 현재위치   ● 화장실   ● 가장 가까움
<bestdur){bestdur=dur;bestidx=i;} });="" dirrenderer.setdirections(res);="" dirrenderer.setrouteindex(bestidx);="" const="" leg="res.routes[bestIdx].legs[0];" dtxt="leg.distance?.text||''," ttxt="leg.duration?.text||'';" settext('#routesummary',="" `최단="" 경로="" ·="" ${labelmode="=='WALKING'?'도보':'자동차'}" ${ttxt}="" ${dtxt}`);="" };="" candidates="candidatePoints(dest," 40);="" 1)="" 선택="" 모드로="" 후보들="" 시도="" for="" (const="" pt="" of="" candidates){="" try{="" r="await" trydirections(me,="" pt,="" mode);="" drawdirections(r,="" return;="" }="" catch(e){="" *="" 다음="" 후보="" 2)="" 다른="" 모드로도="" altmode="(mode==='WALKING')?'DRIVING':'WALKING';" altmode);="" 3)="" 마지막:="" distance="" matrix로="" 시간="" 거리="" 보장="" +="" 점선="" 직선="" dm="new" google.maps.distancematrixservice();="" out="await" new="" promise((resolve,reject)="">{ &nbsp; &nbsp; &nbsp; &nbsp;dm.getDistanceMatrix({ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;origins:[me], &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;destinations:[dest], &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;travelMode: google.maps.TravelMode[mode], &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unitSystem: google.maps.UnitSystem.METRIC &nbsp; &nbsp; &nbsp; &nbsp;}, (r,status)=&gt; status==='OK' ? resolve(r) : reject(status)); &nbsp; &nbsp; &nbsp;}); &nbsp; &nbsp; &nbsp;const cell = out.rows?.[0]?.elements?.[0]; &nbsp; &nbsp; &nbsp;const durTxt = cell?.duration?.text || ''; &nbsp; &nbsp; &nbsp;const distTxt = cell?.distance?.text || ''; &nbsp; &nbsp; &nbsp;drawDottedLine(me, dest); &nbsp; &nbsp; &nbsp;setText('#routeSummary', `소요시간(예상) · ${mode==='WALKING'?'도보':'자동차'} ${durTxt} · ${distTxt}`); &nbsp; &nbsp;}catch(err){ &nbsp; &nbsp; &nbsp;console.error('DistanceMatrix failed:', err); &nbsp; &nbsp; &nbsp;setText('#routeSummary','경로 계산 실패'); &nbsp; &nbsp;} &nbsp;} &nbsp;// 부팅 &nbsp;document.addEventListener('DOMContentLoaded', ()=&gt;{ &nbsp; &nbsp;const img=document.getElementById('splashImg'); if(img) img.src=SPLASH_URL; &nbsp; &nbsp;// 지도 높이 보정(컨테이너가 0px일 때 대비) &nbsp; &nbsp;const m = document.getElementById('map'); &nbsp; &nbsp;if (m &amp;&amp; m.getBoundingClientRect().height &lt; 200) { &nbsp; &nbsp; &nbsp;m.style.height = '70vh'; &nbsp; &nbsp;} &nbsp; &nbsp;waitFor('#map',5000).finally(()=&gt;{ &nbsp; &nbsp; &nbsp;ensureMapsLoaded(()=&gt;{ window.locateMe(); setTimeout(window.hideSplash, 3000); }); &nbsp; &nbsp;}); &nbsp;}); })(); </bestdur){bestdur=dur;bestidx=i;}><bestdur){bestdur=dur;bestidx=i;} });="" dirrenderer.setdirections(res);="" dirrenderer.setrouteindex(bestidx);="" const="" leg="res.routes[bestIdx].legs[0];" dtxt="leg.distance?.text||''," ttxt="leg.duration?.text||'';" settext('#routesummary',="" `최단="" 경로="" ·="" ${labelmode="=='WALKING'?'도보':'자동차'}" ${ttxt}="" ${dtxt}`);="" };="" candidates="candidatePoints(dest," 40);="" 1)="" 선택="" 모드로="" 후보들="" 시도="" for="" (const="" pt="" of="" candidates){="" try{="" r="await" trydirections(me,="" pt,="" mode);="" drawdirections(r,="" return;="" }="" catch(e){="" *="" 다음="" 후보="" 2)="" 다른="" 모드로도="" altmode="(mode==='WALKING')?'DRIVING':'WALKING';" altmode);="" 3)="" 마지막:="" distance="" matrix로="" 시간="" 거리="" 보장="" +="" 점선="" 직선="" dm="new" google.maps.distancematrixservice();="" out="await" new="" promise((resolve,reject)="">{ &nbsp; &nbsp; &nbsp; &nbsp;dm.getDistanceMatrix({ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;origins:[me], &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;destinations:[dest], &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;travelMode: google.maps.TravelMode[mode], &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unitSystem: google.maps.UnitSystem.METRIC &nbsp; &nbsp; &nbsp; &nbsp;}, (r,status)=&gt; status==='OK' ? resolve(r) : reject(status)); &nbsp; &nbsp; &nbsp;}); &nbsp; &nbsp; &nbsp;const cell = out.rows?.[0]?.elements?.[0]; &nbsp; &nbsp; &nbsp;const durTxt = cell?.duration?.text || ''; &nbsp; &nbsp; &nbsp;const distTxt = cell?.distance?.text || ''; &nbsp; &nbsp; &nbsp;drawDottedLine(me, dest); &nbsp; &nbsp; &nbsp;setText('#routeSummary', `소요시간(예상) · ${mode==='WALKING'?'도보':'자동차'} ${durTxt} · ${distTxt}`); &nbsp; &nbsp;}catch(err){ &nbsp; &nbsp; &nbsp;console.error('DistanceMatrix failed:', err); &nbsp; &nbsp; &nbsp;setText('#routeSummary','경로 계산 실패'); &nbsp; &nbsp;} &nbsp;} &nbsp;// 부팅 &nbsp;document.addEventListener('DOMContentLoaded', ()=&gt;{ &nbsp; &nbsp;const img=document.getElementById('splashImg'); if(img) img.src=SPLASH_URL; &nbsp; &nbsp;// 지도 높이 보정(컨테이너가 0px일 때 대비) &nbsp; &nbsp;const m = document.getElementById('map'); &nbsp; &nbsp;if (m &amp;&amp; m.getBoundingClientRect().height &lt; 200) { &nbsp; &nbsp; &nbsp;m.style.height = '70vh'; &nbsp; &nbsp;} &nbsp; &nbsp;waitFor('#map',5000).finally(()=&gt;{ &nbsp; &nbsp; &nbsp;ensureMapsLoaded(()=&gt;{ window.locateMe(); setTimeout(window.hideSplash, 3000); }); &nbsp; &nbsp;}); &nbsp;}); })(); </bestdur){bestdur=dur;bestidx=i;}>