Skip to main content

Interface: VisualizationLayer

Defined in: spec/types.ts:263

Properties

activeLegendId?

optional activeLegendId?: string

Defined in: spec/types.ts:276

Id of the currently active legend from legends[].


click?

optional click?: LayerClickConfig

Defined in: spec/types.ts:335

Spec-driven click reaction. When present, <GeoVisProvider> invokes click.onSelect for features clicked on this layer — without the consumer placing a component or calling useGeoVisClick() in the tree. Declaring click also opts the layer into click tracking, so activeLegendId is not required. Typed via a type-only import so the data-only spec layer keeps no runtime dependency on React (mirrors hoverTooltip).


clickAnchor?

optional clickAnchor?: object

Defined in: spec/types.ts:300

Spec-driven click marker. When present, geovis automatically places a visual indicator on the clicked feature without requiring a <GeoVisMarker> component. Three rendering modes — see field descriptions.

color?

optional color?: string

Accent colour for the built-in SVG pin. Applied when iconImage is not set. Default: '#3FB1CE'. For a custom HTML/React element, use <GeoVisMarker> instead.

iconImage?

optional iconImage?: string

MapLibre sprite icon name. Renders a feature-state-driven companion symbol layer at the polygon label point.

iconSize?

optional iconSize?: number

Scale factor for the sprite icon. Default: 1.

offset?

optional offset?: [number, number]

Pixel offset [x, y] applied to the DOM marker.


filter?

optional filter?: LayerFilter

Defined in: spec/types.ts:360

Declarative predicate that hides features not matching it, compiled to the engine's native filter expression (dispatch({ type: 'set-filter' }), PRD-002). Reads feature.properties[property] — the same direct-access path propertyName uses above, not the mapData-joined feature-state value. Gated by CapabilitySet.dataFeatures.filter per source type.


geometry

geometry: GeoVisGeometryType

Defined in: spec/types.ts:266


hoverPaint?

optional hoverPaint?: object

Defined in: spec/types.ts:288

Paint applied via MapLibre setFeatureState({ hover: true }) when the pointer enters a feature. When present, the adapter adds a companion line layer (<id>-hover-outline) driven by feature-state expressions.

lineColor?

optional lineColor?: string

lineWidth?

optional lineWidth?: number


hoverTooltip?

optional hoverTooltip?: HoverTooltipConfig

Defined in: spec/types.ts:326

Spec-driven hover tooltip. When present, <GeoVisProvider> automatically renders a <GeoVisHoverTooltip> for features hovered on this layer — without requiring the component to be placed in the tree. Mirrors GeoVisHoverTooltipProps (render, formatValue, style, offset, emptyValueLabel, className). An empty object ({}) opts in to the default tooltip layout. Typed via a type-only import so the data-only spec layer keeps no runtime dependency on React.


id

id: string

Defined in: spec/types.ts:264


legends?

optional legends?: LegendSpec[]

Defined in: spec/types.ts:274

Optional alternative legend definitions presented as runtime toggles.


mapDataId?

optional mapDataId?: string

Defined in: spec/types.ts:282

Optional reference to an entry in spec.mapData. When present, the layer can be styled/queried by per-feature values coming from the dataset (joined via feature.id or mapData.joinKey).


maxzoom?

optional maxzoom?: number

Defined in: spec/types.ts:271


minzoom?

optional minzoom?: number

Defined in: spec/types.ts:270


paint?

optional paint?: LayerPaint

Defined in: spec/types.ts:272


propertyName?

optional propertyName?: string

Defined in: spec/types.ts:352

GeoJSON feature property name for direct data access without mapData.

When set (and mapDataId is absent), the proportional circles expression reads values directly from feature.properties[propertyName] via MapLibre's ['get', propertyName] syntax — no feature-state join needed.

When mapDataId is also set, this field is ignored in favour of the standard feature-state resolution.


selectedPaint?

optional selectedPaint?: object

Defined in: spec/types.ts:294

Paint applied via MapLibre setFeatureState({ selected: true }) when a feature is clicked. When present, the adapter adds a companion line layer (<id>-selected-outline) driven by feature-state expressions.

lineColor?

optional lineColor?: string

lineWidth?

optional lineWidth?: number


sizeBy?

optional sizeBy?: SizeBy

Defined in: spec/types.ts:341

Proportional symbol configuration. When present on a point layer, circle-radius is driven by a data expression instead of a static value. Ignored on non-point geometries.


sourceId

sourceId: string

Defined in: spec/types.ts:265


sourceLayer?

optional sourceLayer?: string

Defined in: spec/types.ts:267


title?

optional title?: string

Defined in: spec/types.ts:268


visible?

optional visible?: boolean

Defined in: spec/types.ts:269