Circle Layer Descriptor
Descriptor for a Mapbox circle layer: points rendered as filled disks with optional stroke, driven by a vector or GeoJSON source.
Register the backing source first (com.xweather.mapsgl.map.MapController.addSource), then add this layer with com.xweather.mapsgl.map.MapController.addLayer. The layer is implemented as a VectorTileLayer over Mapbox’s native circle layer.
Sources
Vector tile source (com.xweather.mapsgl.sources.source.spec.VectorSourceDescriptor): set sourceLayer to the MVT layer name. filter may narrow features.
GeoJSON source (com.xweather.mapsgl.sources.source.spec.GeoJSONSourceDescriptor): set sourceLayer to
null; the whole com.mapbox.geojson.FeatureCollection is used (see product examples such as earthquakes).
Paint is held in paint (CircleLayerPaint): fill color, stroke, and circle radius map to Mapbox circle-color, circle-radius, circle-stroke-*, etc. Use com.xweather.mapsgl.style.StyleValue and Expression for data-driven styling (e.g. magnitude-based radius).
Stacking: the beforeID argument to com.xweather.mapsgl.map.MapController.addLayer controls insertion order relative to existing style layers (see that method’s KDoc).
See also
Constructors
Properties
Optional Mapbox filter expression; combined with source-layer filtering when sourceLayer is set.
JS-style mask shorthand (mask: { layerIds: [...] }). Resolved to stencilLayerMask when stencilLayerMask is unset. Apple's maskConfiguration maps here / to stencilLayerMask.
Single mask layer id shorthand. Lowest precedence among mask fields.
List of mask layer ids (JS mask.layerIds). Lower precedence than layerMask.
Circle fill, stroke, and geometry styling converted to Mapbox style JSON.
For vector tiles, the source layer name inside the MVT; for GeoJSON-only sources, use null.
Advanced custom stencil mask. Takes precedence over layerMask / maskLayerIds / maskLayerId.
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.
Optional per-layer timing (Apple timing). When non-null, com.xweather.mapsgl.map.MapController.addLayer copies these fields onto the created com.xweather.mapsgl.layers.tile.TileLayer.timing. Null keeps the layer's existing defaults (time-series sources may still enable interval mode).
When true, eligible fill/line/circle/symbol layers draw via MapsGL GLES instead of Mapbox style layers. MVT sources use com.xweather.mapsgl.renderers.VectorFillLayerRenderer / com.xweather.mapsgl.renderers.VectorLineLayerRenderer / etc. GeoJSON fill, line, circle, symbol, and heatmap layers also support GLES when this flag is set.