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();