diff --git a/packages/common/business_components/src/ui/map/Gis.js b/packages/common/business_components/src/ui/map/Gis.js index 2af6f76dc..d7c013084 100644 --- a/packages/common/business_components/src/ui/map/Gis.js +++ b/packages/common/business_components/src/ui/map/Gis.js @@ -47,7 +47,7 @@ function Gis({ const gisCore = useMemo(() => new GisApp.core({ targetId: mapRef.current }), []); const mapInstanceRef = useRef(null); const checkedLayerIds = useRef([]); - const [viewMode, setViewMode] = useState("detail"); + // 팝업 데이터를 저장할 상태와 오버레이 참조를 저장할 ref 추가 // const [facilityInfoPopupData, setFacilityInfoPopupData] = useState([]); @@ -348,7 +348,7 @@ function Gis({ setCheckedLayers(checkedIds); setCheckedLayersData(checkedNodesData); onCheckedLayersChange?.(checkedIds, checkedNodesData); - }, 0); + }, 0); }, [onCheckedLayersChange]); return ( @@ -360,7 +360,12 @@ function Gis({ visible={tabVisible} setVisible={setTabVisible} onCheckedChange={handleCheckedLayersChange} - onLayerIconClick={(nodeNm)=>{setLayerNm(nodeNm); setIsOpen(true); setViewMode("detail")}} + onLayerIconClick={(nodeNm) => { + setLayerNm(nodeNm); setIsOpen(true); const dummyFeature = { + getProperties: () => ({}), // 최소 구조 + }; + onFeatureSelect(dummyFeature); + }} /> {/* */} @@ -368,20 +373,19 @@ function Gis({ {/* DetailView가 존재할 때만 렌더링 isSearchModalOpen이 true면 visible=false로 팝업 숨김 */} {isOpen && !isSearchModalOpen && ( ({}) }} seletectedLayerNm={layerNm} - viewMode={viewMode} onClose={closePopup} // 닫기 콜백 전달 /> )} {/* SearchView가 존재할 때만 렌더링 */} - {SearchView && ( - - )} + {SearchView && ( + + )}