diff --git a/src/assets/images/airplan_org.svg b/src/assets/images/airplan_org.svg new file mode 100644 index 0000000..9947219 --- /dev/null +++ b/src/assets/images/airplan_org.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/src/assets/images/airplan_pp.svg b/src/assets/images/airplan_pp.svg new file mode 100644 index 0000000..6c3574f --- /dev/null +++ b/src/assets/images/airplan_pp.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/src/assets/images/drone_bk.svg b/src/assets/images/drone_bk.svg new file mode 100644 index 0000000..95b490a --- /dev/null +++ b/src/assets/images/drone_bk.svg @@ -0,0 +1,8 @@ + + + + + + + diff --git a/src/assets/images/new_drone_icon_org.svg b/src/assets/images/new_drone_icon_org.svg new file mode 100644 index 0000000..61ead07 --- /dev/null +++ b/src/assets/images/new_drone_icon_org.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + diff --git a/src/assets/images/new_drone_icon_pp.svg b/src/assets/images/new_drone_icon_pp.svg new file mode 100644 index 0000000..c045db6 --- /dev/null +++ b/src/assets/images/new_drone_icon_pp.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + diff --git a/src/components/map/naver/dron/DronMarker.js b/src/components/map/naver/dron/DronMarker.js index 44fb82c..81825a2 100644 --- a/src/components/map/naver/dron/DronMarker.js +++ b/src/components/map/naver/dron/DronMarker.js @@ -2,8 +2,11 @@ import $ from 'jquery'; import { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import '../../../../assets/css/custom.css'; -import DronIconPulple from '../../../../assets/images/drone-marker-icon-pulple.png'; -import DronIcon from '../../../../assets/images/drone-marker-icon.png'; +import FlightIcon from '../../../../assets/images/airplan_org.svg'; +import FlightDetailIcon from '../../../../assets/images/airplan_pp.svg'; +import DronIcon from '../../../../assets/images/new_drone_icon_org.svg'; +import DronDetailIcon from '../../../../assets/images/new_drone_icon_pp.svg'; +import { IoMdAirplane } from 'react-icons/io'; import { controlGpDtlAction, controlGpFlightPlanAction @@ -12,8 +15,6 @@ 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(); @@ -77,16 +78,15 @@ export const DronMarker = props => { useEffect(() => { arrMarkers.map(clickMarker => { - if (objectId === clickMarker.controlId && isClickObject) { - // clickMarker.setIcon(DronIconPulple); - clickMarker.setIcon({ - url: DronIconPulple, - origin: new naver.maps.Point(0, 0), - anchor: new naver.maps.Point(15, 15) - }); + if (objectId === clickMarker.controlId && isClickObject) { + clickMarker.setIcon({ + url: clickMarker.id.indexOf('PALDRONE') > -1 ? DronDetailIcon : FlightDetailIcon, + origin: new naver.maps.Point(0, 0), + anchor: new naver.maps.Point(15, 15) + }); } else { clickMarker.setIcon({ - url: DronIcon, + url: clickMarker.id.indexOf('PALDRONE') > -1 ? DronIcon : FlightIcon, origin: new naver.maps.Point(0, 0), anchor: new naver.maps.Point(15, 15) }); @@ -105,33 +105,29 @@ export const DronMarker = props => { //마커를 그린다. const addMarkers = (position, id, controlId, gps) => { + const iconOption = {}; + + const homePath = window.HOME_PATH || '.'; + iconOption.url = id.indexOf('PALDRONE') > -1 ? DronIcon : FlightIcon; + iconOption.origin = new naver.maps.Point(0, 0); + iconOption.anchor = new naver.maps.Point(15, 15); + const marker = new naver.maps.Marker({ position: position, title: id, id: id, controlId: controlId, - icon: { - // content: [ - // '
dddd
', - - // ].join(''), - url: DronIcon, - // size: new naver.maps.Size(50, 50), - origin: new naver.maps.Point(0, 0), - anchor: new naver.maps.Point(15, 15) - }, + icon: iconOption, gps: gps }); marker.setMap(props.map); - // drone 정보 창 + /** drone 상세보기 */ naver.maps.Event.addListener(marker, 'click', function (e) { handlerDronClick(marker.controlId, marker.id); }); naver.maps.Event.addListener(marker, 'mouseover', function (e) { - // // handlerDronMouseOver(marker); - const data = {}; data.id = marker.id; data.speed = marker.gps?.speed; @@ -150,27 +146,15 @@ export const DronMarker = props => { } }); - setArrMarkers(m => [...m, marker]); - // markerInfo(marker, position, id); - }; - - const handlerDronMouseOver = marker => {}; - - const handlerDronClick = (controlId, idntfNum) => { - // const idntfNum = marker.id; - // const contorlId = marker.controlId; + setArrMarkers(m => [...m, marker]); + }; - // 클릭한 식별번호 정보를 가진 그룹 추출 - // const group = controlGroupAuthInfo.find(group => group.idntfNum === idntfNum); - - //히스토리 불러오기 + const handlerDronClick = (controlId, idntfNum) => { + // get detail, history, flight-plan dispatch(objectClickAction(controlId)); dispatch(controlGpDtlAction.request(controlId)); - dispatch(controlGpFlightPlanAction.request(idntfNum)); - // dispatch(controlGpLogAction.request({ id: controlId })); - // dispatch(controlGpLogAction.request(controlId)); - - // dispatch(controlGpHisAction.request({ id: objectId })); + dispatch(controlGpFlightPlanAction.request(idntfNum)); + }; //마커를 삭제 한다. @@ -208,21 +192,6 @@ export const DronMarker = props => { dispatch(objectUnClickAction()); } }); - - // arrInfos.map(info => { - // const isExists = arrMarkers.find( - // marker => marker.id === info._id - // ); - // if (!isExists) { - // removeInfos(info); - // const arrData = arrInfos.filter( - // item => item.id != info._id - // ); - // removeArrInfos(arrData); - - // // dispatch(objectUnClickAction()); - // } - // }); } };