C#二次开发ArcGIS查询功能 联系客服

发布时间 : 星期日 文章C#二次开发ArcGIS查询功能更新完毕开始阅读20adc4bcd0f34693daef5ef7ba0d4a7302766c08

[地理信息系统课程设计报告]

//获取MouseUp发生时的范围并缩小 IEnvelope pEnvelope;

if (m_feedBack == null)//鼠标未拉框时进行固定比例尺缩小 {

pEnvelope = pActiveView.Extent; pEnvelope.Expand(2, 2, true); pEnvelope.CenterAt(m_point); //获取新的范围

pActiveView.Extent = pEnvelope; //刷新视图

pActiveView.Refresh(); } else

{ //停止追踪

pEnvelope = m_feedBack.Stop();

//判断新的范围的高度和宽度是否为零

if (pEnvelope.Width == 0 || pEnvelope.Height == 0) {

m_feedBack = null; m_isMouseDown = false; } double dWidth = pActiveView.Extent.Width * pActiveView.Extent.Width / pEnvelope.Width; double dHeight = pActiveView.Extent.Height * pActiveView.Extent.Height / pEnvelope.Height;

double dXmin = pActiveView.Extent.XMin -

((pEnvelope.XMin - pActiveView.Extent.XMin) * pActiveView.Extent.Width /

pEnvelope.Width); double dYmin = pActiveView.Extent.YMin -

((pEnvelope.YMin - pActiveView.Extent.YMin) * pActiveView.Extent.Height /

pEnvelope.Height); double dXmax = dXmin + dWidth; double dYmax = dYmin + dHeight;

pEnvelope.PutCoords(dXmin, dYmin, dXmax, dYmax); //获取新的范围

pActiveView.Extent = pEnvelope; //刷新视图

pActiveView.Refresh(); }

m_feedBack = null; m_isMouseDown = false; }

#endregion

[地理信息系统课程设计报告]37 / 38

[地理信息系统课程设计报告]

} }

[地理信息系统课程设计报告]38 / 38