ArcGIS Runtime SDK for iOS: AGSLabelDefinition.h File Reference
ArcGIS Runtime SDK for iOS  100.11
AGSLabelDefinition.h File Reference

Go to the source code of this file.

Enumerations

enum  AGSLabelDeconflictionStrategy { AGSLabelDeconflictionStrategyAutomatic = 0 , AGSLabelDeconflictionStrategyDynamic = 1 , AGSLabelDeconflictionStrategyNone = 2 , AGSLabelDeconflictionStrategyStatic = 3 }
 
enum  AGSLabelLineConnection { AGSLabelLineConnectionAutomatic = 0 , AGSLabelLineConnectionMinimizeLabels = 1 , AGSLabelLineConnectionNone = 2 , AGSLabelLineConnectionUnambiguousLabels = 3 }
 
enum  AGSLabelMultipartStrategy {
  AGSLabelMultipartStrategyAutomatic = 0 , AGSLabelMultipartStrategyLabelLargest = 1 , AGSLabelMultipartStrategyLabelPerFeature = 2 , AGSLabelMultipartStrategyLabelPerPart = 3 ,
  AGSLabelMultipartStrategyLabelPerSegment = 4
}
 
enum  AGSLabelOverlapStrategy { AGSLabelOverlapStrategyAutomatic = 0 , AGSLabelOverlapStrategyAllow = 1 , AGSLabelOverlapStrategyAvoid = 2 , AGSLabelOverlapStrategyExclude = 3 }
 
enum  AGSLabelOverrunStrategy { AGSLabelOverrunStrategyAutomatic = 0 , AGSLabelOverrunStrategyNone = 1 , AGSLabelOverrunStrategyAllow = 2 }
 
enum  AGSLabelRemoveDuplicatesStrategy {
  AGSLabelRemoveDuplicatesStrategyAutomatic = 0 , AGSLabelRemoveDuplicatesStrategyAll = 1 , AGSLabelRemoveDuplicatesStrategyFeatureType = 2 , AGSLabelRemoveDuplicatesStrategyLabelClass = 3 ,
  AGSLabelRemoveDuplicatesStrategyNone = 4
}
 
enum  AGSLabelRepeatStrategy { AGSLabelRepeatStrategyAutomatic = 0 , AGSLabelRepeatStrategyNone = 1 , AGSLabelRepeatStrategyRepeat = 2 }
 
enum  AGSLabelStackAlignment { AGSLabelStackAlignmentAutomatic = 0 , AGSLabelStackAlignmentDynamic = 1 , AGSLabelStackAlignmentTextSymbol = 2 }
 
enum  AGSLabelStackBreakPosition { AGSLabelStackBreakPositionAutomatic = 0 , AGSLabelStackBreakPositionAfter = 1 , AGSLabelStackBreakPositionBefore = 2 }
 
enum  AGSLabelStackStrategy { AGSLabelStackStrategyAutomatic = 0 , AGSLabelStackStrategyNone = 1 , AGSLabelStackStrategyAllow = 2 }
 
enum  AGSLabelTextLayout {
  AGSLabelTextLayoutAutomatic = 0 , AGSLabelTextLayoutHorizontal = 1 , AGSLabelTextLayoutPerpendicular = 2 , AGSLabelTextLayoutStraight = 3 ,
  AGSLabelTextLayoutFollowFeature = 4
}
 
enum  AGSLabelTextOrientation { AGSLabelTextOrientationAutomatic = 0 , AGSLabelTextOrientationDirection = 1 , AGSLabelTextOrientationScreen = 2 }
 

Enumeration Type Documentation

◆ AGSLabelDeconflictionStrategy

The strategy for moving labels to avoid overlapping point symbols or higher priority labels.

Since
100.11
Enumerator
AGSLabelDeconflictionStrategyAutomatic 

The label will use the default deconfliction strategy (AGSLabelDeconflictionStrategyStatic).

AGSLabelDeconflictionStrategyDynamic 

Place the label in the preferred location, but move to an alternative location to avoid overlapping higher priority labels or point feature symbols.

AGSLabelDeconflictionStrategyNone 

Place the label in the preferred location, regardless of overlaps with other features or labels.

AGSLabelDeconflictionStrategyStatic 

Place the label in the preferred location, unless it would overlap a higher priority label or point feature symbol.

◆ AGSLabelLineConnection

The strategy for whether line features with the same label, and matching end vertices, should be joined before sharing a label.

Since
100.11
Enumerator
AGSLabelLineConnectionAutomatic 

The default approach for connectable features is to connect them (AGSLabelLineConnectionMinimizeLabels).

AGSLabelLineConnectionMinimizeLabels 

Line geometries with the same label and coincident end vertices should be considered together as a single, continuous geometry when placing labels.

AGSLabelLineConnectionNone 

Keep one label per line feature geometry.

AGSLabelLineConnectionUnambiguousLabels 

Line geometries with the same label and coincident end vertices should be joined, until they hit a junction.

◆ AGSLabelMultipartStrategy

The strategy for the number of labels to be placed on a multi-part feature.

Since
100.11
Enumerator
AGSLabelMultipartStrategyAutomatic 

Labeling will use the default distribution of labels across multi-part features.

AGSLabelMultipartStrategyLabelLargest 

If a feature consists of multiple parts, only the largest one will be assigned a label.

AGSLabelMultipartStrategyLabelPerFeature 

One label per feature, but not supported yet in runtime.

AGSLabelMultipartStrategyLabelPerPart 

If a feature consists of multiple geometries, each geometry will be assigned a label.

