Files
GhiVideo/docs/history/2026-07-02_POI팝업-라벨겹침-수정.md
b23042andClaude Opus 4.8 e0ff5dd6d0 feat: 지도 나침반(OSM/위성) 추가 + 측점 검색·마커 정확도 개선 + POI/영상 수정
- 지도 기반 나침반(노스업, 현재위치, 시야 역삼각형): 호버 확대·휠 줌·클릭 위성전환, OSM/Esri 타일 서버 프록시(/api/tile)
- 스테이션 검색: 실제 측점(chain) 기준 이동, 없으면 '측점 없음' 안내
- 역 마커: 직교 투영 측점 일치 시에만 표시, 미도착 종점은 추가 방식
- POI 팝업 겹침/재등장·라벨 정합 수정
- 영상 fps 데이터 기반 자동 산출
- 기술/발표/쉬운설명 문서 추가

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 18:03:30 +09:00

1.0 KiB

POI 팝업 ↔ 라벨 겹침 수정

소요 시간: 약 15분 Context 사용량: input ~60k / output ~4k tokens

문제

POI 팝업이 화면 아래쪽에 다가올수록 라벨(십자마커+글자)과 팝업창이 겹치는 문제.

원인

client/src/components/overlay/StationOverlay.tsx 의 RAF 팝업 위치 계산에서 여백 GAP=16 을 라벨 중심(sy, 십자마커 위치) 기준으로 잡음. 라벨 글자·아이콘이 sy 위아래로 ~13px 차지 → 실제 여백은 3px뿐. 하단 위로 플립해도 동일 3px라 계속 겹침.

수정

  • LABEL_HALF=15(라벨 반높이) 도입 → 라벨 바깥 가장자리 기준으로 띄움.
    • 아래: ty = sy + LABEL_HALF + GAP
    • 위 플립: aboveTy = sy - LABEL_HALF - GAP - ph
    • GAP 16→12 (실제 여백 3px → 12px)
  • 초기 렌더 top sy+16 → sy+27 로 맞춰 1프레임 튐 방지.

검증

  • tsc --noEmit 통과
  • npm run build 성공 → :55000 프로덕션 반영