利用SelectByShape方法,实现矩形选择要素,并闪烁、定位。
代码:
SelectByShape实现矩形选择要素                //selectbyshape方法
SelectByShape实现矩形选择要素
                IMap pMap = new MapClass();
SelectByShape实现矩形选择要素                pMap 
= axMapControl1.Map;
SelectByShape实现矩形选择要素                IPoint pPt 
= new PointClass(); ;
SelectByShape实现矩形选择要素                pPt.PutCoords(e.mapX, e.mapY);
SelectByShape实现矩形选择要素
SelectByShape实现矩形选择要素                IEnvelope pEn 
= new EnvelopeClass();
SelectByShape实现矩形选择要素                pEn 
= axMapControl1.TrackRectangle();
SelectByShape实现矩形选择要素
SelectByShape实现矩形选择要素                pMap.SelectByShape(pEn, 
nullfalse);//最后一个参数控制是否只选一个
SelectByShape实现矩形选择要素
                axMapControl1.Refresh();
SelectByShape实现矩形选择要素
SelectByShape实现矩形选择要素                IEnumFeature pEnumFeature 
= pMap.FeatureSelection as IEnumFeature;
SelectByShape实现矩形选择要素                IFeature pFeature;
SelectByShape实现矩形选择要素                pFeature 
= pEnumFeature.Next();
SelectByShape实现矩形选择要素                
//选中闪烁,并视图定位
SelectByShape实现矩形选择要素
                while (pFeature != null)
                
{
                    Application.DoEvents();
                    pEn.Union(pFeature.Extent);
                    axMapControl1.FlashShape(pFeature.Shape, 
3500null);
                    pFeature 
= pEnumFeature.Next();
                }

SelectByShape实现矩形选择要素                axMapControl1.ActiveView.Extent 
= pEn;

代码放置于MapControl.MouseDown下即可实现

代码中是将所有Feature.Extent赋给Envelope实现,还可以调用Envelope.Expand来扩大视图范围,从而可以看到选中要素周边。
此外定位实现方法还可以在选中要素后,调用AE里的controlszoomtoselectedfeature来实现定位。

相关文章:

  • 2022-12-23
  • 2021-10-14
  • 2022-12-23
  • 2022-01-10
  • 2022-12-23
  • 2022-12-23
  • 2021-07-01
猜你喜欢
  • 2021-11-29
  • 2022-12-23
  • 2021-11-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案