Files
GhiVideo_v4/docs/history/2026-06-24_1703_철도역-영상POI+스테이션바양쪽표출.md
T
b23042andClaude Fable 5 d38b842e8d GhiVideo 소스 복제 — v4 작업 시작 기준
기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제.
(node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 14:32:51 +09:00

1.9 KiB

철도역(KAKAO_RAIL) — 영상 POI + 스테이션바 양쪽 표출 (모든 POI 영상 표시)

날짜: 2026-06-24 수정 파일: client/src/utils/geoData.ts, client/src/components/overlay/StationOverlay.tsx 관련: 2026-06-24_1647_새KML형식파싱+스테이션바구조물팝업.md

요구 (정정)

  • 회덕화물역 POI 가 영상에 안 보임 → 모든 POI 는 영상에 보여야 함(철도역 포함).
  • KAKAO_RAIL 은 영상 POI 에 더해 스테이션바에도 표시(둘 다).

직전 오류

KAKAO_RAIL 을 스테이션바로 라우팅(영상 제외) 했음 → 회덕화물역이 영상에서 빠짐. 요구는 양쪽 표출.

조치

parseKmz — 철도역을 pois 에 항상 + 스테이션바에 추가

pois.push({ title:name, category:cat, lat, lon, z, type:'poi', props });   // 모든 POI 영상
if (src === 'KAKAO_RAIL' || cat === '철도역' || cat === '역사')
  structures.push({ type:'station', category:'역사', name, lat, lon, props }); // + 스테이션바

StationOverlay — 철도역/역사 영상 제외 필터 제거

- const allPoi = allPoisRef.current
-   .filter(p => p.category !== '철도역' && p.category !== '역사')
-   .concat(allStructuresRef.current);
+ const allPoi = allPoisRef.current.concat(allStructuresRef.current);  // 모든 POI 표출
  • CATEGORY_EMOJI['철도역']='🚉' 추가.

결과

  • 회덕화물역: 영상 POI(🚉 + 전체 KML 속성 팝업) + 스테이션바(원형 마커, 클릭 시 속성 팝업) 동시.
  • 역사 구조물은 영상 구조물 필터(구교/교량/터널)에 미포함이라 영상엔 POI 1개만(중복 없음).
  • 다른 모든 POI(지장물 등)도 영상 표출(제외 없음).

검증

  • npm run build -w client (node20) tsc + vite build 통과.

소요 시간: 약 8분 Context 사용량: input ~880k / output ~5k tokens