diff --git a/ExportQBGISCtrlClass.cpp b/ExportQBGISCtrlClass.cpp
index e585fe3..038e294 100644
--- a/ExportQBGISCtrlClass.cpp
+++ b/ExportQBGISCtrlClass.cpp
@@ -235,7 +235,17 @@ extern "C" void WINAPI SetUAVFlyCoordinate(int uavid,const double lon, const dou
}
}
-
+//功能:定位到目标点
+//输入:经度lon,纬度lat
+extern "C" void WINAPI ZoomToLocation(double lon,double lat)
+{
+ AFX_MANAGE_STATE(AfxGetAppModuleState());
+ if (g_bCreateMap)
+ {
+ //标绘目标点
+ g_mapShowDlg.ZoomToLocation(lon,lat);
+ }
+}
//功能:增加目标点,在地图显示区标绘出来
//输入:目标点号ptID,经度lon,纬度lat
diff --git a/ExportQBGISCtrlClass.h b/ExportQBGISCtrlClass.h
index e88e811..11e4029 100644
--- a/ExportQBGISCtrlClass.h
+++ b/ExportQBGISCtrlClass.h
@@ -44,7 +44,9 @@ extern "C" _declspec(dllexport) void DeleteGISDlg();
// 航向角yaw(以°为单位)
extern "C" _declspec(dllexport) void SetUAVFlyCoordinate(const double lon, const double lat, const double yaw);
-
+//功能:定位到目标点
+//输入:经度lon,纬度lat
+extern "C" _declspec(dllexport) void ZoomToLocation(double lon,double lat);
//功能:增加目标点,在地图显示区标绘出来
//输入:目标点号ptID,经度lon,纬度lat
diff --git a/GISControlDlg.aps b/GISControlDlg.aps
index 72999e4..29bbdc8 100644
Binary files a/GISControlDlg.aps and b/GISControlDlg.aps differ
diff --git a/GISControlDlg.def b/GISControlDlg.def
index b0f7f3c..f700041 100644
--- a/GISControlDlg.def
+++ b/GISControlDlg.def
@@ -34,4 +34,5 @@ EXPORTS
ShowGISDlg @27
GetMouseWheel @28
UpdateDataInfo @29
- AddAirPt_ADS @30
\ No newline at end of file
+ AddAirPt_ADS @30
+ ZoomToLocation @31
\ No newline at end of file
diff --git a/GISControlDlg.rc b/GISControlDlg.rc
index f278b21..ce1b2b1 100644
--- a/GISControlDlg.rc
+++ b/GISControlDlg.rc
@@ -535,6 +535,7 @@ BEGIN
MENUITEM "显示三号航线", IDM_SHOW_LINE3
MENUITEM "显示四号航线", IDM_SHOW_LINE4
MENUITEM "显示五号航线", IDM_SHOW_LINE5
+ MENUITEM "显示空投航线", IDM_SHOW_LINE14
MENUITEM SEPARATOR
MENUITEM "装订一号航线", ID_LOAD_MYLINE1
MENUITEM "装订二号航线", IDM_BINDLINE2
@@ -544,11 +545,11 @@ BEGIN
END
POPUP "电子围栏及应急航线"
BEGIN
- MENUITEM "回收航线显示", ID_SHOW_PD10
+ MENUITEM "回收航线显示", ID_SHOW_BACKLINE
MENUITEM "应急航线显示", ID_SHOW_HS11
MENUITEM "电子围栏显示", ID_SHOW_TC12
MENUITEM SEPARATOR
- MENUITEM "回收航线装订", ID_32855
+ MENUITEM "回收航线装订", ID_BIND_BACKLINE
MENUITEM "应急航线装订", ID_BIND_HS11
MENUITEM "电子围栏装订", ID_BIND_TC12
END
diff --git a/GISControlDlg.vcxproj b/GISControlDlg.vcxproj
index e8e276f..837ea0e 100644
--- a/GISControlDlg.vcxproj
+++ b/GISControlDlg.vcxproj
@@ -377,6 +377,7 @@
+
diff --git a/GISControlDlg.vcxproj.filters b/GISControlDlg.vcxproj.filters
index 6cd21e9..9adca69 100644
--- a/GISControlDlg.vcxproj.filters
+++ b/GISControlDlg.vcxproj.filters
@@ -418,5 +418,8 @@
Header Files
+
+ Header Files
+
\ No newline at end of file
diff --git a/GISDlg.cpp b/GISDlg.cpp
index 97d1102..3060714 100644
--- a/GISDlg.cpp
+++ b/GISDlg.cpp
@@ -502,8 +502,8 @@ BEGIN_MESSAGE_MAP(CGISDlg, CBCGPDialog)
// ON_WM_MOUSEHWHEEL()
ON_COMMAND(ID_NLINEDESIGN, &CGISDlg::OnNlinedesign)
ON_UPDATE_COMMAND_UI(ID_NLINEDESIGN, &CGISDlg::OnUpdateNlinedesign)
- ON_COMMAND(ID_SHOW_PD10, &CGISDlg::OnShowPd10)
- ON_UPDATE_COMMAND_UI(ID_SHOW_PD10, &CGISDlg::OnUpdateShowPd10)
+ ON_COMMAND(ID_SHOW_BACKLINE, &CGISDlg::OnShowBackLine)
+ ON_UPDATE_COMMAND_UI(ID_SHOW_BACKLINE, &CGISDlg::OnUpdateShowBackLine)
ON_COMMAND(ID_SHOW_HS11, &CGISDlg::OnShowHs11)
ON_UPDATE_COMMAND_UI(ID_SHOW_HS11, &CGISDlg::OnUpdateShowHs11)
ON_COMMAND(ID_BIND_HS11, &CGISDlg::OnBindHs11)
@@ -511,7 +511,7 @@ BEGIN_MESSAGE_MAP(CGISDlg, CBCGPDialog)
ON_COMMAND(ID_BIND_TC12, &CGISDlg::OnBindTc12)
ON_UPDATE_COMMAND_UI(ID_SHOW_TC12, &CGISDlg::OnUpdateShowTc12)
ON_WM_SIZE()
- ON_COMMAND(ID_32855, &CGISDlg::On32855)
+ ON_COMMAND(ID_BIND_BACKLINE, &CGISDlg::OnBindBackLine)
ON_WM_MOVE()
ON_MESSAGE(WM_SEL_UAV, &CGISDlg::OnSelUav)
ON_COMMAND(ID_ADD_TARGET, &CGISDlg::OnAddTarget)
@@ -578,6 +578,9 @@ BEGIN_MESSAGE_MAP(CGISDlg, CBCGPDialog)
ON_UPDATE_COMMAND_UI(IDM_SHOW_LINE10, &CGISDlg::OnUpdateShowLine10)
ON_COMMAND(IDM_BINDLINE9, &CGISDlg::OnBindline9)
ON_COMMAND(IDM_BINDLINE10, &CGISDlg::OnBindline10)*/
+ //空投航线
+ ON_COMMAND(IDM_SHOW_LINE14, &CGISDlg::OnShowLine14)
+ ON_UPDATE_COMMAND_UI(IDM_SHOW_LINE14, &CGISDlg::OnUpdateShowLine14)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
@@ -1375,36 +1378,86 @@ void CGISDlg::OnShowRMenu()
}
*/
- //航线14 回收航线
- if (m_pHaveDrawLineFlag[13])
+ if (g_b981ADesktop || g_b981APad)
{
- menu.CheckMenuItem( ID_SHOW_PD10, MF_BYCOMMAND | MF_CHECKED );
- }
- else
- {
- menu.CheckMenuItem( ID_SHOW_PD10, MF_BYCOMMAND | MF_UNCHECKED );
- }
+ //航线14 回收航线
+ if (m_pHaveDrawLineFlag[13])
+ {
+ menu.CheckMenuItem( ID_SHOW_BACKLINE, MF_BYCOMMAND | MF_CHECKED );
+ }
+ else
+ {
+ menu.CheckMenuItem( ID_SHOW_BACKLINE, MF_BYCOMMAND | MF_UNCHECKED );
+ }
- //航线11 应急航线
- if (m_pHaveDrawLineFlag[10])
- {
- menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_CHECKED );
- }
- else
- {
- menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_UNCHECKED );
- }
+ //航线11 应急航线
+ if (m_pHaveDrawLineFlag[10])
+ {
+ menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_CHECKED );
+ }
+ else
+ {
+ menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_UNCHECKED );
+ }
- //航线12 电子围栏
- if (m_pHaveDrawLineFlag[11])
- {
- menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_CHECKED );
+ //航线12 电子围栏
+ if (m_pHaveDrawLineFlag[11])
+ {
+ menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_CHECKED );
+ }
+ else
+ {
+ menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_UNCHECKED );
+ }
}
- else
+
+
+ if (g_b98CADesktop)
{
- menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_UNCHECKED );
+ //航线14 回收航线
+ if (m_pHaveDrawLineFlag[10])
+ {
+ menu.CheckMenuItem( ID_SHOW_BACKLINE, MF_BYCOMMAND | MF_CHECKED );
+ }
+ else
+ {
+ menu.CheckMenuItem( ID_SHOW_BACKLINE, MF_BYCOMMAND | MF_UNCHECKED );
+ }
+ //航线6 围栏
+ if (m_pHaveDrawLineFlag[5])
+ {
+ //menu.CheckMenuItem( ID_SHOW_WEILAN, MF_BYCOMMAND | MF_CHECKED );
+ menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_UNCHECKED );
+ }
+ else
+ {
+ //menu.CheckMenuItem( ID_SHOW_WEILAN, MF_BYCOMMAND | MF_UNCHECKED );
+ menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_UNCHECKED );
+ }
+
+ //航线7 应急
+ if (m_pHaveDrawLineFlag[6])
+ {
+ //menu.CheckMenuItem( ID_SHOW_LINE_YINGJI, MF_BYCOMMAND | MF_CHECKED );
+ menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_CHECKED );
+ }
+ else
+ {
+ //menu.CheckMenuItem( ID_SHOW_LINE_YINGJI, MF_BYCOMMAND | MF_UNCHECKED );
+ menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_CHECKED );
+ }
+ //航线14,空投航线
+ if (m_pHaveDrawLineFlag[13])
+ {
+ menu.CheckMenuItem( IDM_SHOW_LINE14, MF_BYCOMMAND | MF_CHECKED );
+ }
+ else
+ {
+ menu.CheckMenuItem( IDM_SHOW_LINE14, MF_BYCOMMAND | MF_UNCHECKED );
+ }
}
+
if (m_bAutoMove)
{
menu.CheckMenuItem( IDM_AUTO_MOVE, MF_BYCOMMAND | MF_CHECKED );
@@ -4576,6 +4629,12 @@ void CGISDlg::OnShowLine10()
SetFlyLineShowStatus(10);
}
+//功能:显示空投
+void CGISDlg::OnShowLine14()
+{
+ SetFlyLineShowStatus(14);
+}
+
//功能:清除已经标绘的航线
//输入:航线编号lineID,从0开始计数
void CGISDlg::ClearDrawedLine(const int lineID)
@@ -4683,6 +4742,11 @@ void CGISDlg::OnUpdateShowLine10(CCmdUI *pCmdUI)
pCmdUI->SetCheck(m_pHaveDrawLineFlag[9]);
}
+void CGISDlg::OnUpdateShowLine14(CCmdUI *pCmdUI)
+{
+ pCmdUI->SetCheck(m_pHaveDrawLineFlag[13]);
+}
+
//功能:显示航线
//输入:航线文件名称strLineFileName
void CGISDlg::OnShowGivenLine(const CString strLineFileName)
@@ -5614,59 +5678,118 @@ BOOL CGISDlg::ReadLine(int iLine,PTLIST *pList)
}
//显示回收航线(14)
-void CGISDlg::OnShowPd10()
+void CGISDlg::OnShowBackLine()
{
// TODO: 在此添加命令处理程序代码
- SetFlyLineShowStatus(14);
+ if (g_b981ADesktop || g_b981APad)
+ {
+ SetFlyLineShowStatus(14);
+ }
+ if (g_b98CADesktop)
+ {
+ SetFlyLineShowStatus(11);
+ }
}
-void CGISDlg::OnUpdateShowPd10(CCmdUI *pCmdUI)
+void CGISDlg::OnUpdateShowBackLine(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
- pCmdUI->SetCheck(m_pHaveDrawLineFlag[13]);
+ if (g_b981ADesktop || g_b981APad)
+ {
+ pCmdUI->SetCheck(m_pHaveDrawLineFlag[13]);
+ }
+ if (g_b98CADesktop)
+ {
+ pCmdUI->SetCheck(m_pHaveDrawLineFlag[10]);
+ }
}
void CGISDlg::OnShowHs11()
{
// TODO: 在此添加命令处理程序代码
- SetFlyLineShowStatus(11);
+ if (g_b981ADesktop || g_b981APad)
+ {
+ SetFlyLineShowStatus(11);
+ }
+ if (g_b98CADesktop)
+ {
+ SetFlyLineShowStatus(7);
+ }
}
//应急航线 11
void CGISDlg::OnUpdateShowHs11(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
- pCmdUI->SetCheck(m_pHaveDrawLineFlag[10]);
+ if (g_b981ADesktop || g_b981APad)
+ {
+ pCmdUI->SetCheck(m_pHaveDrawLineFlag[10]);
+ }
+
+ if (g_b98CADesktop)
+ {
+ pCmdUI->SetCheck(m_pHaveDrawLineFlag[6]);
+ }
+
}
void CGISDlg::OnBindHs11()
{
m_struMapOut.cmd=MapCmd_BindLine;
- m_struMapOut.ID=11;
+ if (g_b981ADesktop || g_b981APad)
+ {
+ m_struMapOut.ID=11;
+ }
+ if (g_b98CADesktop)
+ {
+ m_struMapOut.ID=7;
+ }
::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0);
}
//电子围栏 12
void CGISDlg::OnShowTc12()
{
- SetFlyLineShowStatus(12);
+ if (g_b981ADesktop || g_b981APad)
+ {
+ SetFlyLineShowStatus(12);
+ }
+ if (g_b98CADesktop)
+ {
+ SetFlyLineShowStatus(6);
+ }
+
}
void CGISDlg::OnBindTc12()
{
m_struMapOut.cmd=MapCmd_BindLine;
- m_struMapOut.ID=12;
+ if (g_b981ADesktop || g_b981APad)
+ {
+ m_struMapOut.ID=12;
+ }
+ if (g_b98CADesktop)
+ {
+ m_struMapOut.ID=6;
+ }
::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0);
}
void CGISDlg::OnUpdateShowTc12(CCmdUI *pCmdUI)
{
+ if (g_b981ADesktop || g_b981APad)
+ {
pCmdUI->SetCheck(m_pHaveDrawLineFlag[11]);
+ }
+ if (g_b98CADesktop)
+ {
+ pCmdUI->SetCheck(m_pHaveDrawLineFlag[5]);
+ }
}
void CGISDlg::OnSize(UINT nType, int cx, int cy)
@@ -5685,10 +5808,17 @@ void CGISDlg::OnSize(UINT nType, int cx, int cy)
}
-void CGISDlg::On32855()
+void CGISDlg::OnBindBackLine()
{
m_struMapOut.cmd=MapCmd_BindLine;
- m_struMapOut.ID=14;
+ if (g_b981ADesktop || g_b981APad)
+ {
+ m_struMapOut.ID=14;
+ }
+ if (g_b98CADesktop)
+ {
+ m_struMapOut.ID=11;
+ }
::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0);
}
diff --git a/GISDlg.h b/GISDlg.h
index 2003256..d7deb35 100644
--- a/GISDlg.h
+++ b/GISDlg.h
@@ -781,8 +781,8 @@ public:
// afx_msg void OnMouseHWheel(UINT nFlags, short zDelta, CPoint pt);
afx_msg void OnNlinedesign();
afx_msg void OnUpdateNlinedesign(CCmdUI *pCmdUI);
- afx_msg void OnShowPd10();
- afx_msg void OnUpdateShowPd10(CCmdUI *pCmdUI);
+ afx_msg void OnShowBackLine();
+ afx_msg void OnUpdateShowBackLine(CCmdUI *pCmdUI);
afx_msg void OnShowHs11();
afx_msg void OnUpdateShowHs11(CCmdUI *pCmdUI);
afx_msg void OnBindHs11();
@@ -790,7 +790,7 @@ public:
afx_msg void OnBindTc12();
afx_msg void OnUpdateShowTc12(CCmdUI *pCmdUI);
afx_msg void OnSize(UINT nType, int cx, int cy);
- afx_msg void On32855();
+ afx_msg void OnBindBackLine();
afx_msg void OnMove(int x, int y);
@@ -906,6 +906,9 @@ public:
afx_msg void OnUpdateShowLine10(CCmdUI *pCmdUI);
afx_msg void OnBindline9();
afx_msg void OnBindline10();
+
+ afx_msg void OnShowLine14();
+ afx_msg void OnUpdateShowLine14(CCmdUI *pCmdUI);
};
//{{AFX_INSERT_LOCATION}}
diff --git a/Globe.cpp b/Globe.cpp
index a31ea08..e2975b0 100644
--- a/Globe.cpp
+++ b/Globe.cpp
@@ -233,5 +233,5 @@ bool g_bMarkerPlot[g_iMarkerPtNum] = {false};
说明:不同飞机型号变量,用于控制是否启用个性功能
-------------------------------------------------------------------------------------------------------------*/
bool g_b981ADesktop = false;
-bool g_b981APad = true;
-bool g_b98CADesktop = false;
\ No newline at end of file
+bool g_b981APad = false;
+bool g_b98CADesktop = true;
\ No newline at end of file
diff --git a/resource.h b/resource.h
index 9053467..f18896f 100644
--- a/resource.h
+++ b/resource.h
@@ -328,13 +328,17 @@
#define ID__32904 32904
#define ID_EDIT 32905
#define ID_EDIT_LINEPOINT 32906
+#define ID_32907 32907
+#define IDM_SHOW_LINE14 32908
+#define ID_SHOW_BACKLINE 32909
+#define ID_BIND_BACKLINE 32910
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 1078
-#define _APS_NEXT_COMMAND_VALUE 32907
+#define _APS_NEXT_COMMAND_VALUE 32911
#define _APS_NEXT_CONTROL_VALUE 1050
#define _APS_NEXT_SYMED_VALUE 1000
#endif