type(fix):修改航线设计时不清除已显示航线。新增航线选择按钮再次点击时可取消。修复航线设计时航线选择可以触发的问题。

pull/11/head
cbwu 2 years ago
parent 219c7d6d81
commit 0ee5e7adcd

@ -919,17 +919,29 @@ void CGISDlg::OnMapSelect()
//m_bLineDesign=FALSE; //m_bLineDesign=FALSE;
m_bPtDel=FALSE; m_bPtDel=FALSE;
m_bPtEdit=FALSE; m_bPtEdit=FALSE;
m_map.SetCursorMode(3); m_map.SetCursorMode(mapWindow::tkCursorMode::cmSelection);
m_bLDSetPoint = FALSE; m_bLDSetPoint = FALSE;
if (!m_bEditLine) //非航线编辑模式下可选 if (!m_bEditLine || !m_bLineDesign) //非航线编辑模式下可选
{
if (!m_bSelectFeatureFlag)
{ {
m_bSelectFeatureFlag = true; // by Wu m_bSelectFeatureFlag = true; // by Wu
} }
else else
{ {
m_map.SetCursorMode(5); m_map.SetCursorMode(mapWindow::tkCursorMode::cmNone);
ClearHighLightLine();
m_bSelectFeatureFlag = false;
}
}
else
{
m_map.SetCursorMode(mapWindow::tkCursorMode::cmNone);
//ClearHighLightLine();
//m_bSelectFeatureFlag = false;
} }
} }
@ -942,7 +954,7 @@ void CGISDlg::OnMapFullScreen()
m_bPtDel=FALSE; m_bPtDel=FALSE;
m_bPtEdit=FALSE; m_bPtEdit=FALSE;
m_map.ZoomToMaxExtents(); m_map.ZoomToMaxExtents();
m_map.SetCursorMode(4); m_map.SetCursorMode(mapWindow::tkCursorMode::cmNone);
m_bLDSetPoint = FALSE; m_bLDSetPoint = FALSE;
@ -2064,6 +2076,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y)
m_designLinePointNum--; m_designLinePointNum--;
} }
} }
DrawLineDesign(); DrawLineDesign();
} }
@ -2125,7 +2138,6 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y)
m_map.Redraw(); m_map.Redraw();
//显示快捷菜单 //显示快捷菜单
CMenu menu; CMenu menu;
POINT pt; POINT pt;
@ -2341,12 +2353,18 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y)
*/ */
//像素坐标转经纬度坐标 //像素坐标转经纬度坐标
m_map.PixelToProj(x, y, &m_guidePtInfo.guidePtLon, &m_guidePtInfo.guidePtLat); m_map.PixelToProj(x, y, &m_guidePtInfo.guidePtLon, &m_guidePtInfo.guidePtLat);
} }
if (Button == 2 && m_bLineDesign) //航线编辑时,停止编辑 if (Button == 2 && m_bLineDesign) //航线编辑时,停止编辑
{ {
//删除已经标绘的直线(追踪线和距离标注)
m_map.ClearDrawing(m_tempLayerID);
m_map.Redraw();
CMenu tmenu; CMenu tmenu;
tmenu.LoadMenu(IDR_FLOATINGMENU); tmenu.LoadMenu(IDR_FLOATINGMENU);
CRect rc=CRect(0,0,x,y); CRect rc=CRect(0,0,x,y);
@ -3215,6 +3233,10 @@ LRESULT CGISDlg::OnCloseShowDistanceDialog(WPARAM wParam, LPARAM lParam)
//功能:进行航线设计,弹出航线数据对话框 //功能:进行航线设计,弹出航线数据对话框
void CGISDlg::OnFlyLineDesign() void CGISDlg::OnFlyLineDesign()
{ {
m_tempLayerID = -1;
m_designLineLayerID = -1;
m_designLineLayerID2 = -1;
//return; //return;
//已经加载地图 //已经加载地图
if (m_bHaveAddMap) if (m_bHaveAddMap)
@ -3362,7 +3384,7 @@ void CGISDlg::ClearDrawingInLineDesign()
{ {
m_map.RemoveLayer(m_designLineLayerID2); m_map.RemoveLayer(m_designLineLayerID2);
} }
m_map.ClearLabels(m_designLineLayerID); //m_map.ClearLabels(m_designLineLayerID);
} }
@ -5146,6 +5168,7 @@ void CGISDlg::OnAddpoint() //
m_bDesignFirstPoint = false; m_bDesignFirstPoint = false;
//设计航线时,清除已显示的航线 //设计航线时,清除已显示的航线
/*
if(m_bLineDesign) if(m_bLineDesign)
{ {
for(int i=0;i<sizeof(m_pHaveDrawLineFlag) / sizeof(m_pHaveDrawLineFlag[0]);i++) for(int i=0;i<sizeof(m_pHaveDrawLineFlag) / sizeof(m_pHaveDrawLineFlag[0]);i++)
@ -5157,6 +5180,7 @@ void CGISDlg::OnAddpoint() //
} }
} }
} }
*/
} }

@ -232,6 +232,6 @@ bool g_bMarkerPlot[g_iMarkerPtNum] = {false};
/*------------------------------------------------------------------------------------------------------------- /*-------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------*/ -------------------------------------------------------------------------------------------------------------*/
bool g_b981ADesktop = false; bool g_b981ADesktop = true;
bool g_b981APad = false; bool g_b981APad = false;
bool g_b98CADesktop = true; bool g_b98CADesktop = false;
Loading…
Cancel
Save