1.6 KiB
1.6 KiB
2026-04-28 미니맵 미표시 원인 분석 및 수정
작업 내용
새로운 서버에 배포 후 RoutePanel 미니맵이 표시되지 않는 원인 분석 및 수정
원인
GEO_DATA_DIR미설정: 기본값이samplevideo/상대 경로인데 새 서버에 해당 폴더 없음loadFrames()crash:_dataDir이 존재하지 않아도fs.readdirSync()호출 → 예외 발생 →/api/geo/frames500 반환- RoutePanel 렌더 가드:
stations.length === 0이면null반환 → 미니맵 완전히 숨김 - 에러 무시: fetch
.catch(() => {})로 서버 500 에러가 조용히 무시됨
수정 사항
server/src/services/geoMatch.ts:loadFrames()에fs.existsSync(_dataDir)체크 추가 (crash → 빈 배열 반환)loadFrames(),loadPois()양쪽에[geo]경고 로그 추가 (어떤 파일이 없는지 즉시 파악 가능)- 불필요한 미사용 변수(
csvPath) 제거
새 서버 설정 방법
$env:GEO_DATA_DIR="C:\경로\samplevideo"
$env:VIDEOS_DIR="C:\경로\videos"
npm run dev:server
필요한 디렉토리 구조:
{GEO_DATA_DIR}/
├── 하행)회덕-대전조차장.csv ← 드론 비행 데이터
└── building/
├── *POI*위경도*.csv
└── *측점*위경도*.csv
GeoSearch 기능 확인
- "건물 → 프레임" 탭: 측점/건물명 검색 → 카메라 시야 내 프레임 목록 → 클릭 시 이동
- "프레임 → 건물" 탭: 현재 프레임에서 보이는 POI/측점 목록 표시
- RoutePanel: 세로 드래그로 km 위치 seek
소요 시간: 20분 Context 사용량: input 45k / output 8k tokens