From 56044b9a00b341561bdd240196a391bf9dd2fdf2 Mon Sep 17 00:00:00 2001 From: JANGHYUNn Date: Thu, 18 Jul 2024 17:18:47 +0900 Subject: [PATCH] =?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; }); };