语言:C#

实现思路

构造几何,利用IMap接口的SelectByShape方法进行选择

 

1、点击选择

利用IMapControl2接口的ToMapPoint方法构造点,然后利用SelectByShape方法进行选择。SelectByShape方法的第二、三个参数可根据实际情况进行设置。

     public static void QueryByClick(IMapControl2 pMapCon,int x,int y)
        {
            IMap pMap = pMapCon.Map;
            IActiveView pActiveView = pMap as IActiveView;
            //构造点
            IPoint pPoint = pMapCon.ToMapPoint(x, y);
            pMap.SelectByShape(pPoint, null, false);
            pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null);
        }

 

2、矩形选择、圆形选择、多边形选择

 

矩形选择、圆形选择和多边形选择实现思路一致,都是利用IMapControl2接口的TrackRectangle(TrackCircle、TrackPolygon)方法构造几何图形,然后利用SelectByShape方法进行选择。TrackRectangle()方法的返回值为IEnvelop类型,TrackCircle()和TrackPolygon()的返回类型为IGeometry类型。 SelectByShape方法的第二、三个参数可根据实际情况进行设置。

        public static void QueryByRectangle(IMapControl2 pMapCon)
        {
            IMap pMap = pMapCon.Map;
            IActiveView pActiveView = pMap as IActiveView;
            //矩形选择
            IEnvelope pEnv = pMapCon.TrackRectangle();
            //多边形选择
            //IGeometry pGeo = pMapCon.TrackPolygon();
            //圆形选择
            //IGeometry pGeo = pMapCon.TrackCircle();
            pMap.SelectByShape(pEnv, null, false);
            pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null);
        } 

 

相关文章:

  • 2021-04-11
  • 2021-06-14
  • 2021-11-06
  • 2021-12-18
  • 2021-11-17
  • 2021-10-19
  • 2021-10-19
  • 2021-12-31
猜你喜欢
  • 2021-10-17
  • 2020-05-26
  • 2021-12-12
  • 2021-09-24
  • 2019-08-18
  • 2021-11-12
  • 2021-04-07
  • 2021-09-10
相关资源
相似解决方案