From ace5b2fe8ec02b7d301985a705ce8e21d8dc6853 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?junh=5Feee=28=EC=9D=B4=EC=A4=80=ED=9D=AC=29?= Date: Thu, 18 Aug 2022 10:41:57 +0900 Subject: [PATCH] =?UTF-8?q?[=EB=B9=84=ED=96=89=EA=B4=80=EC=A0=9C]=EC=9A=B4?= =?UTF-8?q?=ED=95=AD=EC=A0=95=EB=B3=B4=20=EC=B0=BD=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/map/naver/NaverMap.js | 7 ++- src/components/map/naver/dron/DronMarker.js | 59 +++++++-------------- 2 files changed, 23 insertions(+), 43 deletions(-) diff --git a/src/components/map/naver/NaverMap.js b/src/components/map/naver/NaverMap.js index 3f85905..3faea5b 100644 --- a/src/components/map/naver/NaverMap.js +++ b/src/components/map/naver/NaverMap.js @@ -28,8 +28,10 @@ export const NaverCustomMap = () => { const NaverMapInit = () => { const mapOptions = { - center: new naver.maps.LatLng(36.56793936069445, 127.85101412107547), - zoom: 10, + center: new naver.maps.LatLng(37.520357, 126.610166), + // center: new naver.maps.LatLng(36.56793936069445, 127.85101412107547), + // zoom: 10, + zoom: 14, zoomControl: true, mapTypeId: naver.maps.MapTypeId.NORMAR, zoomControlOptions: { @@ -55,6 +57,7 @@ export const NaverCustomMap = () => { map={mapObject} naver={naver} /> + { const { objectId, isClickObject } = useSelector(state => state.controlMapReducer); const [arrMarkers, setArrMarkers] = useState([]); - const [arrInfos, setArrInfos] = useState([]); let naver = props.naver; @@ -51,7 +50,7 @@ export const DronMarker = props => { hideProgressBar: true, position: toast.POSITION.BOTTOM_RIGHT, onClick: props => { - handlerDronClick(gps.controlId, gps.objectId); + handlerDronClick(gps.controlId, gps.objectId); } } ) @@ -167,31 +166,27 @@ export const DronMarker = props => { 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()); + } + }); } }; - const allRemoveInfos = () => { - if (arrInfos && controlGpList) { - 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); - } - }) - } - } - //마커를 셋팅 한다. const markerInit = () => { if (controlGpList) { allRemoveMarkers(); - // allRemoveInfos(); controlGpList.map(item => { const position = new naver.maps.LatLng(item.lat, item.lng); @@ -201,7 +196,7 @@ export const DronMarker = props => { ); if (isExists) { moveMarkers(isExists, position); - // moveInfos(isExists, position); + moveInfos(isExists, position); } else { addMarkers(position, item.objectId, item.controlId); } @@ -212,7 +207,7 @@ export const DronMarker = props => { } }; - // //운항정보 창 셋팅 + //운항정보 창 셋팅 const infoInit = (marker, gps) => { CustomOverlay = function(options) { this._element = $(` @@ -245,7 +240,6 @@ export const DronMarker = props => { CustomOverlay.prototype.constructor = CustomOverlay; //메소드 재정의 - //필수 CustomOverlay.prototype.onAdd = function() { var overlayLayer = this.getPanes().overlayLayer; @@ -300,24 +294,7 @@ export const DronMarker = props => { setArrInfos(arrData); }; - // const markerInfo = (marker, position, id) => { const markerInfo = (arrMarkers) => { - // controlGpList.forEach(gps => - - // // var info = new naver.maps.InfoWindow({ - // // id: marker.id, - // // content: contents, - // // backgroundColor: '#283046', //박스안쪽영역 컬러 - // // anchorSize: new props.naver.maps.Size(30, -10), - // // anchorSkew: false, - // // anchorColor: '#283046', - // // pixelOffset: new props.naver.maps.Point(20, -20) - // // }); - // // info.open(props.map, marker); - - // // setArrWindows(m => [...m, info]); - - arrMarkers.forEach((marker, idx) => { infoInit(marker, controlGpList[idx]); if(controlGpList.length != 0) { @@ -326,7 +303,7 @@ export const DronMarker = props => { map: map, id: marker.id }); - console.log(info) + // console.log(info) setArrInfos(m => [...m, info]); } });