SymbolLayerDescriptor

data class SymbolLayerDescriptor(var id: String, var source: String, var sourceLayer: String? = null, var paint: SymbolLayerPaint = SymbolLayerPaint( icon = IconPaint(), text = emptyList() ), var filter: Expression? = null, var stencilOnly: Boolean = false) : VectorLayerDescriptor<SymbolLayerPaint> , LayerEventEmitter

Descriptor for a Mapbox symbol layer using SymbolLayerPaint: icons, text labels, and optional fill/stroke.

Use after the backing source is registered (com.xweather.mapsgl.map.MapController.addSource). Typical sources are vector tiles with a named sourceLayer; GeoJSON point/line data can use null on sourceLayer when the style does not target a specific MVT layer.

For gridded encoded products (spacing, SamplePaint, etc.), use GridLayerDescriptor with GridLayerPaint instead—this type stays Mapbox-style-only so paint is not confused with grid sidecar fields.

See also

Constructors

Link copied to clipboard
constructor(id: String, source: String, sourceLayer: String? = null, paint: SymbolLayerPaint = SymbolLayerPaint( icon = IconPaint(), text = emptyList() ), filter: Expression? = null, stencilOnly: Boolean = false)

Properties

Link copied to clipboard
open override var filter: Expression?

Optional Mapbox filter.

Link copied to clipboard
open override var id: String

Unique layer id.

Link copied to clipboard
open override var paint: SymbolLayerPaint

Icon, text, and optional fill/stroke configuration.

Link copied to clipboard
open override var source: String

Vector or GeoJSON source id.

Link copied to clipboard
open override var sourceLayer: String?

MVT layer name, or null for GeoJSON when applicable.

Link copied to clipboard
open override var stencilOnly: Boolean

When true, MapsGL does not register a Mapbox fill / line / circle / symbol / heatmap style layer. The com.xweather.mapsgl.layers.tile.VectorTileLayer still exists for tile/GeoJSON consumers, MVT fetch (e.g. com.xweather.mapsgl.map.mapbox.GlStencilCustomMaskCoordinator), and GLES stencil mesh build in com.xweather.mapsgl.renderers.TileLayerRenderer — only screen drawing via Mapbox paint is skipped.

Link copied to clipboard
open override val type: LayerType

Functions

Link copied to clipboard
open override fun off(eventName: String)
Link copied to clipboard
open override fun on(eventName: String, callback: (Any?) -> Unit)
Link copied to clipboard
open override fun trigger(eventName: String, data: Any?)