From aaa5ae647cc58ecab4e501d7d90a649dc5e408a2 Mon Sep 17 00:00:00 2001 From: cbwu <504-wuchengbo@htsdfp.com> Date: Tue, 7 Nov 2023 09:46:36 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=BE=E5=B1=82?= =?UTF-8?q?=E7=AE=A1=E7=90=86bug=EF=BC=9B=E4=BF=AE=E5=A4=8DA/C=E5=9B=9E?= =?UTF-8?q?=E6=94=B6=E8=88=AA=E7=BA=BF=E7=AD=89=E6=98=BE=E7=A4=BA=E4=B8=8E?= =?UTF-8?q?=E8=A3=85=E8=AE=A2=E4=B8=8D=E5=8C=B9=E9=85=8D=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=9B=E6=9A=B4=E9=9C=B2=E5=9C=B0=E5=9B=BE=E5=AE=9A=E4=BD=8D?= =?UTF-8?q?=E7=9A=84=E6=8E=A5=E5=8F=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ExportQBGISCtrlClass.cpp | 12 +- ExportQBGISCtrlClass.h | 4 +- GISControlDlg.aps | Bin 88804 -> 114092 bytes GISControlDlg.def | 3 +- GISControlDlg.rc | 5 +- GISControlDlg.vcxproj | 1 + GISControlDlg.vcxproj.filters | 3 + GISDlg.cpp | 204 ++++++++++++++++++++++++++++------ GISDlg.h | 9 +- Globe.cpp | 4 +- resource.h | 6 +- 11 files changed, 203 insertions(+), 48 deletions(-) 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 72999e4693e01be21de90c18dd22896b67d0eff8..29bbdc8f95c9416959e8290f1d8967c16e5390d4 100644 GIT binary patch delta 17370 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 + 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 From ffc06126f1489ab2d589ff1feae344b764e08a81 Mon Sep 17 00:00:00 2001 From: cbwu <504-wuchengbo@htsdfp.com> Date: Tue, 7 Nov 2023 10:39:42 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=BC=AB=E6=B8=B8ID=E5=8F=B7=E4=B8=8D=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GISControlDlg.aps | Bin 114092 -> 114096 bytes GISControlDlg.rc | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/GISControlDlg.aps b/GISControlDlg.aps index 29bbdc8f95c9416959e8290f1d8967c16e5390d4..55e4d36f4deb0fb9659bc89b857f9ea56eec5e13 100644 GIT binary patch delta 479 zcmXBLKTASk7zOb6(UgcBZUhZwe;^1VOQ|JrtDy!#p`i~DQA5y$Xlf`(Xi)NEa2gs4 z8YC3Fh^CplLI!>V2ZIKU1cxA~-jfF&ejGSY`rDoTb|==I;k+d6{U!T&C@QtwS#)>S zCCZ`Zlb2)Ooa-U~A(M~gYl(ZMhRuS^$vw=1EK7@cldr82_nj!^e@p(f7F{n6rF!r@ z%9J$WBR2?<1ssqR;v|g>iJ?x8&>>s!6g5HkNEIP+gM)sHlQ1$QhbL= delta 672 zcmXw#Pe_w-9LD$THzj*VI>`Pk%b=i$$h~yg%^;~mRt^Gh(V>E9kP?MxpdN%>s+r|8 zMb@AlB7_`nvlk~_w7UmSS$6QSOR`Z$u)x0G?R^hFK0MF!eSZHIYR&Vt=46lQEnq75 zpey%u{{+?+$0zQeo_cZk#A3^b!VX53KBw^fIM#T*h%^4oHoq6q!B<5b^8awf7ZEtm zZ$(^0g`p*MVw1Ka#hBtO2NhXPD&8}vNN`;-z^bB;p-+M+ZN(~MiWCPMYEse5oFdBg z2C9l93_0~lTTy1r!DTZR1Rn-*l#yjLu^@>_hQX1rSQQ6>;N~g#_V)a;ej1KBIB1p6 zdCm^E9JHH?4Suz~!oR2&SKPwBOP*706xyzWwJQj>w)lJB2XFSf+gb73 zUcOr|2Z!!?#-Dnj-5&=Z#btiML6h~^OaHpty&eWfhb2zxbLPgq9D(|COf~_&Ot?Ab zxv?yNke>$MPK()ALcrXa0k6%7il|x@^-)!ys*|&zH7jaB)h$uos*<8G$2TQ(TIIB! zX>@V4Bp(*ZfX6a2Rne(u+?6SlP0KyfVn$XFu%hp@b3oPwc5A064|e7C9EmZ+Co9tV JE#{V({{b+?`$qr( diff --git a/GISControlDlg.rc b/GISControlDlg.rc index ce1b2b1..f66fccb 100644 --- a/GISControlDlg.rc +++ b/GISControlDlg.rc @@ -559,7 +559,7 @@ BEGIN MENUITEM "高程分析", ID__MENU_LIGHTREGION MENUITEM "高程区域", ID_MENU_PLOTDEMAREA END - MENUITEM "自动漫游", IDM_BINDLINE10 + MENUITEM "自动漫游", IDM_AUTO_MOVE POPUP "标绘管理" BEGIN MENUITEM "应答机信息显示", ID_MENU_ADSB From 13caafbbb1c35cd70a3923e69d75f1696feef99c Mon Sep 17 00:00:00 2001 From: cbwu <504-wuchengbo@htsdfp.com> Date: Thu, 9 Nov 2023 13:56:45 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=9A=82=E6=97=B6=E5=B1=8F=E8=94=BD?= =?UTF-8?q?=E9=AB=98=E7=A8=8B=E5=88=86=E6=9E=90=E7=9A=84=E6=A0=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GISDlg.cpp | 42 +++++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/GISDlg.cpp b/GISDlg.cpp index 3060714..b2ecb36 100644 --- a/GISDlg.cpp +++ b/GISDlg.cpp @@ -908,6 +908,7 @@ void CGISDlg::OnMapMove() m_bLDSetPoint = FALSE; m_bSelectFeatureFlag = false; + } @@ -2155,6 +2156,9 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) return; } + + OnShowRMenu(); + /* //当处于回放模式时,设置、导引操作、航线装订子菜单都先灰色 menu.LoadMenu(IDR_MENU2); @@ -2208,7 +2212,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) menu.CheckMenuItem( IDM_SHOW_LINE5, MF_BYCOMMAND | MF_UNCHECKED ); } -/* + //航线6 if (m_pHaveDrawLineFlag[5]) { @@ -2254,7 +2258,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) else { menu.CheckMenuItem( IDM_SHOW_LINE10, MF_BYCOMMAND | MF_UNCHECKED ); - }*/ + } //航线14 回收航线 @@ -2334,7 +2338,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) //弹出快捷菜单 menu.GetSubMenu( 0 )->TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, this ); - + */ //像素坐标转经纬度坐标 m_map.PixelToProj(x, y, &m_guidePtInfo.guidePtLon, &m_guidePtInfo.guidePtLat); } @@ -2391,18 +2395,19 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) //高程分析选点 if (g_bDemAnalysising && (Button == 1)) { + g_iDemPointNum++; //像素坐标转经纬度坐标 double _ptLon = 0.0, _ptLat = 0.0; m_map.PixelToProj(x, y, &_ptLon, &_ptLat); - + g_dDemPtLon[g_iDemPointNum-1] = _ptLon; g_dDemPtLat[g_iDemPointNum-1] = _ptLat; - + return; CString str; str.Format(_T("%d"), g_iDemPointNum); - + //显示点的序号标注 AddTextToPointShapeLayer(g_lDemPtNumLayerID[g_iDemPointNum-1], _ptLon, _ptLat, str, _T(""), RGB(255,0,0)); @@ -2419,6 +2424,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) m_DlgDemAlt.ShowWindow(TRUE); } } + } //选择导引点 @@ -2798,7 +2804,7 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) AddPointShapeLayer(m_longLabelPlotID,_ptLon, _ptLat, str, _T("红色"), RGB(255,0,0)); } - if (g_bDemAnalysising && g_iDemPointNum>=1) + if (g_bDemAnalysising && g_iDemPointNum>=1 ) { double lon = 0, lat = 0; m_map.PixelToProj(x, y, &lon, &lat); @@ -2819,7 +2825,13 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) AddOnePoint2Shapfile(g_lDemAltLayerID[g_iDemPointNum-1], 1, lon, lat); //显示线段的距离和方位 - DrawLineLabel(g_lDemAltDisLayerID[g_iDemPointNum-1], g_dDemPtLon[g_iDemPointNum-1], g_dDemPtLat[g_iDemPointNum-1], lon, lat); +/* + if (g_lDemAltDisLayerID[g_iDemPointNum-1]!=-1) + { + m_map.ClearDrawing(g_lDemAltDisLayerID[g_iDemPointNum-1]); + } + g_lDemAltDisLayerID[g_iDemPointNum-1] = m_map.NewDrawing(1);*/ + //DrawLineLabel(g_lDemAltDisLayerID[g_iDemPointNum-1], g_dDemPtLon[g_iDemPointNum-1], g_dDemPtLat[g_iDemPointNum-1], lon, lat); } } @@ -2922,15 +2934,23 @@ void CGISDlg::DrawLineLabel(long &drawLayerID, const double ptLon1, const double //Label集合 CLabels labesPtr; labesPtr = (m_map.GetShapefile(drawLayerID)).GetLabels(); + //labesPtr = m_map.GetDrawingLabels(drawLayerID); + + labesPtr.SetFontColor(RGB(255,255,0)); + labesPtr.SetAlignment(1); + labesPtr.SetFontBold(TRUE); + labesPtr.SetFontName(_T("Times New Roman")); + labesPtr.SetFontSize(10); - CLabelCategory labelCategory = labesPtr.AddCategory(_T("")); + //CLabelCategory labelCategory = labesPtr.AddCategory(_T("")); +/* labelCategory.SetFontColor(RGB(255,255,0)); labelCategory.SetAlignment(1); labelCategory.SetFontBold(TRUE); labelCategory.SetFontName(_T("Times New Roman")); - labelCategory.SetFontSize(10); + labelCategory.SetFontSize(10);*/ - labesPtr.AddLabel(str, textLon, textLat, 0, 0); + labesPtr.AddLabel((LPCTSTR)str, textLon, textLat, 0, 0); //4.9版本此处有问题,会导致程序崩溃 } //重绘