초기 커밋: 스테이션(측점) 기반 주행영상 플레이어
- 클라이언트(React/Vite): Video.js 플레이어, 하단 스테이션바, POI/구조물 영상 오버레이, 카메라 파라미터 보정, 미니맵/RoutePanel - 서버(Express): Range 스트리밍, HLS 변환, 프레임 추출, tus 업로드, 주석 API - 최근 작업: 스테이션바 종점역 표출/양끝 정렬/미도착(재생불가) 표시, POI 라벨 '구분' 우선·컴팩트 팝업·겹침제외 토글·동일좌표 다중행, 진행방향(상/하) 우선 표출, 커서 배지 크기·픽셀 떨림 개선 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# 철도역(KAKAO_RAIL) — 영상 POI + 스테이션바 양쪽 표출 (모든 POI 영상 표시)
|
||||
|
||||
**날짜**: 2026-06-24
|
||||
**수정 파일**: `client/src/utils/geoData.ts`, `client/src/components/overlay/StationOverlay.tsx`
|
||||
**관련**: [2026-06-24_1647_새KML형식파싱+스테이션바구조물팝업.md](2026-06-24_1647_새KML형식파싱+스테이션바구조물팝업.md)
|
||||
|
||||
## 요구 (정정)
|
||||
- 회덕화물역 POI 가 영상에 안 보임 → **모든 POI 는 영상에 보여야 함**(철도역 포함).
|
||||
- KAKAO_RAIL 은 영상 POI 에 **더해** 스테이션바에도 표시(둘 다).
|
||||
|
||||
## 직전 오류
|
||||
KAKAO_RAIL 을 스테이션바로 **라우팅(영상 제외)** 했음 → 회덕화물역이 영상에서 빠짐. 요구는 양쪽 표출.
|
||||
|
||||
## 조치
|
||||
### parseKmz — 철도역을 pois 에 항상 + 스테이션바에 추가
|
||||
```ts
|
||||
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 — 철도역/역사 영상 제외 필터 제거
|
||||
```diff
|
||||
- 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
|
||||
Reference in New Issue
Block a user