Browse Source

관제 데이터블록 custom overlay

pull/2/head
이준희 2 years ago
parent
commit
20e3ab63e5
  1. 26
      src/components/map/naver/dron/DronMarker.js

26
src/components/map/naver/dron/DronMarker.js

@ -37,7 +37,7 @@ export const DronMarker = props => {
const { joinList } = useSelector(state => state.groupState); const { joinList } = useSelector(state => state.groupState);
const [arrMarkers, setArrMarkers] = useState([]); const [arrMarkers, setArrMarkers] = useState([]);
// const [arrInfos, setArrInfos] = useState([]); const [arrInfos, setArrInfos] = useState([]);
let naver = props.naver; let naver = props.naver;
let map = props.map; let map = props.map;
@ -95,6 +95,12 @@ export const DronMarker = props => {
); );
}, []); }, []);
useEffect(() => {
if (arrMarkers.length != 0) {
markerInfo(arrMarkers);
}
}, [arrMarkers]);
useEffect(() => { useEffect(() => {
markerInit(); markerInit();
}, [controlGpList]); }, [controlGpList]);
@ -302,6 +308,16 @@ export const DronMarker = props => {
const arrData = arrMarkers.filter(item => item.id != marker.id); const arrData = arrMarkers.filter(item => item.id != marker.id);
removeArrMarkers(arrData); removeArrMarkers(arrData);
dispatch(objectUnClickAction());
}
});
arrInfos.map(info => {
const isExists = controlGpList.find(item => item.objectId === info._id);
if (!isExists) {
removeInfos(info);
const arrData = arrInfos.filter(item => item.id != info._id);
removeArrInfos(arrData);
dispatch(objectUnClickAction()); dispatch(objectUnClickAction());
} }
}); });
@ -317,10 +333,10 @@ export const DronMarker = props => {
if (arrMarkers) { if (arrMarkers) {
const isExists = arrMarkers.find(ele => ele.id === item.objectId); const isExists = arrMarkers.find(ele => ele.id === item.objectId);
// const isInfos = arrInfos.find( info => info._id === item.objectId ) const isInfos = arrInfos.find(info => info._id === item.objectId);
if (isExists) { if (isExists) {
moveMarkers(isExists, position, item); moveMarkers(isExists, position, item);
// moveInfos(isInfos, position); moveInfos(isInfos, position);
} else { } else {
addMarkers(position, item.objectId, item.controlId, item); addMarkers(position, item.objectId, item.controlId, item);
} }
@ -440,9 +456,9 @@ export const DronMarker = props => {
setArrInfos(arrData); setArrInfos(arrData);
}; };
const markerInfo = () => { const markerInfo = arrMarkers => {
arrMarkers.forEach((marker, idx) => { arrMarkers.forEach((marker, idx) => {
// infoInit(marker, controlGpList[idx], idx); infoInit(marker, controlGpList[idx], idx);
if (controlGpList.length != 0) { if (controlGpList.length != 0) {
const info = new CustomOverlay({ const info = new CustomOverlay({

Loading…
Cancel
Save