添加FeatureClass到Map中指定位置方法

添加FeatureClass到Map中指定位置方法:

对于一个学习开发半年的程序员来说,程序都是实测的,因为我正在开发程序,所以我会把我遇到的问题分享出来:O(∩_∩)O谢谢!写的不好请多多包涵。

1、在c#AE的开发帮助中我们可以查阅出我们想要的接口:

IMapLayers.InsertLayer Method


从此接口可以实现我们的需求;
 IMapLayers mapLayer = m_hookHelper.FocusMap as IMapLayers;
 IFeatureLayer featlayer = new FeatureLayerClass();
 featlayer.FeatureClass = pLineFC;
 featlayer.Name = (pLineFC as IDataset).Name;
 mapLayer.InsertLayer(featlayer as ILayer, false, index );
以上方法可以实现没有 图层组的数据插入到指定图层中;
2、此接口对于不能实现插入到图层组中;此刻我们需要使用其他接口:

IMapLayers.InsertLayerInGroup Method


具体代码如下:
IMapLayers mapLayer = m_hookHelper.FocusMap as IMapLayers;
IFeatureLayer featlayer = new FeatureLayerClass();
featlayer.FeatureClass = pLineFC;
featlayer.Name = (pLineFC as IDataset).Name;                                                                   mapLayer.InsertLayerInGroup(grouplayer,featlayer as ILayer, false, index); 
InserLayerInGroup方法参数解释:
  1. //第一个参数为grouplayer的图层组,第二个参数为将要插入的图层组中的位置(图层组中的索引从0开始)
  2. //第四个参数是要插入的位置  
在实际编程中会出现动态添加featureClass到指定位置;对于这种情况来说,可以使用list<T>记录图层位置关系;由于篇幅限制具体操作略。有需求的可以加我qq(2273024643)加我时请说明原因:O(∩_∩)O谢谢!
3、最后;感谢各位关注与阅读:O(∩_∩)O谢谢

发布了35 篇原创文章 · 获赞 8 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/wenming111/article/details/79002934