From 3bba3dce98200f52bfbf8126eb67c2545fb63874 Mon Sep 17 00:00:00 2001 From: JIeunhuh Date: Tue, 8 Jul 2025 10:32:56 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=96=B4=EB=AA=85=20?= =?UTF-8?q?=EA=B0=80=EC=A0=B8=EC=98=AC=EB=95=8C=20=EC=B2=B4=ED=81=AC?= =?UTF-8?q?=EB=90=9C=20=EA=B0=92=EB=A7=8C=20=EA=B0=80=EC=A0=B8=EC=98=A4?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wr/app/map/newWindowPopup.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/wr/app/map/newWindowPopup.tsx b/apps/wr/app/map/newWindowPopup.tsx index ee6216b28..c60c3b537 100644 --- a/apps/wr/app/map/newWindowPopup.tsx +++ b/apps/wr/app/map/newWindowPopup.tsx @@ -123,9 +123,9 @@ const NewWindowPopup: React.FC = ({ if (!featureData) return; ///////////////////////////////////////////// 피쳐데이터 선택 시 각 시설별 데이터 처리 /////////////////////////////////////////////// useEffect(() => { + const layerId = getSelectedLayers(); if (featureData && typeof featureData.getProperties === "function") { const selectedVal = featureData.getProperties(); - const layerId = getSelectedLayers(); let featureCd = layerId == '하수재이용시설' ? selectedVal?.swtrmt_fclt_cd : layerId == '빗물이용시설' || layerId == '중수도시설' ? selectedVal?.bdst_nm : layerId == '하수처리시설' ? 'a' : null; if (featureCd && featureCd !== fcltPk) { if (layerId == '하수재이용시설') { @@ -157,9 +157,9 @@ const NewWindowPopup: React.FC = ({ setHtdflDetailModal({ isOpen: true, data: htdflSttnRes[0] }); setViewMode("detail") } - else if(layerId =='하수처리시설') setViewMode('nothing') + else if(layerId =='하수처리시설') onClose(); } - } else if (seletectedLayerNm) { setViewMode("list") } + } else if (layerId === null && seletectedLayerNm) { setViewMode("list") } }, [featureData]); ///////////////////////////////////////////// 피쳐데이터 선택 시 각 시설별 데이터 처리 /////////////////////////////////////////////// @@ -179,7 +179,7 @@ const NewWindowPopup: React.FC = ({ }; const getSelectedLayers = () => { let result = null; - const layers = gisMap ? gisMap.getLayers().getArray() : []; // gisMap이 null인지 확인 후 레이어 가져오기 + const layers = gisMap ? gisMap.getLayers().getArray().filter((l:any) => l.getVisible()) : []; // gisMap이 null인지 확인 후 레이어 가져오기 let featureLayer: { get: (key: string) => any } = { get: (key: string) => null }; // 피처가 속한 레이어를 찾기 위한 변수 layers.forEach((layer: any) => { const source = layer.getSource();