ArcGIS Pro 3.2 API Reference Guide
ArcGIS.Core.CIM Namespace / MaplexLinePlacementMethod Enumeration
Example Example

In This Topic
    MaplexLinePlacementMethod Enumeration
    In This Topic
    Maplex line placement methods.
    Syntax
    public enum MaplexLinePlacementMethod : System.Enum, System.IComparable, System.IConvertible, System.IFormattable  
    Public Enum MaplexLinePlacementMethod 
       Inherits System.Enum
       Implements System.IComparable, System.IConvertible, System.IFormattable 
    Members
    MemberDescription
    CenteredCurvedOnLine Centered curved on the line.
    CenteredHorizontalOnLine Centered horizontal on the line.
    CenteredPerpendicularOnLine Centered perpendicular on the line.
    CenteredStraightOnLine Centered straight on the line.
    OffsetCurvedFromLine Offset and curved from the line.
    OffsetHorizontalFromLine Offset and horizontal from the line.
    OffsetPerpendicularFromLine Offset perpendicular from the line.
    OffsetStraightFromLine Offset and straight from the line.
    Example
    Modify the Placement/Position of labels - Line geometry
    //Note: call within QueuedTask.Run()
    
    //Get the layer's definition
    var lyrDefn = featureLayer.GetDefinition() as CIMFeatureLayer;
    //Get the label classes - we need the first one
    var listLabelClasses = lyrDefn.LabelClasses.ToList();
    var theLabelClass = listLabelClasses.FirstOrDefault();
    //Modify label Placement 
    //Check if the label engine is Maplex or standard.
    CIMGeneralPlacementProperties labelEngine = 
        MapView.Active.Map.GetDefinition().GeneralPlacementProperties;
    if (labelEngine is CIMStandardGeneralPlacementProperties)
    {
      //Current labeling engine is Standard labeling engine
      var lineLablePosition = new CIMStandardLineLabelPosition
      {
        Perpendicular = true,
        Parallel = false,
        ProduceCurvedLabels = false,
        Horizontal = false,
        OnTop = true
      };
      theLabelClass.StandardLabelPlacementProperties.LineLabelPosition = 
          lineLablePosition;
    }
    else //Current labeling engine is Maplex labeling engine
    {
      theLabelClass.MaplexLabelPlacementProperties.LinePlacementMethod = 
                    MaplexLinePlacementMethod.CenteredPerpendicularOnLine;
      theLabelClass.MaplexLabelPlacementProperties.LineFeatureType = 
                    MaplexLineFeatureType.General;
    }
    //theLabelClass.MaplexLabelPlacementProperties.LinePlacementMethod = MaplexLinePlacementMethod.CenteredPerpendicularOnLine;
    lyrDefn.LabelClasses = listLabelClasses.ToArray(); //Set the labelClasses back
    featureLayer.SetDefinition(lyrDefn); //set the layer's definition
    Inheritance Hierarchy

    System.Object
       System.ValueType
          System.Enum
             ArcGIS.Core.CIM.MaplexLinePlacementMethod

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also