Skip to main content

Appearances

The appearances layer property defines sets of appearance objects used to quickly change the visual styling of a layer based on a condition. Each appearance object can specify a set of paint and layout property values, allowing for dynamic styling of layers based on application state or user interactions.

{
"id": "some-layer",
"type": "symbol",
...
"appearances": [
{
"name": "selected",
"condition": ["feature-state", "select"],
"properties": {
"icon-image": ["image", "poi", {"params": {"fill": "red"}}],
"icon-size": 1.3
}
},
{
"name": "invisible",
"condition": ["feature-state", "invisible"],
"properties": {
"icon-opacity": 0
}
}
]
}

Paint and Layout properties compatible with appearances

icon-image

Optional resolvedImage . paletteWorks with appearances.

Name of image in sprite to use for drawing an image background.

SDK SupportMapbox GL JSAndroid SDKiOS SDK

basic functionality

>= 0.10.0>= 2.0.1>= 2.0.0

data-driven styling

>= 0.35.0>= 5.1.0>= 3.6.0

icon-offset

Optional array of numbers . Defaults to [0,0]. Requires icon-image. Supports smooth-rampinterpolateexpressions. paletteWorks with appearances.

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.

SDK SupportMapbox GL JSAndroid SDKiOS SDK

basic functionality

>= 0.10.0>= 2.0.1>= 2.0.0

data-driven styling

>= 0.29.0>= 5.0.0>= 3.5.0

icon-rotate

Optional number . Units in degrees. Defaults to 0. Requires icon-image. Supports smooth-rampinterpolateexpressions. paletteWorks with appearances.

Rotates the icon clockwise.

SDK SupportMapbox GL JSAndroid SDKiOS SDK

basic functionality

>= 0.10.0>= 2.0.1>= 2.0.0

data-driven styling

>= 0.21.0>= 5.0.0>= 3.5.0

icon-size

Optional number greater than or equal to 0. Units in factor of the original icon size. Defaults to 1. Requires icon-image. Supports smooth-rampinterpolateexpressions. paletteWorks with appearances.

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.

SDK SupportMapbox GL JSAndroid SDKiOS SDK

basic functionality

>= 0.10.0>= 2.0.1>= 2.0.0

data-driven styling

>= 0.35.0>= 5.1.0>= 3.6.0
Was this page helpful?