ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Layouts Namespace / MapSeries Class / CreateSpatialMapSeries Method
The Layout you will ultimately apply the map series.
The MapFrame that contains the index layer.
A BasicFeatureLayer that include a point, line or polygon attribute table.
A String that represents the Name field in the index layer that should uniquely identify each page.
Example Version

    CreateSpatialMapSeries Method
    Creates a spatial map series. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax

    Parameters

    layout
    The Layout you will ultimately apply the map series.
    mapFrame
    The MapFrame that contains the index layer.
    indexLayer
    A BasicFeatureLayer that include a point, line or polygon attribute table.
    nameField
    A String that represents the Name field in the index layer that should uniquely identify each page.

    Return Value

    Exceptions
    ExceptionDescription
    This method must be called within the lambda passed to QueuedTask.Run.
    Remarks
    This method allows you to create a new spatial map series using a minimum number of required paramters. It returns a CIMSpatialMapSeries object that can be further modified using fine grained properties. To apply the changes to the layout, use the SetMapSeries() method.
    Example
    Create a new spatial map series
    // This example create a new spatial map series and then applies it to the active layout. This will automatically 
    // overwrite an existing map series if one is already present.
    
    //Reference map frame and index layer
    MapFrame mf = layout.FindElement("Map Frame") as MapFrame;
    Map m = mf.Map;
    BasicFeatureLayer indexLyr = m.FindLayers("Countries").FirstOrDefault() as BasicFeatureLayer;
    
    //Construct map series on worker thread
    await QueuedTask.Run(() =>
    {
      //SpatialMapSeries constructor - required parameters
      SpatialMapSeries SMS = MapSeries.CreateSpatialMapSeries(layout, mf, indexLyr, "Name");
      
      //Set optional, non-default values
      SMS.CategoryField = "Continent";
      SMS.SortField = "Population";
      SMS.ExtentOptions = ExtentFitType.BestFit;
      SMS.MarginType = ArcGIS.Core.CIM.UnitType.PageUnits;
      SMS.MarginUnits = ArcGIS.Core.Geometry.LinearUnit.Centimeters;
      SMS.Margin = 1;
      SMS.ScaleRounding = 1000;
      layout.SetMapSeries(SMS);  //Overwrite existing map series.
    });
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also