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来实现定位。
  • 相关阅读:
    android学习---Gallery画廊视图
    王立平--查看SQLite中的数据信息
    java中CyclicBarrier简单入门使用
    [ExtJS5学习笔记]第三十三节 sencha extjs 5 grid表格导出excel
    使用target打开的iframe 获取src的问题
    读《暗时间》的思考
    hdfs
    编译最新的SQLite 3.8.4.3为一个DLL
    使用Highcharts生成折线图_at last
    CentOS7 安装EFK(elasticsearch、fluent、kibana)进行Docker下日志搜集
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1406258.html
Copyright © 2011-2022 走看看