From 4163402d1ac8c8f4ffb1cc439a318644a71b576d Mon Sep 17 00:00:00 2001 From: cbwu <504-wuchengbo@htsdfp.com> Date: Wed, 10 Jul 2024 08:54:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E7=9B=AE=E6=A0=87?= =?UTF-8?q?=E7=82=B9=E6=B5=8B=E8=AF=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ExportQBGISCtrlClass.cpp | 11 +++++++++++ ExportQBGISCtrlClass.h | 3 +++ GISControlDlg.def | 3 ++- GISDlg.cpp | 16 +++++++++++++++- GISDlg.h | 4 ++++ 5 files changed, 35 insertions(+), 2 deletions(-) diff --git a/ExportQBGISCtrlClass.cpp b/ExportQBGISCtrlClass.cpp index 038e294..56b35bc 100644 --- a/ExportQBGISCtrlClass.cpp +++ b/ExportQBGISCtrlClass.cpp @@ -403,4 +403,15 @@ extern "C" void WINAPI UpdateDataInfo(int index,const char* key,double value ) { g_mapShowDlg.UpdateDataInfo(index,key,value); }*/ +} + +//功能:目标追踪测试接口 +//输入:经纬度,点的像素大小,默认20 +extern "C" _declspec(dllexport) void OnShowTargetPoint(const double lon, const double lat, const int pixelSize) +{ + AFX_MANAGE_STATE(AfxGetAppModuleState()); + if (g_bCreateMap) + { + g_mapShowDlg.OnShowTargetPoint(lon,lat,pixelSize); + } } \ No newline at end of file diff --git a/ExportQBGISCtrlClass.h b/ExportQBGISCtrlClass.h index 11e4029..c0f117f 100644 --- a/ExportQBGISCtrlClass.h +++ b/ExportQBGISCtrlClass.h @@ -106,6 +106,9 @@ extern "C" _declspec(dllexport) void SetMsgInfo(const HWND hwnd, const UINT msg extern "C" _declspec(dllexport) void DrawCallBackPoint(const BYTE callbackMode, const double lon, const double lat); +//功能:目标追踪测试接口 +//输入:经纬度,点的像素大小,默认20 +extern "C" _declspec(dllexport) void OnShowTargetPoint(const double lon, const double lat, const int pixelSize=20); diff --git a/GISControlDlg.def b/GISControlDlg.def index f700041..e29fb20 100644 --- a/GISControlDlg.def +++ b/GISControlDlg.def @@ -35,4 +35,5 @@ EXPORTS GetMouseWheel @28 UpdateDataInfo @29 AddAirPt_ADS @30 - ZoomToLocation @31 \ No newline at end of file + ZoomToLocation @31 + OnShowTargetPoint @32 \ No newline at end of file diff --git a/GISDlg.cpp b/GISDlg.cpp index 13df20b..c5b1e04 100644 --- a/GISDlg.cpp +++ b/GISDlg.cpp @@ -371,6 +371,9 @@ CGISDlg::CGISDlg(CWnd* pParent /*=NULL*/) m_bEnableShowADSB = true; + + testLayer = -1; + } @@ -924,7 +927,6 @@ void CGISDlg::OnMapZoomIn() m_bLDSetPoint = FALSE; m_bSelectFeatureFlag = false; - } //地图缩小 @@ -8465,6 +8467,18 @@ void CGISDlg::SaveMultiRouteLine(CString pathDirName,double heightInterval,const } +void CGISDlg::OnShowTargetPoint(double lon,double lat,int pixelSize) +{ + if (testLayer!=-1) + { + m_map.ClearDrawing(testLayer); + testLayer = -1; + } + testLayer = m_map.NewDrawing(1); + m_map.DrawPointEx(testLayer,lon,lat,pixelSize,RGB(255,0,0)); + //m_map.Redraw2(mapWindow::tkRedrawType::RedrawMinimal); + m_map.Redraw(); +} diff --git a/GISDlg.h b/GISDlg.h index 78a196f..08a1330 100644 --- a/GISDlg.h +++ b/GISDlg.h @@ -985,6 +985,10 @@ public: /****************************多机航线一键生成************************************/ void GetMultiRouteLine(double azimuth,double lineInterval,int lineNumber,PtStruct* lineStruct,int nLinePts,vector>& resultLines); void SaveMultiRouteLine(CString pathDirName,double heightInterval,const vector>& resultLines); + + /****************************吊舱目标追踪测试************************************/ + long testLayer; + void OnShowTargetPoint(double lon,double lat,int pixelSize=20); }; //{{AFX_INSERT_LOCATION}}