전국 지도 보이게 줌 레벨 수정
This commit is contained in:
@@ -25,6 +25,8 @@ export const EXMN_PROC_SEARCH_EVENT = "SN_INFTWT_PROC_SEARCH";
|
||||
// 지반침하 지도 포인트와 같은 파란 계열의 기존 레이어 트리 심볼 자산을 재사용한다.
|
||||
export const SINKHOLE_TREE_ICON_NAME = "SN_SINKHOLE_SPOT_BLUE.png";
|
||||
|
||||
// EPSG:5179의 남한·도서 주변 여유 범위 [minX, minY, maxX, maxY].
|
||||
// 화면 비율 때문에 전체 범위가 잘리지 않도록 Gis의 viewShowFullExtent와 함께 사용한다.
|
||||
export const SOUTH_KOREA_VIEW_EXTENT: [number, number, number, number] = [
|
||||
600000, 1300000, 1500000, 2500000,
|
||||
];
|
||||
|
||||
@@ -3335,6 +3335,7 @@ const MapPageClient = () => {
|
||||
defaultZoom={7.5}
|
||||
defaultLonLat={[129, 36.3]}
|
||||
viewExtent={SOUTH_KOREA_VIEW_EXTENT}
|
||||
viewShowFullExtent={true}
|
||||
/>
|
||||
{isAgedPipeListMinimized && (
|
||||
<div className="fixed left-[480px] top-[68px] z-[90] flex min-w-[250px] items-center gap-3 rounded-sm border border-red-200 bg-background px-3 py-2 shadow-[0_8px_22px_rgba(15,23,42,0.22)] backdrop-blur">
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
# 관망도 남한 전체 축소 표시
|
||||
|
||||
- 작업일: 2026-10-07
|
||||
- 목적: 최소 줌을 낮춰도 지정 영역 제한 때문에 남한 전체까지 축소되지 않는 현상 보완.
|
||||
- 근거: 사용자 요청. 화면설계서 7번 SN_MN010101의 하수관망도, 요구사항정의서 기능 추적표 97~100행(PR-SN-030)을 확인했다. 해당 원본에는 정확한 줌/좌표 제한값이 없으므로 이번 값은 원본 요구사항으로 주장하지 않는다.
|
||||
|
||||
## 수정
|
||||
|
||||
| 파일 | 내용 |
|
||||
| --- | --- |
|
||||
| app/(map-layout)/map/model/map-constants.ts | SOUTH_KOREA_VIEW_EXTENT의 좌표계·용도 주석 추가. 기존 좌표 유지 |
|
||||
| app/(map-layout)/map/ui/map-page-client.tsx | Gis에 viewShowFullExtent=true 전달 |
|
||||
| packages/common/business_components/src/ui/map/Gis.js | 선택 속성을 View.showFullExtent에 연결. 기본 false로 다른 앱의 기존 동작 유지 |
|
||||
|
||||
범위는 EPSG:5179 `[600000, 1300000, 1500000, 2500000]`이다. 이 범위에는 남한이 포함되어 있으나, OpenLayers의 기본 extent 제약은 화면 가로·세로 중 어느 방향도 범위 밖으로 나가지 못하도록 축소를 제한한다. showFullExtent는 지정 영역 전체가 보이도록 한 축의 화면이 범위를 넘는 축소를 허용한다. 영역을 무제한으로 확장하거나 minZoom을 무시하는 설정이 아니다.
|
||||
|
||||
## 검증
|
||||
|
||||
- 사용자 SN 개발서버 3002(PID 69796)를 유지하고 HMR로 검증했다. 서버 재시작과 Next build는 수행하지 않았다.
|
||||
- 기존 Chrome 탭 연결은 시간 초과하여 별도 인앱 브라우저 검증 탭을 사용했다.
|
||||
- localhost:3002에서 승인된 테스트 계정으로 로그인 후 관망도 진입.
|
||||
- 1280×720 브라우저에서 축소 버튼으로 줌 7.5 → 6.5 → 6.0 이동 확인.
|
||||
- 줌 6.0에서 남한 본토, 제주도와 울릉도·독도가 함께 보이는 화면을 확인했다. 레이어 패널과 분석도구 패널을 유지한 상태다.
|
||||
- git diff --check 통과. 기존 배경지도 타일의 모든 외부 네트워크 요청, 전체 업무 API 및 다른 화면 회귀까지 검증한 것은 아니다.
|
||||
|
||||
## 영향 및 롤백
|
||||
|
||||
- API/DB/레이어 검색·조회조건 변경 없음. 초기 줌 7.5와 중심좌표는 유지한다.
|
||||
- 다른 앱은 선택 속성을 전달하지 않으므로 기존 기본값 false를 유지한다.
|
||||
- 롤백은 이번 선택 속성 전달과 View 연결, 설명 주석만 제거한다. 사용자 변경이나 공통 minZoom은 되돌리지 않는다.
|
||||
- 별도 테스트 파일·캡처 파일을 생성하지 않았다. 최종 문서만 보존하며 검증용 브라우저 탭은 종료한다.
|
||||
@@ -84,6 +84,8 @@ function Gis({
|
||||
defaultLonLat = [127.4875, 37.4916],
|
||||
viewExtent,
|
||||
viewMinZoom,
|
||||
// 지정 범위 전체까지 축소를 허용한다. 기본값은 기존 타 앱의 범위 제한을 유지한다.
|
||||
viewShowFullExtent = false,
|
||||
showZoomLevel = false,
|
||||
toolBarIconSize,
|
||||
zoomGuide,
|
||||
@@ -176,6 +178,7 @@ function Gis({
|
||||
minZoom: viewMinZoom ?? gisCore.defaults.minZoom,
|
||||
maxZoom: gisCore.defaults.maxZoom,
|
||||
extent: viewExtent,
|
||||
showFullExtent: viewShowFullExtent,
|
||||
}),
|
||||
});
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user