fix(B04): 배수유역 오버레이가 화면에 안 그려지던 문제

분석은 돌고 상태 문구도 나오는데 지도에는 아무것도 안 보였다.

원인: 프레임 함수 이름이 draw() 가 아니라 drawVectorLayer() 라
오버레이 draw 호출을 끼워 넣는 치환이 조용히 실패했다. 호출 자체가
소스에 없었다.

- drawVectorLayer() 안, GIS 레이어와 등고 라벨 뒤에 오버레이 draw 삽입.
  격자/화살표가 등고선을 덮어야 읽히므로 맨 위에 얹는다.
- drawPrimaryRegion 이 drawGridCells 를 한 번 더 부르던 중복 제거
  (draw 체인이 이미 먼저 호출한다).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-31 21:02:52 +09:00
co-authored by Claude Fable 5
parent 8a0d640e0e
commit 395e6b4b13
2 changed files with 3 additions and 3 deletions
@@ -329,6 +329,8 @@ export function createSurfaceMapViewer(): SurfaceMapViewer {
if (prepared) drawPreparedLabels(context, prepared, view, GIS_LAYER_COLORS[layer]);
});
}
// 배수유역 오버레이는 GIS 레이어 위에 얹는다 — 격자·화살표가 등고선을 덮어야 읽힌다.
if (normalizer) watershed.draw(context, normalizer, view);
updateImageTransform();
drawScaleBar(mapRect);
}
@@ -242,9 +242,7 @@ export function createWatershedOverlay(onChange: () => void): WatershedOverlay {
region: WatershedAnalysis,
): void {
context.save();
// ① 해석 격자 — bbox 테두리 + 실제 셀 눈금.
drawGridCells(context, map, view, region);
// ② 1차 배수유역 = 상류 세류망의 반경 버퍼 합집합.
// 1차 배수유역 = 상류 세류망의 반경 버퍼 합집합. (격자는 draw()에서 먼저 깔았다)
context.setLineDash([]);
context.lineWidth = 2;
context.strokeStyle = "rgba(5, 150, 105, 0.95)";