AGSLabelMultipartStrategyLabelPerSegment 

One label per segment, but not supported yet in runtime.

◆ AGSLabelOverlapStrategy

The strategy for whether another label is allowed to be placed over this feature or label.

Since
100.11
Enumerator
AGSLabelOverlapStrategyAutomatic 

The other label will use the default overlap behavior which depends on the object being overlapped.

AGSLabelOverlapStrategyAllow 

The other label will be allowed to place itself in its preferred location, ignoring this obstacle.

AGSLabelOverlapStrategyAvoid 

The other label will move to minimize overlapping this obstacle, but will overlap if necessary.

AGSLabelOverlapStrategyExclude 

The other label will not be placed rather than overlap this obstacle.

◆ AGSLabelOverrunStrategy

The strategy for whether a label should be visible at viewing scales where the feature is too small for the label to fit.

Since
100.11
Enumerator
AGSLabelOverrunStrategyAutomatic 

The label will use the default overrun behavior which depends on the object being overrun. This value corresponds to no value being specified for the AGSLabelDefinition::overrunStrategy property.

AGSLabelOverrunStrategyNone 

The label cannot run past the ends of its line geometry or edges of its polygon geometry.

AGSLabelOverrunStrategyAllow 

The label can run past the ends of its line geometry or edges or its polygon geometry.

◆ AGSLabelRemoveDuplicatesStrategy

The strategy for whether labels should be removed if they have the same text as other labels, to reduce clutter and free up space.

Since
100.11
Enumerator
AGSLabelRemoveDuplicatesStrategyAutomatic 

The default approach to duplicate labels to is keep them (AGSLabelRemoveDuplicatesStrategyNone).

AGSLabelRemoveDuplicatesStrategyAll 

Remove nearby duplicate labels.

AGSLabelRemoveDuplicatesStrategyFeatureType 

Remove nearby duplicate labels, if they belong to the same Feature Type.

AGSLabelRemoveDuplicatesStrategyLabelClass 

Remove nearby duplicate labels, if they below to the same Label Class.

AGSLabelRemoveDuplicatesStrategyNone 

No duplicates should be removed.

◆ AGSLabelRepeatStrategy

The strategy for whether a label should have multiple copies created and placed along or across the same feature.

Since
100.11
Enumerator
AGSLabelRepeatStrategyAutomatic 

Labeling will use the default repetition for the feature type.

AGSLabelRepeatStrategyNone 

Only place one label per feature.

AGSLabelRepeatStrategyRepeat 

Repeat the label along or across the feature.

◆ AGSLabelStackAlignment

The strategy for how multi-row (stacked) text should be horizontally aligned. Multi-row text labels can each be horizontally aligned on the left, right or at their center. By using the AGSLabelStackAlignment, the user can choose to use the AGSTextSymbol::horizontalAlignment property for all labels, or can choose to have the most aesthetic alignment calculated case-by-case for each label depending on its placement position around its feature. This is particularly useful for labels of dense point features, where labels may move above, below, left or right of their point symbol, in order to fit on the display.

Since
100.11
Enumerator
AGSLabelStackAlignmentAutomatic 

The default behavior is to use AGSLabelStackAlignmentTextSymbol.

AGSLabelStackAlignmentDynamic 

Set the alignment depending upon the label's position with respect to its feature.

AGSLabelStackAlignmentTextSymbol 

Follow the alignment specified by the AGSTextSymbol::horizontalAlignment.

◆ AGSLabelStackBreakPosition

The strategy for whether a row of text should be broken before or after it exceeds the ideal length. If stacking is turned on, label placement can insert a line break before or after the word that overruns the maximum number of characters per row.

Since
100.11
Enumerator
AGSLabelStackBreakPositionAutomatic 

Use the default break position (AGSLabelStackBreakPositionAfter).

AGSLabelStackBreakPositionAfter 

Insert the line break after a word that has broken the stackRowLength limit.

AGSLabelStackBreakPositionBefore 

Insert the line break before a word that will break the stackRowLength limit.

◆ AGSLabelStackStrategy

The strategy for whether the text should be stacked or wrapped, rather than place long trailing labels across the map.

Since
100.11
Enumerator
AGSLabelStackStrategyAutomatic 

Stacking will be enabled for some feature types.

AGSLabelStackStrategyNone 

The text should not be broken, no matter how long it is.

AGSLabelStackStrategyAllow 

The label placement engine can break the text into two or more rows, if the rows are longer than the AGSLabelDefinition::stackRowLength limit.

◆ AGSLabelTextLayout

The layout to use for label text, which can be either horizontal, straight, perpendicular, or follow the line feature.

Since
100.11
Enumerator
AGSLabelTextLayoutAutomatic 

The text layout will be determined by the individual feature type.

AGSLabelTextLayoutHorizontal 

Text will be written horizontally (with respect to the screen).

AGSLabelTextLayoutPerpendicular 

Text will be written perpendicular to the AGSLabelTextLayoutStraight text layout.

AGSLabelTextLayoutStraight 

Text will be written along a straight line, following the point positioning angle or at a tangent to the line feature.

AGSLabelTextLayoutFollowFeature 

Text will bend to follow a curved or multi-segment line feature.

◆ AGSLabelTextOrientation

The orientation of label text.

Since
100.11
Enumerator
AGSLabelTextOrientationAutomatic 

Use the default text orientation (AGSLabelTextOrientationScreen).

AGSLabelTextOrientationDirection 

Text follows the placement angle direction, even if it means being drawn upside-down.

AGSLabelTextOrientationScreen 

Text follows the screen orientation and flips if necessary.