开发者社区> 橘子红了呐> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

c#+ArcEngine中的IGroupLayer的用法

简介:
+关注继续查看

转自羊子雄起原文c#+ArcEngine中的IGroupLayer的用法

  在AE开发中,我们知道axMapControl.LayerCount能获取图层的数量,但是这种方法不能获取到图层组里面的图层,这对我们对图层的操作很不方便,AE里面提供了IgroupLayer的接口,这让我们很好的对图层组操作。

一、IGroupLayer图层的获取

  获取一个图层组的Layer,这里AE提供了一个 ICompositeLayer接口,可以获取到IGroupLayer中所有的图层,具体用法如下:

复制代码
for (int i = 0; i < axMapMain.LayerCount; i++)  
{  
    ILayer pGL = axMapMain.get_Layer(i);  
    if (pGL is IGroupLayer)  
    {  
  
        ICompositeLayer pGroupLayer = pGL as ICompositeLayer;  
        for (int j = 0; j < pGroupLayer.Count; j++)  
        {  
            ILayer pCompositeLayer;  
            pCompositeLayer=pGroupLayer.get_Layer(j);  
        }  
  
}
复制代码

二、IGroupLayer的添加与删除

  IGroupLayer自带了添加、删除等方法,用起来也比较方便,这里不再赘述,如下图所示:
复制代码
if (pGL is IGroupLayer)  
{  
  
  
    ICompositeLayer pGroupLayer = pGL as ICompositeLayer;  
    for (int j = 0; j < pGroupLayer.Count; j++)  
    {  
        if (pGroupLayer.get_Layer(j) == iLayer)  
        {  
            IGroupLayer pGPLayer = pGL as IGroupLayer;  
            //删除图层  
            pGPLayer.Delete(iLayer);  
        }  
    }  
  
}  
复制代码

三、在IGroupLayer中特定位置插入图层

   IGroupLayer中自带的不能插入到特定位置,有的时候不能满足需要,在网上查阅资料后,发现还有一个很强大的AE接口:IMapLayers,通过IMapLayers可以插入图层到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(0), false, 3);  
}
复制代码

  IMapLayers有很多有效的方法,大家可以到网上具体查阅帮助文档,方便并且实用。

  由于在网上IGroupLayer的资料很少,在此特意总结一下,希望能给大家带来帮助,并且大家一起交流。

 

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。




    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6265009.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Agora Web UIKit:快速构建视频通话或直播
Agora 每月平均为人们提供超过 500 亿分钟的视频社交支持,随着开源、社区驱动的 Web UIKit 的发布,比以往任何时候都更容易构建自定义视频聊天应用程序或启动实时流媒体服务。
27 0
IDEA 终于支持中文版和 JDK 直接下载了(太方便了)附新版介绍视频
IDEA 终于支持中文版和 JDK 直接下载了(太方便了)附新版介绍视频
73 0
从壹开始前后端分离【 .NET Core2.0 Api + Vue 2.0 + AOP + 分布式】框架之一 || 前言
缘起     作为一个.Net攻城狮已经4年有余了,一直不温不火,正好近来项目不是很忙,闲得无聊,搞一搞新技术,一方面是打发无聊的时间,一方面也是督促自己该学习辣!身边的大神都转行的转行,加薪的加薪,本人比较懒,只想搞技术 [哭笑] ,也是怀着小小的梦想,做一个系列文章可以和大家一起进步,讨论,希望总阅读数能上1万,嗯,哈哈哈哈 技术     本系列文章只是对现有的一些技术做一个简单说明或者是引入,只是一个抛砖引玉的作用,主要的还是希望和志同道合的大神们一起切磋武艺。
1363 0
小型音乐播放器插件APlayer.js的简单使用例子
  本篇博客将会给出一个小型音乐播放器插件APlayer.js的使用例子。关于APlayer.js的具体介绍和Github地址,可以参考: https://github.com/MoePlayer/APlayer 。
1800 0
Java并发编程笔记之ArrayBlockingQueue源码分析
JDK 中基于数组的阻塞队列 ArrayBlockingQueue 原理剖析,ArrayBlockingQueue 内部如何基于一把独占锁以及对应的两个条件变量实现出入队操作的线程安全? 首先我们先大概的浏览一下ArrayBlockingQueue 的内部构造,如下类图: 如类图所示,可以看到ArrayBlockingQueue 内部有个数组items 用来存放队列元素,putIndex变量标示入队元素的下标,takeIndex是出队的下标,count是用来统计队列元素个数, 从定义可以知道,这些属性并没有使用valatile修饰,这是因为访问这些变量的使用都是在锁块内被用。
4170 0
iOS开发UI篇—CAlayer(创建图层)
iOS开发UI篇—CAlayer(创建图层) 一、添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控制器view的layer上)  1 // 2 // YYViewController.
724 0
3402
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载