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}}