AE(ArcEngine)里IGroupLayer的用法
来源:互联网 发布:淘宝dsr是什么意思 编辑:程序博客网 时间:2024/05/20 14:44
图层中有一种特殊的图层组,其结构可能是多种图层组合成的IGroupLayer。
IGroupLayer解析如下
namespace ESRI.ArcGIS.Carto{ public interface IGroupLayer : ILayer { ESRI.ArcGIS.Geometry.IEnvelope AreaOfInterest { get; } bool Cached { get; set; } bool Expanded { get; set; } double MaximumScale { get; set; } double MinimumScale { get; set; } string Name { get; set; } bool ShowTips { get; set; } ESRI.ArcGIS.Geometry.ISpatialReference SpatialReference { set; } int SupportedDrawPhases { get; } bool Valid { get; } bool Visible { get; set; } void Add(ILayer Layer); void Clear(); void Delete(ILayer Layer); string get_TipText(double x, double y, double Tolerance); }}
一、获得IGroupLayer里面的子图层
IGroupLayer没有定义获取子图层的定义 要将其转换成ICompositeLayer才可获取子图层
for (int i = 0; i < axMapMain.LayerCount; i++) { ILayer pGL = axMapMain.get_Layer(i); if (pGL is IGroupLayer) { ICompositeLayer pClyr = pGL as ICompositeLayer; for (int j = 0; j < pClyr .Count; j++) { ILayer pLyr; pLyr=pCLyr.get_Layer(j); } } }
二、在IGroupLayer里面操作图层
虽然没有获取图层的方法 但可以添加或者删除图层
代码如下:
if (pGL is IGroupLayer) { ICompositeLayer PClyr= pGL as ICompositeLayer; for (int j = 0; j < PClyr.Count; j++) { if (PClyr.get_Layer(j) == iLayer) { IGroupLayer pGlyr= pGL as IGroupLayer; //删除图层 PClyr.Delete(iLayer); } } }
三、在IGroupLayer里面特定位置添加图层
代码如下:
IMapLayers pMlyrs = pMap as IMapLayers; ILayer pGlyr = pMap.get_Layer(i); if (pGlyr is IGroupLayer) { //利用InsertLayerInGroup方法:第一个是GroupLayer的图层,第二个参数是要插入到组中的图层, //第四个参数是要插入的位置 pMlyrs.InsertLayerInGroup(pGlyr, theInsertLayer, false, 3);
大致用法如上
0 0
- AE(ArcEngine)里IGroupLayer的用法
- c#+ArcEngine中的IGroupLayer的用法
- 论浦发AE的正确用法
- ArcEngine IMap接口的用法
- AE(ArcEngine)中,鼠标点击e.button值对应的鼠标键
- AE中IHookHelper的用法(转载)
- ArcEngine中刷新的几种用法
- ArcGis,Arcengine, AE开发技术文档
- 项目里用到的一些基本的AE开发功能:
- AE脚本一些用法
- AE中IHookHelper的用法(几点介绍)
- AE中IHookHelper的用法(几点介绍)
- AE中IHookHelper的用法(几点介绍)
- ArcEngine中BaseCommand或BaseTool的用法举例
- ArcEngine中BaseCommand或BaseTool的用法举例
- ArcEngine中BaseCommand或BaseTool的用法举例
- C#+ArcEngine 序列化和反序列化AE对象
- ArcEngine组件库(概述AE每一个类库)
- 面试遇到的ajax请求串行和并行问题
- Java 多线程 线程之间的协作 wait()和notifyAll()
- .net缓存写法
- Sqoop详细介绍包括:sqoop命令,原理,流程
- 7.java多线程技术
- AE(ArcEngine)里IGroupLayer的用法
- 怎样理解一个新项目?
- ubuntu apt-get问题处理 hash sum mismatch
- php获取字符串长度
- java开发常见问题
- undefined reference to 之原因分析
- 编写算法交换二叉树中所有节点的左右子树
- Oracle安装错误ora-00922(缺少或无效选项)
- 谈谈AngularJS 1.3中的一次性数据绑定(one-time bindings)