|
|
|
@ -16,6 +16,7 @@ import {
|
|
|
|
|
objectUnClickAction |
|
|
|
|
} from '../../../../modules/control/map/actions/controlMapActions'; |
|
|
|
|
import { controlGroupAuthAction } from '../../../../modules/control/gp'; |
|
|
|
|
import { JOIN_LIST } from '../../../../modules/basis/group/actions/basisGroupAction'; |
|
|
|
|
|
|
|
|
|
export const DronMarker = props => { |
|
|
|
|
const dispatch = useDispatch(); |
|
|
|
@ -32,6 +33,9 @@ export const DronMarker = props => {
|
|
|
|
|
const { controlGpArcrftWarnList } = useSelector( |
|
|
|
|
state => state.controlGpLogState |
|
|
|
|
); |
|
|
|
|
const { user } = useSelector(state => state.authState); |
|
|
|
|
const { joinList } = useSelector(state => state.groupState); |
|
|
|
|
|
|
|
|
|
const [arrMarkers, setArrMarkers] = useState([]); |
|
|
|
|
// const [arrInfos, setArrInfos] = useState([]);
|
|
|
|
|
|
|
|
|
@ -83,6 +87,14 @@ export const DronMarker = props => {
|
|
|
|
|
// dispatch(controlGroupAuthAction.request());
|
|
|
|
|
// }, [controlGpList]);
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
dispatch( |
|
|
|
|
JOIN_LIST.request({ |
|
|
|
|
cstmrSno: user?.cstmrSno |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
}, []); |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
markerInit(); |
|
|
|
|
}, [controlGpList]); |
|
|
|
@ -121,20 +133,56 @@ export const DronMarker = props => {
|
|
|
|
|
//마커를 그린다.
|
|
|
|
|
const addMarkers = (position, id, controlId, gps) => { |
|
|
|
|
const markerOption = {}; |
|
|
|
|
|
|
|
|
|
if (id.substring(0, 2) === 'PA') { |
|
|
|
|
const pal = controlGroupAuthInfo?.find( |
|
|
|
|
prev => prev.idntfNum === gps.objectId |
|
|
|
|
); |
|
|
|
|
markerOption.url = pal ? DronIcon : FlightIcon; |
|
|
|
|
markerOption.type = pal ? 'DRONE' : 'FLIGHT'; |
|
|
|
|
if (pal) { |
|
|
|
|
markerOption.url = DronIcon; |
|
|
|
|
markerOption.type = 'DRONE'; |
|
|
|
|
} else { |
|
|
|
|
if (user.authId === 'SUPER' || user.authId === 'ADMIN') { |
|
|
|
|
markerOption.url = FlightIcon; |
|
|
|
|
markerOption.type = 'FLIGHT'; |
|
|
|
|
} else { |
|
|
|
|
const terminal = joinList?.find(prev => prev.trmnlId === gps.trmnlId); |
|
|
|
|
if ( |
|
|
|
|
terminal?.groupAuthCd === 'MASTER' || |
|
|
|
|
terminal?.groupAuthCd === 'LEADER' |
|
|
|
|
) { |
|
|
|
|
markerOption.url = FlightIcon; |
|
|
|
|
markerOption.type = 'FLIGHT'; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
// const etc = controlGpList?.filter(
|
|
|
|
|
// prev => prev.command === 이사람이 가입한 그룹의 command(가입한 그룹의 리스트를 여기로 불러와야 함)
|
|
|
|
|
// )
|
|
|
|
|
markerOption.url = FlightIcon; |
|
|
|
|
markerOption.type = 'FLIGHT'; |
|
|
|
|
if (user.authId === 'SUPER' || user.authId === 'ADMIN') { |
|
|
|
|
markerOption.url = FlightIcon; |
|
|
|
|
markerOption.type = 'FLIGHT'; |
|
|
|
|
} else { |
|
|
|
|
const terminal = joinList?.find(prev => prev.trmnlId === gps.trmnlId); |
|
|
|
|
if ( |
|
|
|
|
terminal?.groupAuthCd === 'MASTER' || |
|
|
|
|
terminal?.groupAuthCd === 'LEADER' |
|
|
|
|
) { |
|
|
|
|
markerOption.url = FlightIcon; |
|
|
|
|
markerOption.type = 'FLIGHT'; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// if (id.substring(0, 2) === 'PA') {
|
|
|
|
|
// const pal = controlGroupAuthInfo?.find(
|
|
|
|
|
// prev => prev.idntfNum === gps.objectId
|
|
|
|
|
// );
|
|
|
|
|
// markerOption.url = pal ? DronIcon : FlightIcon;
|
|
|
|
|
// markerOption.type = pal ? 'DRONE' : 'FLIGHT';
|
|
|
|
|
// } else {
|
|
|
|
|
// markerOption.url = FlightIcon;
|
|
|
|
|
// markerOption.type = 'FLIGHT';
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
markerOption.origin = new naver.maps.Point(0, 0); |
|
|
|
|
markerOption.anchor = new naver.maps.Point(15, 15); |
|
|
|
|
|
|
|
|
|