1<!doctype html> 2<html lang="ko"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><meta name="theme-color" content="#f5f6f1"><meta name="description" content="ì¤ì ì ìì¹ ììì ìì§ì´ë ìëê¶ 1â9í¸ì . ìì¸ì ì´í ì ë³´ë¡ ë³´ë ìì ì¤ìê° ì² ë ì§ë."><title>wnode â ìëê¶ 1â9í¸ì </title> 3<link rel="icon" href="/favicon.svg"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,500,0,0&display=block"><link rel="stylesheet" href="/assets/vendor/maplibre-gl.css"><link rel="stylesheet" href="/assets/metro.css?v=1"><link rel="stylesheet" href="/assets/metro-lines.css?v=2"></head> 4<body><main id="map" aria-label="ìëê¶ 1â9í¸ì ì¤ì ì ìì¹ ì§ë"></main><canvas id="trains" aria-hidden="true"></canvas> 5<header class="brand"><button id="about-button" aria-label="ì§ë ìê°" aria-expanded="false"><svg viewBox="0 0 36 36" aria-hidden="true"><path d="M8 8L27 27M8 27L27 8" stroke="#00a84d" stroke-width="4"/><circle cx="8" cy="8" r="4"/><circle cx="27" cy="8" r="4"/><circle cx="8" cy="27" r="4"/></svg><strong>wnode</strong><span>SEOUL</span></button></header> 6<div class="live-pill" role="status"><i id="live-dot"></i><span id="live-status">ì´í ì ë³´ ì°ê²° ì¤</span></div> 7<nav class="map-tools" aria-label="ì§ë ë구"><button id="settings-button" aria-label="ì§ë ì¤ì " title="ì§ë ì¤ì " aria-expanded="false"><span class="material-symbols-rounded">tune</span></button><button id="fit-button" aria-label="ì íí ë ¸ì ì ì²´ 보기" title="ì íí ë ¸ì ì ì²´ 보기"><span class="material-symbols-rounded">center_focus_strong</span></button><button id="locate" aria-label="ë´ ìì¹" title="ë´ ìì¹"><span class="material-symbols-rounded">my_location</span></button><div class="zoom-stack"><button id="zoom-in" aria-label="íë"><span class="material-symbols-rounded">add</span></button><button id="zoom-out" aria-label="ì¶ì"><span class="material-symbols-rounded">remove</span></button></div></nav> 8<section class="sheet" id="about" hidden><div class="sheet-head"><h1>ìì¸ìì ì´ì´ì§ë ìì ì´ì°¨.</h1><button data-close="about" aria-label="ë«ê¸°"><span class="material-symbols-rounded">close</span></button></div><p>1~9í¸ì ê³¼ ì§ì , ë ¸ì ë³ 458ê° ìì ì¤ì ìì¹ì.<br>ìì¸ì ì´í ì ë³´ê° ìì ì´ì°¨ë¥¼ ìì§ì ëë¤.</p><p>ì ì¢íì ì ì°¨ ììë ê³µì ìë£ë¥¼ ë°íì¼ë¡ 구ì±íìµëë¤. íì¹ìì ë ¸ì ë³ë¡ ì§ê³íë, ì§ëììë í¸ì ë³ ì¢íì ëí ì§ì íëë¡ í©ì³ íìí©ëë¤. ì ë¡ë ìµë í ë²ì 45ë 꺾ìì¼ë¡ ííí ëìì´ë©° ì¤ì ì ë¡ ìì¹ê° ìëëë¤. ê³µíì² ë·경ìì¤ìì ë± ë¤ë¥¸ ë ¸ì ì ìì§ í¬í¨íì§ ììµëë¤.</p><p>ì´ì°¨ë GPS ìì¹ê° ìë <b>ì´í ì ë³´ ê¸°ë° ì¶ì ìì¹</b>ì ëë¤. íêµìê° 05:00~ë¤ì ë 01:30ì 12ë¶ ê°ê²©ì¼ë¡ 1~9í¸ì ì 보를 ê³µë ê°±ì í©ëë¤. íì¬ ì§ëë 1~9í¸ì ê³¼ ì§ì ì íìí©ëë¤. ê°±ì ì¬ì´ìë ì¬ë¬ ìì ì´ì´ì ì¶ì ì´ëíë©°, ê´ì¸¡ í 15ë¶ì´ ì§ë ì ë³´ë ì¨ê¹ëë¤. ê¸í ì 차·ì íí ìììê°Â·ì´ìì¬ë³ ì ê³µ ëë½ì ì¬ííì§ ëª»í©ëë¤. íì¹ ìë´ì©ì¼ë¡ ì¬ì©í ì ììµëë¤.</p><p class="sources">ì¶ì²: ìì¸í¹ë³ì 공공ë°ì´í° · ìì¸êµíµê³µì¬<br><a href="https://www.data.go.kr/data/15099316/fileData.do" target="_blank" rel="noopener">ì ì¢í (2025.08.14)</a> · <a href="https://data.seoul.go.kr/dataList/OA-21232/A/1/datasetView.do" target="_blank" rel="noopener">ìì¬ë§ì¤í° êµì°¨ê²ì¦</a> · <a href="https://data.seoul.go.kr/dataList/OA-12601/A/1/datasetView.do" target="_blank" rel="noopener">ì¤ìê° ì´ì°¨ ìì¹ì ë³´</a></p></section> 9<section class="sheet right" id="settings" hidden><div class="sheet-head"><h2>ì§ë ì¤ì </h2><button data-close="settings" aria-label="ë«ê¸°"><span class="material-symbols-rounded">close</span></button></div><label>ì§ë íí<select id="map-mode"><option value="game">ê²ì ì§ë</option><option value="simple">ê°ëµ ì§ë</option><option value="detail">ìì¸ ì§ë</option></select></label><label>ë¤í¬ 모ë<input type="checkbox" role="switch" id="dark"></label><label>ì´ì°¨ íì<input type="checkbox" role="switch" id="show-trains" checked></label><label>ì ì´ë¦<input type="checkbox" role="switch" id="show-labels" checked></label><p>ìê³¼ ì ë¡ë ê³ ì ëì´ ììµëë¤.<br>ì§ë를 ìì§ì´ê±°ë íëí´ì ì´í´ë³´ì¸ì.</p></section> 10<section class="sheet station-sheet" id="station-card" hidden><div class="sheet-head"><h2 id="station-name"></h2><button data-close="station-card" aria-label="ì ì ë³´ ë«ê¸°"><span class="material-symbols-rounded">close</span></button></div><div class="station-code" id="station-code"></div><p id="station-info"></p><p class="muted">ì´ì°¨ë¥¼ í´ë¦íë©´ ì´í ë°©í¥ê³¼ ê´ì¸¡ ìê°ì ë³¼ ì ììµëë¤.</p></section> 11<section class="search-sheet" id="search" hidden><label for="station-search">ì 찾기</label><input id="station-search" placeholder="ì ì´ë¦ì ì ë ¥íì¸ì" autocomplete="off"><div id="station-results"></div></section> 12<section class="search-sheet" id="line-picker" hidden><div class="sheet-head"><h2>ë ¸ì ì í</h2><button data-close="line-picker" aria-label="ë ¸ì ì í ë«ê¸°"><span class="material-symbols-rounded">close</span></button></div><div id="line-options"></div></section> 13<footer class="dock"><button class="line-chip" id="line-button" title="ë ¸ì ì í" aria-expanded="false"><span class="line-number" id="line-number">å ¨</span><span><strong id="line-title">ìì¸ Â· ìëê¶</strong><small id="line-subtitle">1â9í¸ì · ì§ì í¬í¨</small></span></button><span class="dock-divider"></span><button class="icon" id="search-button" aria-label="ì ê²ì" aria-expanded="false"><span class="material-symbols-rounded">search</span></button><div class="train-count"><strong id="train-count">â</strong><small>ì¶ì ì´ì°¨</small></div><span class="dock-divider optional"></span><div class="update"><span id="updated">ì ë³´ íì¸ ì¤</span><small>12ë¶ ê°±ì · ì´ëì ì¶ì </small></div></footer> 14<div id="toast" role="status" hidden></div>
15<script src="/assets/vendor/maplibre-gl.js"></script>
15<script src="/assets/core/geometry.js"></script>
15<script src="/assets/metro-model.js?v=2"></script>
15<script src="/assets/metro-network-model.js?v=3"></script>
15<script src="/assets/core/renderer.js?v=lanes1"></script>
15<script src="/assets/metro-lanes.js?v=3"></script>
15<script src="/assets/metro.js?v=9"></script>
15</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.