The LabelTextLayout can be one of:
(0) The text layout will be determined by the individual feature type. For each label, the layout will be determined by the feature geometry type: - Point feature labels will use Enums.LabelTextLayoutHorizontal - Line feature labels will use Enums.LabelTextLayoutFollowFeature - Polygon feature labels will use Enums.LabelTextLayoutHorizontal.
(1) Text will be written horizontally (with respect to the screen). If the map is rotated within the screen, then the text will be redrawn (and possibly repositioned) to remain horizontal with respect to the screen.
(2) Text will be written perpendicular to the Enums.LabelTextLayoutStraight text layout.
(3) Text will be written along a straight line, following the point positioning angle or at a tangent to the line feature. An angle for placement and orientation will be calculated for each label if the "labelAngleInfo" json property for the LabelDefinition has been specified.
Centered point labels will stay centered on the point feature, but will be rotated to the angle (or horizontal, if none has been defined).
Offset point labels will be positioned around the point feature, at the position specified by the angle. The text will lie along this angle, so that it stretches radially from the edge of the point feature.
Note that if a label has an angle of zero then its text will be drawn horizontally with respect to the map. If the map is rotated within the screen, the text will rotate with the map.
Line labels will be positioned as usual, but then rotated (around their midpoint) to lie on a straight line at a tangent to the line geometry at that point.
(4) Text will bend to follow a curved or multi-segment line feature. Individual characters will be angled to follow the changes in angle of the line geometry. If the text overruns the beginning or end of the line geometry, then the remaining characters will be laid out in a straight line extrapolated from the last geometry segment.