From 1ab86cb7857b45d2a6f1b4ac9826d712f98381dc Mon Sep 17 00:00:00 2001
From: cbwu <504-wuchengbo@htsdfp.com>
Date: Mon, 2 Sep 2024 08:31:11 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=87=AA=E4=B8=BB?=
=?UTF-8?q?=E7=9D=80=E9=99=86=E7=82=B90=E5=8F=B7=E9=A3=9E=E6=9C=BA?=
=?UTF-8?q?=E8=BF=9E=E7=BA=BF=E6=97=A0=E6=95=88=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
GISControlDlg.vcxproj | 4 ++--
GISDlg.cpp | 39 +++++++++++++++++++++++++++------------
res/GISControlDlg.rc2 | 26 +++++++++++++-------------
3 files changed, 42 insertions(+), 27 deletions(-)
diff --git a/GISControlDlg.vcxproj b/GISControlDlg.vcxproj
index 0eaefd5..a7f3bfa 100644
--- a/GISControlDlg.vcxproj
+++ b/GISControlDlg.vcxproj
@@ -97,7 +97,7 @@
0x0804
- ..\Release/GISControlDlgUAV.dll
+ ..\Release/GISControlDlg.dll
true
.\GISControlDlg.def
.\Release/GISControlDlg.pdb
@@ -149,7 +149,7 @@
0x0804
- ..\Debug/GISControlDlgUAV.dll
+ ..\Debug/GISControlDlg.dll
true
.\GISControlDlg.def
true
diff --git a/GISDlg.cpp b/GISDlg.cpp
index ed33573..51cb1ef 100644
--- a/GISDlg.cpp
+++ b/GISDlg.cpp
@@ -1393,9 +1393,9 @@ void CGISDlg::OnShowRMenu()
{
pSubMenu->CheckMenuItem( ID_SHOW_BACKLINE, MF_BYCOMMAND | MF_UNCHECKED );
}*/
- if (g_b981AMulti && m_line14FlyID >0)
+ if (g_b981AMulti && m_line14FlyID >=0)
{
- if (m_pHaveDrawCopyLineFlag[13][m_line14FlyID-1])
+ if (m_pHaveDrawCopyLineFlag[13][m_line14FlyID])
{
menu.CheckMenuItem( ID_SHOW_BACKLINE, MF_BYCOMMAND | MF_CHECKED );
}
@@ -4683,8 +4683,8 @@ void CGISDlg::DrawCopyFlyLine(const DrawLineDataStruct lineData)
//航线索引号
int lineID = lineData.lineID-1;
- //子航线索引号
- int sublineID = lineData.pts[0].nV-1;
+ //子航线索引号(飞机ID)
+ int sublineID = lineData.pts[0].nV;
//没有目标标绘SHP图层,创建该图层
if (m_subLineLayerID[lineID][sublineID] ==-1)
@@ -5101,6 +5101,18 @@ void CGISDlg::SetFlyLineShowStatus(const int lineID)
bMulti = true;
}
}
+/*
+ if (lineID==14) //清除连线
+ {
+ for (auto it=m_TempLine14LayerID.begin();it!=m_TempLine14LayerID.end();)
+ {
+ if ((*it).second!=-1)
+ {
+ m_map.ClearDrawing((*it).second);
+ m_TempLine14LayerID.erase(it++);
+ }
+ }
+ }*/
}
//已经标绘,清除航线
if (m_pHaveDrawLineFlag[lineIndex])
@@ -5246,19 +5258,22 @@ void CGISDlg::OnShowGivenLine(const CString strLineFileName)
}
m_lineFullPathName[lineDataGroup.lineID] = strLineFileName;
- if (g_b981AMulti && lineDataGroup.pts[0].nV>0) //多机ID号
+ if (g_b981AMulti) //多机ID号
{
if (lineDataGroup.lineID==14)
{
m_line14FlyID = lineDataGroup.pts[0].nV;
SetBindLine14Coordinate(lineDataGroup.pts[0].nV,lineDataGroup.pts[0].dX,lineDataGroup.pts[0].dY);
}
- //清除标绘的航线
- ClearDrawedCopyLine(lineDataGroup.lineID-1,lineDataGroup.pts[0].nV-1);
+ if (lineDataGroup.pts[0].nV > 0 || (lineDataGroup.lineID==14))
+ {
+ //清除标绘的航线
+ ClearDrawedCopyLine(lineDataGroup.lineID-1,lineDataGroup.pts[0].nV);
- //标绘航线
- DrawCopyFlyLine(lineDataGroup);
- return;
+ //标绘航线
+ DrawCopyFlyLine(lineDataGroup);
+ return;
+ }
}
int ch = lineDataGroup.linePts[lineDataGroup.pointNum-1].ch1;
@@ -6280,9 +6295,9 @@ void CGISDlg::OnUpdateShowBackLine(CCmdUI *pCmdUI)
// TODO: 在此添加命令更新用户界面处理程序代码
if (g_b981ADesktop || g_b981APad)
{
- if (g_b981AMulti && (m_line14FlyID>0)) //多机
+ if (g_b981AMulti && (m_line14FlyID>=0)) //多机
{
- pCmdUI->SetCheck(m_pHaveDrawCopyLineFlag[13][m_line14FlyID-1]);
+ pCmdUI->SetCheck(m_pHaveDrawCopyLineFlag[13][m_line14FlyID]);
return;
}
pCmdUI->SetCheck(m_pHaveDrawLineFlag[13]);
diff --git a/res/GISControlDlg.rc2 b/res/GISControlDlg.rc2
index 23dc028..63186b0 100644
--- a/res/GISControlDlg.rc2
+++ b/res/GISControlDlg.rc2
@@ -1,13 +1,13 @@
-//
-// GISCONTROLDLG.RC2 - resources Microsoft Visual C++ does not edit directly
-//
-
-#ifdef APSTUDIO_INVOKED
- #error this file is not editable by Microsoft Visual C++
-#endif //APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Add manually edited resources here...
-
-/////////////////////////////////////////////////////////////////////////////
+//
+// GISCONTROLDLG.RC2 - resources Microsoft Visual C++ does not edit directly
+//
+
+#ifdef APSTUDIO_INVOKED
+ #error this file is not editable by Microsoft Visual C++
+#endif //APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+// Add manually edited resources here...
+
+/////////////////////////////////////////////////////////////////////////////