diff --git a/src/components/map/naver/dron/DronMarker.js b/src/components/map/naver/dron/DronMarker.js index da98ac56..48198fb2 100644 --- a/src/components/map/naver/dron/DronMarker.js +++ b/src/components/map/naver/dron/DronMarker.js @@ -1,6 +1,6 @@ import $ from 'jquery'; import { useEffect, useState, useLayoutEffect } from 'react'; -import { useDispatch, useSelector } from 'react-redux'; +import { useDispatch, useSelector, shallowEqual } from 'react-redux'; import '../../../../assets/css/custom.css'; import FlightIcon from '../../../../assets/images/airplan_org.svg'; import FlightDetailIcon from '../../../../assets/images/airplan_pp.svg'; @@ -25,7 +25,8 @@ export const DronMarker = props => { state => state.controlGpState ); const { objectId, isClickObject } = useSelector( - state => state.controlMapReducer + state => state.controlMapReducer, + shallowEqual ); // const { controlGroupAuthInfo } = useSelector( // state => state.controlGroupAuthState @@ -332,6 +333,7 @@ export const DronMarker = props => { //데이터가 없는 마커를 모두 삭제 한다. const allRemoveMarkers = () => { + let isUnClick = false; if (arrMarkers && controlGpList) { arrMarkers.map(marker => { const isExists = controlGpList.find( @@ -341,8 +343,9 @@ export const DronMarker = props => { removeMarkers(marker); const arrData = arrMarkers.filter(item => item.id != marker.id); removeArrMarkers(arrData); - - // dispatch(objectUnClickAction()); + if (marker.controlId === objectId) { + dispatch(objectUnClickAction()); + } } }); arrInfos.map(info => { @@ -351,11 +354,10 @@ export const DronMarker = props => { removeInfos(info); const arrData = arrInfos.filter(item => item.id != info._id); removeArrInfos(arrData); - - // dispatch(objectUnClickAction()); } }); } + return isUnClick; }; //마커를 셋팅 한다.