From 986c70b4c7ba7573bcc67c65795f1bdd3e4f4563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?scnoh=28=EB=85=B8=EC=8A=B9=EC=B2=A0=29?= Date: Thu, 29 Sep 2022 16:51:22 +0900 Subject: [PATCH] =?UTF-8?q?=EB=93=9C=EB=A1=A0,=20=EB=B9=84=ED=96=89?= =?UTF-8?q?=EA=B8=B0=EC=B2=B4=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EA=B5=AC?= =?UTF-8?q?=EB=B6=84=20=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/airplan_org.svg | 14 ++++ src/assets/images/airplan_pp.svg | 14 ++++ src/assets/images/drone_bk.svg | 8 ++ src/assets/images/new_drone_icon_org.svg | 43 +++++++++++ src/assets/images/new_drone_icon_pp.svg | 43 +++++++++++ src/components/map/naver/dron/DronMarker.js | 85 +++++++-------------- 6 files changed, 149 insertions(+), 58 deletions(-) create mode 100644 src/assets/images/airplan_org.svg create mode 100644 src/assets/images/airplan_pp.svg create mode 100644 src/assets/images/drone_bk.svg create mode 100644 src/assets/images/new_drone_icon_org.svg create mode 100644 src/assets/images/new_drone_icon_pp.svg diff --git a/src/assets/images/airplan_org.svg b/src/assets/images/airplan_org.svg new file mode 100644 index 00000000..9947219f --- /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 00000000..6c3574f8 --- /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 00000000..95b490ac --- /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 00000000..61ead07e --- /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 00000000..c045db6d --- /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 44fb82ce..81825a2e 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()); - // } - // }); } };