arcengine开发如何遍历MapControl和PageLaoutControl中的图层,获取图层名称

一般的GIS开发者都知道arcengine开发中如何遍历MapControl中的图层,代码如下:

  for (int i = 0; i < axMapControl1.Map.LayerCount; i++)
   {
         String layerName = axMapControl1.Map.get_Layer(i).Name;
         ComboBox.Items.Add(layerName);
    }

那么如何遍历PageLaoutControl中的图层呢?稍微有一点区别:

 for (int i = 0; i < axPageLayoutControl1.ActiveView.FocusMap.LayerCount; i++)
  {
        String layerName = axPageLayoutControl1.ActiveView.FocusMap.get_Layer(i).Name;
        ComboBox.Items.Add(layerName);
  }

区别在于制图控件PageLaoutControl的图层是存在于焦点地图FocusMap对象中的,这里的图层并不是真正的数据,只是在视图ActiveView上面的显示而已。

      可以想一想在ArcMap制图过程中也是将图层加载到PageLaoutControl中显示,然后进行符号化等。

    原文作者:数据结构之图
    原文地址: https://blog.csdn.net/acoolgiser/article/details/80705554
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