C#AE获取地图中的所有图层要素,不包括图层组

#region//获取图层所有要素
        public static List<ILayer> GetAllLayer(AxMapControl map)
        {
            List<ILayer> layers = new List<ILayer>();
            for (int i = 0; i < map.LayerCount; i++)
            {
                ILayer layer = map.get_Layer(i);
                if (layer is IGroupLayer)
                {
                    layers.AddRange(GetLayers(layer));
                }
                else
                {
                    layers.Add(layer);
                }
            }

                return layers;
        }
        public static List<ILayer> GetLayers(ILayer player)
        {
            List<ILayer> layers = new List<ILayer>();
            ICompositeLayer composite = player as ICompositeLayer;
            for (int j = 0; j < composite.Count; j++)
            {
                ILayer midlayer = composite.Layer[j];
                if (midlayer is IGroupLayer)
                {
                    layers.AddRange(GetLayers(midlayer));
                }
                else
                {
                    layers.Add(midlayer);
                }
            }
            return layers;


        }
        #endregion

猜你喜欢

转载自blog.csdn.net/qq_38370387/article/details/89145527