c#+ArcEngine中的IGroupLayer的用法
转自羊子雄起原文c#+ArcEngine中的IGroupLayer的用法
在AE开发中,我们知道axMapControl.LayerCount能获取图层的数量,但是这种方法不能获取到图层组里面的图层,这对我们对图层的操作很不方便,AE里面提供了IgroupLayer的接口,这让我们很好的对图层组操作。
一、IGroupLayer图层的获取
获取一个图层组的Layer,这里AE提供了一个 ICompositeLayer接口,可以获取到IGroupLayer中所有的图层,具体用法如下:
for (int i = ; i < axMapMain.LayerCount; i++)
{
ILayer pGL = axMapMain.get_Layer(i);
if (pGL is IGroupLayer)
{ ICompositeLayer pGroupLayer = pGL as ICompositeLayer;
for (int j = ; j < pGroupLayer.Count; j++)
{
ILayer pCompositeLayer;
pCompositeLayer=pGroupLayer.get_Layer(j);
} }
二、IGroupLayer的添加与删除
if (pGL is IGroupLayer)
{ ICompositeLayer pGroupLayer = pGL as ICompositeLayer;
for (int j = ; j < pGroupLayer.Count; j++)
{
if (pGroupLayer.get_Layer(j) == iLayer)
{
IGroupLayer pGPLayer = pGL as IGroupLayer;
//删除图层
pGPLayer.Delete(iLayer);
}
} }
三、在IGroupLayer中特定位置插入图层
IMapLayers pLayers = axMapMain.Map as IMapLayers;
ILayer pGL = axMapMain.get_Layer(i);
if (pGL is IGroupLayer)
{
//利用InsertLayerInGroup方法:第一个是GroupLayer的图层,第二个参数是要插入到组中的图层,
//第四个参数是要插入的位置
pLayers.InsertLayerInGroup(pGL, axMapMain.get_Layer(), false, );
}
IMapLayers有很多有效的方法,大家可以到网上具体查阅帮助文档,方便并且实用。
由于在网上IGroupLayer的资料很少,在此特意总结一下,希望能给大家带来帮助,并且大家一起交流。
c#+ArcEngine中的IGroupLayer的用法的更多相关文章
- 在ArcEngine中使用Geoprocessing工具-执行工具
转自原文在ArcEngine中使用Geoprocessing工具-执行工具 来解析一下Geoprocessor类的Execute方法,他有两种重载,Execute(IGPProcess, ITrack ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- ecshop中foreach的详细用法归纳
ec模版中foreach的常见用法. foreach 语法: 假如后台:$smarty->assign('test',$test); {foreach from=$test item=list ...
- matlab中patch函数的用法
http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...
- C#中timer类的用法
C#中timer类的用法 关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类 ...
- C#中dynamic的正确用法
C#中dynamic的正确用法 http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html dynamic是FrameWork4 ...
- ArcEngine中打开各种数据源(WorkSpace)的连接
(SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源.在开发过程中我们使用了如下几种数据源 1.企业数据库(SDE) 企业 ...
- C++中typename关键字的用法
我在我的 薛途的博客 上发表了新的文章,欢迎各位批评指正. C++中typename关键字的用法
- Guava中Predicate的常见用法
Guava中Predicate的常见用法 1. Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterabl ...
随机推荐
- HTML5格式化
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- yii2源码学习笔记(十九)
view剩余代码 /** * @return string|boolean the view file currently being rendered. False if no view file ...
- 【python】python的二元表达式和三元表达式
二元表达式 x,y=4,3if x>y: s = yelse: s= x print s x if x<y else y 三元表达式: >>> def f(x,y): ...
- 列表页url参数格式分析【求指教】
运营对列表页url制定静态化模式,与区区观点相悖.遂请大家指教点解. 动态参数包含6个,分别是: 1认证(有机),2品类(水果),3地区(丰台),4状态(众筹中),5排序(评分),6分页 使用状态非常 ...
- C语言中调用Lua
C语言和Lua天生有两大隔阂: 一.C语言是静态数据类型,Lua是动态数据类型 二.C语言需要程序员管理内存,Lua自动管理内存 为了跨越世俗走到一起,肯定需要解决方案. 解决第一点看上去比较容易,C ...
- string内存管理
本人从事.net开发快两年了,一直认为鄙人的C++基础还是很扎实的,并且对Windows操作系统也有一定认识(Linux系就真比较少用),刚毕业的时候,也曾经经常研究游戏破解之类的小外挂,那时候真是折 ...
- 定位- CLGeoencoder - 反编码
#import "ViewController.h" #import "MBProgressHUD+MJ.h" #import <CoreLocation ...
- 数据结构练习 02-线性结构3. Pop Sequence (25)
Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, ..., N and p ...
- 注解方式传LIST@RequestBody
在SpringMVC中使用注解方式传List类型的参数时,要使用@RequestBody注解而不是@RequestParam注解 //创建文件夹 @RequestMapping(value=" ...
- 发布FireBird数据库所需要DLL文件
数据库版本:2.5.2 ib_util.dll; icudt30.dll; icuin30.dll icuuc30.dll