Symbol Layer
An icon or a text label.
See also
Parameters
the ID of the layer
the ID of the source
Constructors
Types
Functions
Bind the layer to the Style.
Bind the layer to the map controller.
A filter is a property at the layer level that determines which features should be rendered in a style layer.
If true, the icon will be visible even if it collides with other previously drawn symbols. Default value: false.
Part of the icon placed closest to the anchor. Default value: "center".
The color of the icon. This can only be used with /help/troubleshooting/using-recolorable-images-in-mapbox-maps/. Default value: "#000000".
Increase or reduce the saturation of the symbol icon. Default value: 0. Value range: -1, 1
Set the IconColorSaturation property transition options
DSL for iconColorSaturationTransition.
Set the IconColor property transition options
DSL for iconColorTransition.
Controls the intensity of light emitted on the source features. Default value: 1. Minimum value: 0.
Set the IconEmissiveStrength property transition options
DSL for iconEmissiveStrengthTransition.
Fade out the halo towards the outside. Default value: 0. Minimum value: 0.
Set the IconHaloBlur property transition options
DSL for iconHaloBlurTransition.
The color of the icon's halo. Icon halos can only be used with /help/troubleshooting/using-recolorable-images-in-mapbox-maps/. Default value: "rgba(0, 0, 0, 0)".
Set the IconHaloColor property transition options
DSL for iconHaloColorTransition.
Distance of halo to the icon outline. Default value: 0. Minimum value: 0.
Set the IconHaloWidth property transition options
DSL for iconHaloWidthTransition.
If true, other symbols can be visible even if they collide with the icon. Default value: false.
Name of image in sprite to use for drawing an image background.
Controls the transition progress between the image variants of icon-image. Zero means the first variant is used, one is the second, and in between they are blended together. Default value: 0. Value range: 0, 1
Set the IconImageCrossFade property transition options
DSL for iconImageCrossFadeTransition.
If true, the icon may be flipped to prevent it from being rendered upside-down. Default value: false.
The opacity at which the icon will be drawn in case of being depth occluded. Not supported on globe zoom levels. Default value: 1. Value range: 0, 1
Set the IconOcclusionOpacity property transition options
DSL for iconOcclusionOpacityTransition.
Offset distance of icon from its anchor. Positive values indicate right and down, while negative values indicate left and up. Each component is multiplied by the value of icon-size
to obtain the final offset in pixels. When combined with icon-rotate
the offset will be as if the rotated direction was up. Default value: 0,0.
The opacity at which the icon will be drawn. Default value: 1. Value range: 0, 1
Set the IconOpacity property transition options
DSL for iconOpacityTransition.
If true, text will display without their corresponding icons when the icon collides with other symbols and the text does not. Default value: false.
Size of the additional area around the icon bounding box used for detecting symbol collisions. Default value: 2. Minimum value: 0.
Orientation of icon when map is pitched. Default value: "auto".
Rotates the icon clockwise. Default value: 0.
In combination with symbol-placement
, determines the rotation behavior of icons. Default value: "auto".
Scales the original size of the icon by the provided factor. The new pixel size of the image will be the original pixel size multiplied by icon-size
. 1 is the original size; 3 triples the size of the image. Default value: 1. Minimum value: 0.
Scales the icon to fit around the associated text. Default value: "none".
Size of the additional area added to dimensions determined by icon-text-fit
, in clockwise order: top, right, bottom, left. Default value: 0,0,0,0.
Distance that the icon's anchor is moved from its original placement. Positive values indicate right and down, while negative values indicate left and up. Default value: 0,0.
Controls the frame of reference for icon-translate
. Default value: "map".
Set the IconTranslate property transition options
DSL for iconTranslateTransition.
The maximum zoom level for the layer. At zoom levels equal to or greater than the maxzoom, the layer will be hidden.
The minimum zoom level for the layer. At zoom levels less than the minzoom, the layer will be hidden.
The slot this layer is assigned to. If specified, and a slot with that name exists, it will be placed at that position in the layer order.
A source layer is an individual layer of data within a vector source. A vector source can have multiple source layers.
If true, the symbols will not cross tile edges to avoid mutual collisions. Recommended in layers that don't have enough padding in the vector tile to prevent collisions, or if it is a point symbol layer placed after a line symbol layer. When using a client that supports global collision detection, like Mapbox GL JS version 0.42.0 or greater, enabling this property is not needed to prevent clipped labels at tile boundaries. Default value: false.
Label placement relative to its geometry. Default value: "point".
Sorts features in ascending order based on this value. Features with lower sort keys are drawn and placed first. When icon-allow-overlap
or text-allow-overlap
is false
, features with a lower sort key will have priority during placement. When icon-allow-overlap
or text-allow-overlap
is set to true
, features with a higher sort key will overlap over features with a lower sort key.
Distance between two symbol anchors. Default value: 250. Minimum value: 1.
Position symbol on buildings (both fill extrusions and models) rooftops. In order to have minimal impact on performance, this is supported only when fill-extrusion-height
is not zoom-dependent and remains unchanged. For fading in buildings when zooming in, fill-extrusion-vertical-scale should be used and symbols would raise with building rooftops. Symbols are sorted by elevation, except in cases when viewport-y
sorting or symbol-sort-key
are applied. Default value: false.
Determines whether overlapping symbols in the same layer are rendered in the order that they appear in the data source or by their y-position relative to the viewport. To control the order and prioritization of symbols otherwise, use symbol-sort-key
. Default value: "auto".
If true, the text will be visible even if it collides with other previously drawn symbols. Default value: false.
Part of the text placed closest to the anchor. Default value: "center".
The color with which the text will be drawn. Default value: "#000000".
Set the TextColor property transition options
DSL for textColorTransition.
Controls the intensity of light emitted on the source features. Default value: 1. Minimum value: 0.
Set the TextEmissiveStrength property transition options
DSL for textEmissiveStrengthTransition.
Value to use for a text label. If a plain string
is provided, it will be treated as a formatted
with default/inherited formatting options. SDF images are not supported in formatted text and will be ignored. Default value: "".
DSL for construct Formatted textField.
Font stack to use for displaying text.
The halo's fadeout distance towards the outside. Default value: 0. Minimum value: 0.
Set the TextHaloBlur property transition options
DSL for textHaloBlurTransition.
The color of the text's halo, which helps it stand out from backgrounds. Default value: "rgba(0, 0, 0, 0)".
Set the TextHaloColor property transition options
DSL for textHaloColorTransition.
Distance of halo to the font outline. Max text halo width is 1/4 of the font-size. Default value: 0. Minimum value: 0.
Set the TextHaloWidth property transition options
DSL for textHaloWidthTransition.
If true, other symbols can be visible even if they collide with the text. Default value: false.
Text justification options. Default value: "center".
If true, the text may be flipped vertically to prevent it from being rendered upside-down. Default value: true.
Text tracking amount. Default value: 0.
Text leading value for multi-line text. Default value: 1.2.
Maximum angle change between adjacent characters. Default value: 45.
The maximum line width for text wrapping. Default value: 10. Minimum value: 0.
The opacity at which the text will be drawn in case of being depth occluded. Not supported on globe zoom levels. Default value: 1. Value range: 0, 1
Set the TextOcclusionOpacity property transition options
DSL for textOcclusionOpacityTransition.
Offset distance of text from its anchor. Positive values indicate right and down, while negative values indicate left and up. If used with text-variable-anchor, input values will be taken as absolute values. Offsets along the x- and y-axis will be applied automatically based on the anchor position. Default value: 0,0.
The opacity at which the text will be drawn. Default value: 1. Value range: 0, 1
Set the TextOpacity property transition options
DSL for textOpacityTransition.
If true, icons will display without their corresponding text when the text collides with other symbols and the icon does not. Default value: false.
Size of the additional area around the text bounding box used for detecting symbol collisions. Default value: 2. Minimum value: 0.
Orientation of text when map is pitched. Default value: "auto".
Radial offset of text, in the direction of the symbol's anchor. Useful in combination with text-variable-anchor
, which defaults to using the two-dimensional text-offset
if present. Default value: 0.
Rotates the text clockwise. Default value: 0.
In combination with symbol-placement
, determines the rotation behavior of the individual glyphs forming the text. Default value: "auto".
Font size. Default value: 16. Minimum value: 0.
Specifies how to capitalize text, similar to the CSS text-transform
property. Default value: "none".
Distance that the text's anchor is moved from its original placement. Positive values indicate right and down, while negative values indicate left and up. Default value: 0,0.
Controls the frame of reference for text-translate
. Default value: "map".
Set the TextTranslate property transition options
DSL for textTranslateTransition.
To increase the chance of placing high-priority labels on the map, you can provide an array of text-anchor
locations: the renderer will attempt to place the label at each location, in order, before moving onto the next label. Use text-justify: auto
to choose justification based on anchor position. To apply an offset, use the text-radial-offset
or the two-dimensional text-offset
.
The property allows control over a symbol's orientation. Note that the property values act as a hint, so that a symbol whose language doesn’t support the provided orientation will be laid out in its natural orientation. Example: English point symbol will be rendered horizontally even if array value contains single 'vertical' enum value. For symbol with point placement, the order of elements in an array define priority order for the placement of an orientation variant. For symbol with line placement, the default text writing mode is either 'horizontal', 'vertical' or 'vertical', 'horizontal', the order doesn't affect the placement.
Whether this layer is displayed.
Properties
Offset distance of icon from its anchor. Positive values indicate right and down, while negative values indicate left and up. Each component is multiplied by the value of icon-size
to obtain the final offset in pixels. When combined with icon-rotate
the offset will be as if the rotated direction was up. Default value: 0,0.
Offset distance of icon from its anchor. Positive values indicate right and down, while negative values indicate left and up. Each component is multiplied by the value of icon-size
to obtain the final offset in pixels. When combined with icon-rotate
the offset will be as if the rotated direction was up. Default value: 0,0.
If true, the symbols will not cross tile edges to avoid mutual collisions. Recommended in layers that don't have enough padding in the vector tile to prevent collisions, or if it is a point symbol layer placed after a line symbol layer. When using a client that supports global collision detection, like Mapbox GL JS version 0.42.0 or greater, enabling this property is not needed to prevent clipped labels at tile boundaries. Default value: false.
If true, the symbols will not cross tile edges to avoid mutual collisions. Recommended in layers that don't have enough padding in the vector tile to prevent collisions, or if it is a point symbol layer placed after a line symbol layer. When using a client that supports global collision detection, like Mapbox GL JS version 0.42.0 or greater, enabling this property is not needed to prevent clipped labels at tile boundaries. Default value: false.
Sorts features in ascending order based on this value. Features with lower sort keys are drawn and placed first. When icon-allow-overlap
or text-allow-overlap
is false
, features with a lower sort key will have priority during placement. When icon-allow-overlap
or text-allow-overlap
is set to true
, features with a higher sort key will overlap over features with a lower sort key.
Sorts features in ascending order based on this value. Features with lower sort keys are drawn and placed first. When icon-allow-overlap
or text-allow-overlap
is false
, features with a lower sort key will have priority during placement. When icon-allow-overlap
or text-allow-overlap
is set to true
, features with a higher sort key will overlap over features with a lower sort key.
Position symbol on buildings (both fill extrusions and models) rooftops. In order to have minimal impact on performance, this is supported only when fill-extrusion-height
is not zoom-dependent and remains unchanged. For fading in buildings when zooming in, fill-extrusion-vertical-scale should be used and symbols would raise with building rooftops. Symbols are sorted by elevation, except in cases when viewport-y
sorting or symbol-sort-key
are applied. Default value: false.
Position symbol on buildings (both fill extrusions and models) rooftops. In order to have minimal impact on performance, this is supported only when fill-extrusion-height
is not zoom-dependent and remains unchanged. For fading in buildings when zooming in, fill-extrusion-vertical-scale should be used and symbols would raise with building rooftops. Symbols are sorted by elevation, except in cases when viewport-y
sorting or symbol-sort-key
are applied. Default value: false.
Offset distance of text from its anchor. Positive values indicate right and down, while negative values indicate left and up. If used with text-variable-anchor, input values will be taken as absolute values. Offsets along the x- and y-axis will be applied automatically based on the anchor position. Default value: 0,0.
Offset distance of text from its anchor. Positive values indicate right and down, while negative values indicate left and up. If used with text-variable-anchor, input values will be taken as absolute values. Offsets along the x- and y-axis will be applied automatically based on the anchor position. Default value: 0,0.
To increase the chance of placing high-priority labels on the map, you can provide an array of text-anchor
locations: the renderer will attempt to place the label at each location, in order, before moving onto the next label. Use text-justify: auto
to choose justification based on anchor position. To apply an offset, use the text-radial-offset
or the two-dimensional text-offset
.
To increase the chance of placing high-priority labels on the map, you can provide an array of text-anchor
locations: the renderer will attempt to place the label at each location, in order, before moving onto the next label. Use text-justify: auto
to choose justification based on anchor position. To apply an offset, use the text-radial-offset
or the two-dimensional text-offset
.
The property allows control over a symbol's orientation. Note that the property values act as a hint, so that a symbol whose language doesn’t support the provided orientation will be laid out in its natural orientation. Example: English point symbol will be rendered horizontally even if array value contains single 'vertical' enum value. For symbol with point placement, the order of elements in an array define priority order for the placement of an orientation variant. For symbol with line placement, the default text writing mode is either 'horizontal', 'vertical' or 'vertical', 'horizontal', the order doesn't affect the placement.
The property allows control over a symbol's orientation. Note that the property values act as a hint, so that a symbol whose language doesn’t support the provided orientation will be laid out in its natural orientation. Example: English point symbol will be rendered horizontally even if array value contains single 'vertical' enum value. For symbol with point placement, the order of elements in an array define priority order for the placement of an orientation variant. For symbol with line placement, the default text writing mode is either 'horizontal', 'vertical' or 'vertical', 'horizontal', the order doesn't affect the placement.