Skip to content

MLMap

Defined in: packages/core/src/components/ml-map.ts:154

MLMap custom element for rendering MapLibre maps from YAML/JSON configuration.

Dispatched on the element as CustomEvents; listen with addEventListener.

EventWhen
ml-map:loadMap loaded and ready for interaction
ml-map:errorError during initialization or runtime
ml-map:loadingLoading configuration from URL
ml-map:layer-addedLayer was added to the map
ml-map:layer-removedLayer was removed from the map
ml-map:layer-data-loadingLayer data is being fetched
ml-map:layer-data-loadedLayer data loaded successfully
ml-map:layer-data-errorLayer data failed to load
ml-map:layer-clickUser clicked on a layer feature
ml-map:layer-hoverUser hovered over a layer feature
ml-map:markers-addedStandalone markers: pins were added
ml-map:marker-clickUser clicked a standalone marker
ml-map:marker-icon-errorA marker icon failed (unsafe scheme or load error); the default pin was substituted
ml-map:image-errorA declared images: entry failed (unsafe scheme, load or register error)
ml-map:parameter-changeA params-panel control wrote a state key
ml-map:layer-visibilityA params-panel checkbox toggled a layer
ml-map:camera-fitThe fitTo camera framed its source’s data (detail: source, bounds)
  • HTMLElement

new MLMap(): MLMap

Defined in: node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts:13847

MLMap

HTMLElement.constructor

get config(): {[key: string]: any; } | null

Defined in: packages/core/src/components/ml-map.ts:224

Get the current map configuration

{[key: string]: any; } | null

set config(value): void

Defined in: packages/core/src/components/ml-map.ts:239

Set the map configuration programmatically.

Accepts a MapBlock object or its JSON string; both are validated like every other config path, whether assigned before or after the element connects. Assigning a value that is JSON-equal to the config currently applied is a no-op, so a framework re-binding an equal object does not rebuild the map. Assigning null clears the stored config without touching a rendered map.

ParameterType
valuestring | {[key: string]: any; } | null

void


get static observedAttributes(): string[]

Defined in: packages/core/src/components/ml-map.ts:217

Observed attributes that trigger attributeChangedCallback

string[]

addEventListener<K>(type, listener, options?): void

Defined in: packages/core/src/components/ml-map.ts:1360

Type Parameter
K extends keyof MLMapEventMap
ParameterType
typeK
listener(this, event) => unknown
options?boolean | AddEventListenerOptions

void

HTMLElement.addEventListener

addEventListener<K>(type, listener, options?): void

Defined in: packages/core/src/components/ml-map.ts:1365

Type Parameter
K extends keyof HTMLElementEventMap
ParameterType
typeK
listener(this, event) => unknown
options?boolean | AddEventListenerOptions

void

HTMLElement.addEventListener

addEventListener(type, listener, options?): void

Defined in: packages/core/src/components/ml-map.ts:1370

ParameterType
typestring
listenerEventListenerOrEventListenerObject
options?boolean | AddEventListenerOptions

void

HTMLElement.addEventListener


addLayer(layer): Promise<void>

Defined in: packages/core/src/components/ml-map.ts:1302

Add a layer to the map

ParameterTypeDescription
layeranyLayer configuration object

Promise<void>

Promise that resolves when the layer is added

await mapEl.addLayer({
id: 'new-layer',
type: 'circle',
source: {
type: 'geojson',
data: { type: 'FeatureCollection', features: [] }
},
paint: { 'circle-radius': 6, 'circle-color': '#ff0000' }
});

attributeChangedCallback(name, oldValue, newValue): void

Defined in: packages/core/src/components/ml-map.ts:348

Called when an observed attribute changes

ParameterType
namestring
oldValuestring | null
newValuestring | null

void


connectedCallback(): void

Defined in: packages/core/src/components/ml-map.ts:306

Called when the element is added to the DOM

void


disconnectedCallback(): void

Defined in: packages/core/src/components/ml-map.ts:341

Called when the element is removed from the DOM

void


getMap(): maplibregl.Map | null

Defined in: packages/core/src/components/ml-map.ts:1191

Get the underlying MapLibre GL map instance

maplibregl.Map | null

The MapLibre GL map instance, or null if not initialized

MLMap.mapReady — the promise form; resolves once loaded and removes the need for the load-listener + null-guard shown below.

const mapEl = document.querySelector('ml-map');
mapEl.addEventListener('ml-map:load', () => {
const map = mapEl.getMap();
map.flyTo({ center: [-122.4, 37.8], zoom: 14 });
});

getRenderer(): MapRenderer | null

Defined in: packages/core/src/components/ml-map.ts:1270

Get the MapRenderer instance

MapRenderer | null

The MapRenderer instance, or null if not initialized


isLoaded(): boolean

Defined in: packages/core/src/components/ml-map.ts:1279

Check if the map is loaded

boolean

True if the map has finished loading


mapReady(): Promise<maplibregl.Map>

Defined in: packages/core/src/components/ml-map.ts:1211

Resolve with the underlying MapLibre map once the document has loaded.

Promise<maplibregl.Map>

The readiness idiom (R3): replaces the ml-map:load listener + getMap() null-guard boilerplate every page-code snippet needed. Resolves immediately when the map is already loaded; otherwise resolves on the next ml-map:load and rejects on ml-map:error (config parse failure, renderer construction failure, or a runtime map error).

const map = await document.querySelector('ml-map').mapReady();
map.flyTo({ center: [-122.4, 37.8], zoom: 14 });

reload(): Promise<void>

Defined in: packages/core/src/components/ml-map.ts:1340

Reload configuration from the current source

Promise<void>

Promise that resolves when reload is complete


removeEventListener<K>(type, listener, options?): void

Defined in: packages/core/src/components/ml-map.ts:1375

Type Parameter
K extends keyof MLMapEventMap
ParameterType
typeK
listener(this, event) => unknown
options?boolean | EventListenerOptions

void

HTMLElement.removeEventListener

removeEventListener<K>(type, listener, options?): void

Defined in: packages/core/src/components/ml-map.ts:1380

Type Parameter
K extends keyof HTMLElementEventMap
ParameterType
typeK
listener(this, event) => unknown
options?boolean | EventListenerOptions

void

HTMLElement.removeEventListener

removeEventListener(type, listener, options?): void

Defined in: packages/core/src/components/ml-map.ts:1385

ParameterType
typestring
listenerEventListenerOrEventListenerObject
options?boolean | EventListenerOptions

void

HTMLElement.removeEventListener


removeLayer(layerId): void

Defined in: packages/core/src/components/ml-map.ts:1311

Remove a layer from the map

ParameterTypeDescription
layerIdstringID of the layer to remove

void


setLayerVisibility(layerId, visible): void

Defined in: packages/core/src/components/ml-map.ts:1321

Set layer visibility

ParameterTypeDescription
layerIdstringID of the layer
visiblebooleanWhether the layer should be visible

void


updateLayerData(layerId, data): void

Defined in: packages/core/src/components/ml-map.ts:1331

Update layer data

ParameterTypeDescription
layerIdstringID of the layer
dataGeoJSONNew GeoJSON data

void