ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / BulkLayerCreationParams Class / MapMemberPosition Property
Example

In This Topic
    MapMemberPosition Property (BulkLayerCreationParams)
    In This Topic
    Gets and sets the mapMember position. Specifies whether the mapMember should be auto positioned or be on the top or at the bottom. Default value is MapMemberPosition.AutoArrange.
    Syntax
    Public Shadows Property MapMemberPosition As MapMemberPosition
    public new MapMemberPosition MapMemberPosition {get; set;}
    Remarks
    To specify a specific index for the mapMember to be positioned, set this to MapMemberPosition.Index and set the MapMemberIndex.

    If the set of layers to be added are specified by a set of LayerCreationParams objects, then this property overrides the individual MapMemberPosition properties.

    Example
    Create multiple layers with BulkLayerCreationParams 1
    {
        //Uris to the datasets for the layers to be created
        var uriShp = new Uri(@"c:\data\roads.shp");
        var uriSde = new Uri(@"c:\MyDataConnections\MySDE.sde\Census");
        var uri = new Uri(@"http://sampleserver6.arcgisonline.com/arcgis/rest/services/NapervilleShelters/FeatureServer/0");
        // Create a list of URIs to be used for creating multiple layers
        var uris = new List<Uri>() { uriShp, uriSde, uri }; ;
    
        // set the index and visibility
        var blkParams = new BulkLayerCreationParams(uris);
        blkParams.MapMemberPosition = MapMemberPosition.Index;
        blkParams.MapMemberIndex = 2;
        blkParams.IsVisible = false;
        // Create multiple layers using the BulkLayerCreationParams
        //Note: Needs QueuedTask to run
        var layers = LayerFactory.Instance.CreateLayers(blkParams, MapView.Active.Map);
    }
    Create multiple layers with BulkLayerCreationParams 2 - Valid
    {
    
        var uriShp = new Uri(@"c:\data\roads.shp");
        var uriSde = new Uri(@"c:\MyDataConnections\MySDE.sde\Census");
        var uri = new Uri(@"http://sampleserver6.arcgisonline.com/arcgis/rest/services/NapervilleShelters/FeatureServer/0");
    
        var lcpShp = new FeatureLayerCreationParams(uriShp);
        lcpShp.Name = "Roads";
        lcpShp.IsVisible = false;
        lcpShp.DefinitionQuery = new DefinitionQuery("shpQuery", "OBJECTID > 10");
    
        var lcpSde = new FeatureLayerCreationParams(uriSde);
        lcpSde.Name = "Census Polygons";
        lcpSde.IsVisible = true;
    
        var lcpService = new FeatureLayerCreationParams(uri);
        lcpService.Name = "Shelters";
        lcpService.IsVisible = true;
        // set some renderer here ...
        //lcpService.RendererDefinition = ...
    
        var lcps = new List<FeatureLayerCreationParams>();
        lcps.Add(lcpShp);
        lcps.Add(lcpSde);
        lcps.Add(lcpService);
    
        var blkParams = new BulkLayerCreationParams(lcps);
        // set the positioning on the BulkLayerCreationParams
        blkParams.MapMemberPosition = MapMemberPosition.Index;
        blkParams.MapMemberIndex = 0;
    
        var layers = LayerFactory.Instance.CreateLayers(blkParams, MapView.Active.Map);
    }
    Create multiple layers with BulkLayerCreationParams - Using RollbackBehavior
    {
    
        var uriShp = new Uri(@"c:\data\roads.shp");
        var uriSde = new Uri(@"c:\MyDataConnections\MySDE.sde\Census");
        var uri = new Uri(@"http://sampleserver6.arcgisonline.com/arcgis/rest/services/NapervilleShelters/FeatureServer/0");
    
        var lcpShp = new FeatureLayerCreationParams(uriShp);
        lcpShp.Name = "Roads";
        lcpShp.IsVisible = false;
        lcpShp.DefinitionQuery = new DefinitionQuery("shpQuery", "OBJECTID > 10");
    
        var lcpSde = new FeatureLayerCreationParams(uriSde);
        lcpSde.Name = "Census Polygons";
        lcpSde.IsVisible = true;
    
        var lcpService = new FeatureLayerCreationParams(uri);
        lcpService.Name = "Shelters";
        lcpService.IsVisible = true;
        // set some renderer here ...
        //lcpService.RendererDefinition = ...
    
        var lcps = new List<FeatureLayerCreationParams>();
        lcps.Add(lcpShp);
        lcps.Add(lcpSde);
        lcps.Add(lcpService);
    
        var blkParams = new BulkLayerCreationParams(lcps);
        // set the positioning on the BulkLayerCreationParams
        blkParams.MapMemberPosition = MapMemberPosition.Index;
        blkParams.MapMemberIndex = 0;
    
        // set the rollback behavior
        // - rollback if one or more layers cannot be created due to an invalid data source
        blkParams.RollbackBehavior = LayerCreationRollbackBehavior.RollbackOnMissingLayers;
    
        var layers = LayerFactory.Instance.CreateLayers(blkParams, MapView.Active.Map);
    }
    Requirements

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

    ArcGIS Pro version: 3.6 or higher.
    See Also