zoukankan      html  css  js  c++  java
  • SelectByShape

    SelectByShape实现矩形选择要素

    利用SelectByShape方法,实现矩形选择要素,并闪烁、定位。
    代码:
                    //selectbyshape方法
                    IMap pMap = new MapClass();
                    pMap 
    = axMapControl1.Map;
                    IPoint pPt 
    = new PointClass(); ;
                    pPt.PutCoords(e.mapX, e.mapY);

                    IEnvelope pEn 
    = new EnvelopeClass();
                    pEn 
    = axMapControl1.TrackRectangle();

                    pMap.SelectByShape(pEn, 
    nullfalse);//最后一个参数控制是否只选一个
                    axMapControl1.Refresh();

                    IEnumFeature pEnumFeature 
    = pMap.FeatureSelection as IEnumFeature;
                    IFeature pFeature;
                    pFeature 
    = pEnumFeature.Next();
                    
    //选中闪烁,并视图定位
                    while (pFeature != null)
                    
    {
                        Application.DoEvents();
                        pEn.Union(pFeature.Extent);
                        axMapControl1.FlashShape(pFeature.Shape, 
    3500null);
                        pFeature 
    = pEnumFeature.Next();
                    }

                    axMapControl1.ActiveView.Extent 
    = pEn;

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

    代码中是将所有Feature.Extent赋给Envelope实现,还可以调用Envelope.Expand来扩大视图范围,从而可以看到选中要素周边。
    此外定位实现方法还可以在选中要素后,调用AE里的controlszoomtoselectedfeature来实现定位。
  • 相关阅读:
    java字符串实现正序和倒序输出
    暑假前挑战赛1—— A,B题解
    深搜
    poj 1200 Crazy Search
    poj 1840 Eqs (hash)
    Choose the best route
    一个人的旅行
    畅通工程续
    最短路基础算法
    完全背包问题
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1406258.html
Copyright © 2011-2022 走看看