|
|
@ -953,6 +953,7 @@ void CGISDlg::OnMapZoomOut()
|
|
|
|
m_bLDSetPoint = FALSE;
|
|
|
|
m_bLDSetPoint = FALSE;
|
|
|
|
|
|
|
|
|
|
|
|
m_bSelectFeatureFlag = false;
|
|
|
|
m_bSelectFeatureFlag = false;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//地图漫游
|
|
|
|
//地图漫游
|
|
|
@ -974,7 +975,6 @@ void CGISDlg::OnMapMove()
|
|
|
|
m_bLDSetPoint = FALSE;
|
|
|
|
m_bLDSetPoint = FALSE;
|
|
|
|
|
|
|
|
|
|
|
|
m_bSelectFeatureFlag = false;
|
|
|
|
m_bSelectFeatureFlag = false;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -4618,22 +4618,14 @@ void CGISDlg::DrawFlyLine(const DrawLineDataStruct lineData)
|
|
|
|
//Label集合
|
|
|
|
//Label集合
|
|
|
|
CLabels labesPtr;
|
|
|
|
CLabels labesPtr;
|
|
|
|
labesPtr = (m_map.GetShapefile(m_ppPlanLineShpLayerIDArr[lineID][0])).GetLabels();
|
|
|
|
labesPtr = (m_map.GetShapefile(m_ppPlanLineShpLayerIDArr[lineID][0])).GetLabels();
|
|
|
|
|
|
|
|
|
|
|
|
//CLabelCategory labelCategory = labesPtr.AddCategory(_T("红色"));
|
|
|
|
|
|
|
|
//labelCategory.SetFontColor(/*RGB(255,0,0)*/LineClr[lineID]);
|
|
|
|
|
|
|
|
//labelCategory.SetAlignment(1);
|
|
|
|
|
|
|
|
//labelCategory.SetFontBold(TRUE);
|
|
|
|
|
|
|
|
//labelCategory.SetFontName(LPCTSTR("黑体"));
|
|
|
|
|
|
|
|
//labelCategory.SetFontSize(12);
|
|
|
|
|
|
|
|
//labesPtr.SetAvoidCollisions(FALSE);
|
|
|
|
|
|
|
|
labesPtr.SetFontColor(/*RGB(255,0,0)*/LineClr[lineID]);
|
|
|
|
labesPtr.SetFontColor(/*RGB(255,0,0)*/LineClr[lineID]);
|
|
|
|
labesPtr.SetAlignment(1);
|
|
|
|
labesPtr.SetAlignment(1);
|
|
|
|
labesPtr.SetFontBold(true);
|
|
|
|
labesPtr.SetFontBold(true);
|
|
|
|
labesPtr.SetFontName(LPCTSTR("黑体"));
|
|
|
|
labesPtr.SetFontName(LPCTSTR("黑体"));
|
|
|
|
labesPtr.SetFontSize(16);
|
|
|
|
labesPtr.SetFontSize(12);
|
|
|
|
labesPtr.put_FontSize2(16);
|
|
|
|
labesPtr.put_FontSize2(12);
|
|
|
|
labesPtr.SetFrameVisible(false);
|
|
|
|
labesPtr.SetFrameVisible(false);
|
|
|
|
labesPtr.SetAvoidCollisions(FALSE);
|
|
|
|
labesPtr.SetAvoidCollisions(false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CString strText = _T("");
|
|
|
|
CString strText = _T("");
|
|
|
@ -4644,7 +4636,7 @@ void CGISDlg::DrawFlyLine(const DrawLineDataStruct lineData)
|
|
|
|
//标注信息
|
|
|
|
//标注信息
|
|
|
|
if ( 14 ==lineData.lineID)
|
|
|
|
if ( 14 ==lineData.lineID)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
strText.Format(_T("自主着陆点") /*lineData.lineID, */ /*lineData.pts[i].nPt*/);
|
|
|
|
strText.Format(_T("着陆点") /*lineData.lineID, */ /*lineData.pts[i].nPt*/);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -4715,10 +4707,10 @@ void CGISDlg::DrawCopyFlyLine(const DrawLineDataStruct lineData)
|
|
|
|
labesPtr.SetAlignment(1);
|
|
|
|
labesPtr.SetAlignment(1);
|
|
|
|
labesPtr.SetFontBold(true);
|
|
|
|
labesPtr.SetFontBold(true);
|
|
|
|
labesPtr.SetFontName(LPCTSTR("黑体"));
|
|
|
|
labesPtr.SetFontName(LPCTSTR("黑体"));
|
|
|
|
labesPtr.SetFontSize(16);
|
|
|
|
labesPtr.SetFontSize(12);
|
|
|
|
labesPtr.put_FontSize2(16);
|
|
|
|
labesPtr.put_FontSize2(12);
|
|
|
|
labesPtr.SetFrameVisible(false);
|
|
|
|
labesPtr.SetFrameVisible(false);
|
|
|
|
labesPtr.SetAvoidCollisions(FALSE);
|
|
|
|
labesPtr.SetAvoidCollisions(false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CString strText = _T("");
|
|
|
|
CString strText = _T("");
|
|
|
@ -4729,7 +4721,7 @@ void CGISDlg::DrawCopyFlyLine(const DrawLineDataStruct lineData)
|
|
|
|
//标注信息
|
|
|
|
//标注信息
|
|
|
|
if ( 14 ==lineData.lineID)
|
|
|
|
if ( 14 ==lineData.lineID)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
strText.Format(_T("自主着陆点(%d)") /*lineData.lineID, */ /*lineData.pts[i].nPt*/,lineData.pts[0].nV);
|
|
|
|
strText.Format(_T("着陆点%d") /*lineData.lineID, */ /*lineData.pts[i].nPt*/,lineData.pts[0].nV);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -5124,6 +5116,8 @@ void CGISDlg::SetFlyLineShowStatus(const int lineID)
|
|
|
|
OnShowGivenLine(str);
|
|
|
|
OnShowGivenLine(str);
|
|
|
|
if (g_b981AMulti)
|
|
|
|
if (g_b981AMulti)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if (lineIndex == 13) return;//自主着陆点
|
|
|
|
|
|
|
|
|
|
|
|
CString tmp;
|
|
|
|
CString tmp;
|
|
|
|
m_bShowCopyLine = true;
|
|
|
|
m_bShowCopyLine = true;
|
|
|
|
for (int i=2;i<=10;++i)
|
|
|
|
for (int i=2;i<=10;++i)
|
|
|
@ -5237,10 +5231,10 @@ void CGISDlg::OnShowGivenLine(const CString strLineFileName)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
m_lineFullPathName[lineDataGroup.lineID] = strLineFileName;
|
|
|
|
m_lineFullPathName[lineDataGroup.lineID] = strLineFileName;
|
|
|
|
if (lineDataGroup.pts[0].nV>1)
|
|
|
|
if (lineDataGroup.pts[0].nV>0) //多机ID号
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//清除标绘的航线
|
|
|
|
//清除标绘的航线
|
|
|
|
ClearDrawedCopyLine(lineDataGroup.lineID-1,lineDataGroup.pts[0].nV);
|
|
|
|
ClearDrawedCopyLine(lineDataGroup.lineID-1,lineDataGroup.pts[0].nV-1);
|
|
|
|
|
|
|
|
|
|
|
|
//标绘航线
|
|
|
|
//标绘航线
|
|
|
|
DrawCopyFlyLine(lineDataGroup);
|
|
|
|
DrawCopyFlyLine(lineDataGroup);
|
|
|
@ -8738,7 +8732,48 @@ void CGISDlg::OnShowTargetPoint(double lon,double lat,int pixelSize)
|
|
|
|
m_map.Redraw();
|
|
|
|
m_map.Redraw();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//显示自主着陆点与飞机的连线
|
|
|
|
|
|
|
|
void CGISDlg::ShowLine14Ex(int uavID,double uavLon,double uavLat,bool bShow)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (bShow)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
//图层已存在,先删除
|
|
|
|
|
|
|
|
auto it = m_TempLine14LayerID.find(uavID);
|
|
|
|
|
|
|
|
if (it!=m_TempLine14LayerID.end())
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
m_map.ClearDrawing((*it).second);
|
|
|
|
|
|
|
|
m_TempLine14LayerID.erase(it);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//自主着陆点坐标
|
|
|
|
|
|
|
|
auto it1 = m_CoordinateBindLine14.find(uavID);
|
|
|
|
|
|
|
|
if (it1==m_CoordinateBindLine14.end()) return;
|
|
|
|
|
|
|
|
//绘制连线
|
|
|
|
|
|
|
|
long layer = m_map.NewDrawing(1);
|
|
|
|
|
|
|
|
m_map.DrawLineEx(layer,uavLon,uavLat,(*it1).second.x,(*it1).second.y,2,LineClr[13]);
|
|
|
|
|
|
|
|
m_TempLine14LayerID[uavID] = layer;
|
|
|
|
|
|
|
|
m_map.Redraw2(mapWindow::RedrawMinimal);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
//图层已存在,先删除
|
|
|
|
|
|
|
|
auto it = m_TempLine14LayerID.find(uavID);
|
|
|
|
|
|
|
|
if (it!=m_TempLine14LayerID.end())
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
m_map.ClearDrawing((*it).second);
|
|
|
|
|
|
|
|
m_map.Redraw2(mapWindow::RedrawMinimal);
|
|
|
|
|
|
|
|
m_TempLine14LayerID.erase(it);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//设置装订的自主着陆点坐标
|
|
|
|
|
|
|
|
void CGISDlg::SetBindLine14Coordinate(int uavID,double lon,double lat)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Point2D pt;
|
|
|
|
|
|
|
|
pt.x = lon;
|
|
|
|
|
|
|
|
pt.y = lat;
|
|
|
|
|
|
|
|
m_CoordinateBindLine14[uavID] = pt;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|