From 4e03bfd5fade4a406c2c3c574ff5fadbd7f9f65b Mon Sep 17 00:00:00 2001 From: cbwu <504-wuchengbo@htsdfp.com> Date: Mon, 20 May 2024 09:53:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=9B=98=E6=97=8B?= =?UTF-8?q?=E5=AF=BC=E5=BC=95=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GISDlg.cpp | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/GISDlg.cpp b/GISDlg.cpp index d620e54..e11b9c2 100644 --- a/GISDlg.cpp +++ b/GISDlg.cpp @@ -2579,6 +2579,12 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) break; case 2: { + if (m_CircleGuideLayer>=0) + { + m_map.ClearDrawing(m_CircleGuideLayer); + m_CircleGuideLayer = -1; + } + CCircleGuidence circleGuidenceDlg; if (IDOK == circleGuidenceDlg.DoModal()) { @@ -2589,12 +2595,19 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) double radius = circleGuidenceDlg.g_radius/abs(2*M_PI*6371000*cos(m_guidePtInfo.guidePtLat*M_PI/180)/360); -/* - double oneUnit[1] = {1}; - CUtils utilsPtr; - bool b = utilsPtr.ConvertDistance(mapWindow::tkUnitsOfMeasure::umMeters,mapWindow::tkUnitsOfMeasure::umKilometers,oneUnit);*/ m_map.DrawWideCircleEx(m_CircleGuideLayer,m_guidePtInfo.guidePtLon,m_guidePtInfo.guidePtLat,radius,RGB(248,252,55),false,2); m_map.Redraw(); + + //×°¶© + m_struMapOut.cmd = MapCmd_Guide2; + m_struMapOut.lon = m_guidePtInfo.guidePtLon; + m_struMapOut.lat = m_guidePtInfo.guidePtLat; + + m_struMapOut.height = circleGuidenceDlg.g_alt; + m_struMapOut.radius = circleGuidenceDlg.g_radius; + m_struMapOut.direction = circleGuidenceDlg.g_direction; + + ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP, (int)(&m_struMapOut),0); } else { @@ -2610,16 +2623,6 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) //OnRemoveGuidePtDraw(); return; } - - m_struMapOut.cmd = MapCmd_Guide2; - m_struMapOut.lon = m_guidePtInfo.guidePtLon; - m_struMapOut.lat = m_guidePtInfo.guidePtLat; - - m_struMapOut.height = circleGuidenceDlg.g_alt; - m_struMapOut.radius = circleGuidenceDlg.g_radius; - m_struMapOut.direction = circleGuidenceDlg.g_direction; - - ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP, (int)(&m_struMapOut),0); } break; default: @@ -4739,6 +4742,8 @@ void CGISDlg::OnGuideMode2() return; } + m_map.SetCursorMode(mapWindow::tkCursorMode::cmNone); + m_guidePtInfo.guideMode = 2; m_guidePointMode = 2;