ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / Map Class / RemoveLayer Method
A layer.
Example

In This Topic
    RemoveLayer Method (Map)
    In This Topic
    Removes a specified layer from the map. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    Public Sub RemoveLayer( _
       ByVal layer As Layer _
    ) 
    public void RemoveLayer( 
       Layer layer
    )

    Parameters

    layer
    A layer.
    Exceptions
    ExceptionDescription
    This method or property must be called within the lambda passed to QueuedTask.Run.
    Example
    Removes all layers that are unchecked
    {
        //Get the group layers first
        IReadOnlyList<GroupLayer> groupLayers = map.Layers.OfType<GroupLayer>().ToList();
        //Iterate and remove the layers within the group layers that are unchecked.
        //Note: Run within a QueuedTask
        foreach (var groupLyr in groupLayers)
        {
            //Get layers that not visible within the group
            var layers = groupLyr.Layers.Where(l => l.IsVisible == false).ToList();
            //Remove all the layers that are not visible within the group
            map.RemoveLayers(layers);
        }
    
        //Group Layers that are empty and are unchecked
        foreach (var group in groupLayers)
        {
            if (group.Layers.Count == 0 && group.IsVisible == false) //No layers in the group
            {
                //remove the group
                map.RemoveLayer(group);
            }
        }
    
        //Get Layers that are NOT Group layers and are unchecked
        var notAGroupAndUnCheckedLayers = map.Layers.Where(l => !(l is GroupLayer) && l.IsVisible == false).ToList();
        //Remove all the non group layers that are not visible
        map.RemoveLayers(notAGroupAndUnCheckedLayers);
    }
    Remove empty groups
    {
        //Get the group layers
        IReadOnlyList<GroupLayer> groupLayers = map.Layers.OfType<GroupLayer>().ToList();
        //Note: Run within a QueuedTask
        foreach (var group in groupLayers)
        {
            if (group.Layers.Count == 0) //No layers in the group
            {
                //remove the group
                map.RemoveLayer(group);
            }
        }
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also