|
|
|
@ -5,6 +5,8 @@ import DronIconPulple from '../../../../assets/images/drone-marker-icon-pulple.p
|
|
|
|
|
import DronIcon from '../../../../assets/images/drone-marker-icon.png'; |
|
|
|
|
import { controlGpDtlAction, controlGpHisAction, controlDbHisAction, controlGpFlightPlanAction } from '../../../../modules/control/gp'; |
|
|
|
|
import { objectClickAction, objectUnClickAction } from '../../../../modules/control/map/actions/controlMapActions'; |
|
|
|
|
import { toast } from 'react-toastify'; |
|
|
|
|
import DronToast from './DronToast'; |
|
|
|
|
|
|
|
|
|
export const DronMarker = props => { |
|
|
|
|
const dispatch = useDispatch(); |
|
|
|
@ -25,11 +27,38 @@ export const DronMarker = props => {
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
markerInit(); |
|
|
|
|
|
|
|
|
|
if (controlGpList) { |
|
|
|
|
controlGpList.forEach(gps => { |
|
|
|
|
if (!gps.controlWarnCd) { |
|
|
|
|
// gps marker가 지도상에 표출된 이후 시점부터 toast 표출
|
|
|
|
|
const marker = arrMarkers.find(marker => marker.id === gps.objectId);
|
|
|
|
|
|
|
|
|
|
if(marker) { |
|
|
|
|
toast.info(
|
|
|
|
|
<DronToast |
|
|
|
|
title={`${gps.objectId} 비정상 상황 알림`} |
|
|
|
|
message={'경로 상에 비행 구역을 이탈했습니다.'} |
|
|
|
|
/> |
|
|
|
|
, { |
|
|
|
|
autoClose: 3000,
|
|
|
|
|
hideProgressBar: true, |
|
|
|
|
position: toast.POSITION.BOTTOM_RIGHT, |
|
|
|
|
onClick: props => {
|
|
|
|
|
if(marker) handlerDronClick(marker);
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
}
|
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}, [controlGpList]); |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
arrMarkers.map(clickMarker => { |
|
|
|
|
if (objectId === clickMarker.id && isClickObject) { |
|
|
|
|
if (objectId === clickMarker.controlId && isClickObject) { |
|
|
|
|
// clickMarker.setIcon(DronIconPulple);
|
|
|
|
|
clickMarker.setIcon({ |
|
|
|
|
url: DronIconPulple, |
|
|
|
@ -48,7 +77,7 @@ export const DronMarker = props => {
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
arrMarkers.map(clickMarker => { |
|
|
|
|
if (objectId === clickMarker.id) { |
|
|
|
|
if (objectId === clickMarker.controlId) { |
|
|
|
|
props.map.setCenter(clickMarker.getPosition()); |
|
|
|
|
props.map.setZoom(13, true); |
|
|
|
|
} |
|
|
|
|