From 105a9153aef2b0aefc9288a9be124677a7d1e814 Mon Sep 17 00:00:00 2001 From: JANGHYUNn Date: Thu, 18 Jul 2024 15:56:08 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EB=A7=B5=ED=83=80=EC=9E=85=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=EC=8B=9C=20=EA=B1=B0=EB=A6=AC=EC=B8=A1=EC=A0=95=20?= =?UTF-8?q?=EC=B4=88=EA=B8=B0=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/containers/flight/OperationApprovalsContainer.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/containers/flight/OperationApprovalsContainer.js b/src/containers/flight/OperationApprovalsContainer.js index 73eb2f05..b3fd50ac 100644 --- a/src/containers/flight/OperationApprovalsContainer.js +++ b/src/containers/flight/OperationApprovalsContainer.js @@ -490,7 +490,7 @@ export default function OperationApprovalsContainer({ mode }) { const handlerMapTypeChange = val => { // dispatch(clientChangeDrawType('')); - drawObj.changeMode('simple_select'); + handlerDistanceClose(); setMapType(val); }; @@ -575,7 +575,7 @@ export default function OperationApprovalsContainer({ mode }) { }) .setLngLat([i.coord[0][0].toFixed(6), i.coord[0][1].toFixed(6)]) .setHTML( - `
${i.text}
` + `
${i.text}
` ) .addTo(mapInstance); From 56044b9a00b341561bdd240196a391bf9dd2fdf2 Mon Sep 17 00:00:00 2001 From: JANGHYUNn Date: Thu, 18 Jul 2024 17:18:47 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EA=B1=B0=EB=A6=AC=EC=B8=A1=EC=A0=95=20?= =?UTF-8?q?=EA=B1=B0=EB=A6=AC=20=ED=8C=9D=EC=97=85=20=EC=9C=84=EC=B9=98?= =?UTF-8?q?=EC=A1=B0=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flight/OperationApprovalsContainer.js | 8 +++-- src/utility/MapUtils.js | 31 ++++++++++++------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/containers/flight/OperationApprovalsContainer.js b/src/containers/flight/OperationApprovalsContainer.js index b3fd50ac..4152df6a 100644 --- a/src/containers/flight/OperationApprovalsContainer.js +++ b/src/containers/flight/OperationApprovalsContainer.js @@ -570,7 +570,9 @@ export default function OperationApprovalsContainer({ mode }) { let distanceMarker = new mapboxgl.Popup({ closeButton: false, closeOnClick: false, - anchor: 'bottom', + offset: { + bottom: [0, -10] + }, focusAfterOpen: false }) .setLngLat([i.coord[0][0].toFixed(6), i.coord[0][1].toFixed(6)]) @@ -587,7 +589,9 @@ export default function OperationApprovalsContainer({ mode }) { setIsDistanceStartPoint(true); isSetResetDisabled(false); } else { - setIsDistanceStartPoint(false); + if (draw.getMode() === 'draw_line_string') { + setIsDistanceStartPoint(false); + } } }; diff --git a/src/utility/MapUtils.js b/src/utility/MapUtils.js index c222cebe..6566052a 100644 --- a/src/utility/MapUtils.js +++ b/src/utility/MapUtils.js @@ -700,6 +700,10 @@ export const handlerOnClickDrawLineString = ( totalDistanceRef.current.innerText = `총 거리 : ${distance.toLocaleString()}m`; } } + if (drawObj.getMode() === 'direct_select') { + const markerList = getDintancePointPopupList(drawObj); + callback(mapInstance, markerList, drawObj); + } if (drawObj.getMode() === 'draw_line_string') { if (drawObj.getAll().features[0].geometry.coordinates.length === 1) { mouseCursorRef.current.style.display = 'block'; @@ -709,19 +713,22 @@ export const handlerOnClickDrawLineString = ( } } }); + mapInstance.on('mouseout', e => { + mouseCursorRef.current.style.display = 'none'; + }); - mapInstance.on('draw.modechange', obj => { - if (obj.mode === 'simple_select') { - totalDistanceRef.current.style.display = 'block'; - const distance = getDrawDistance(drawObj); - totalDistanceRef.current.innerText = `총 거리 : ${distance.toLocaleString()}m`; - mouseCursorRef.current.style.display = 'none'; - mouseCursorRef.current.style.innerText = ''; - const markerList = getDintancePointPopupList(drawObj); - startPoint = null; - callback(mapInstance, markerList, drawObj); - } else if (obj.mode === 'direct_select') { - } + // mapInstance.on('draw.modechange', obj => { + // if (obj.mode === 'simple_select') { + // } + // }); + + mapInstance.on('draw.create', () => { + totalDistanceRef.current.style.display = 'block'; + const distance = getDrawDistance(drawObj); + totalDistanceRef.current.innerText = `총 거리 : ${distance.toLocaleString()}m`; + mouseCursorRef.current.style.display = 'none'; + mouseCursorRef.current.style.innerText = ''; + startPoint = null; }); };