Skip to content

Latest commit

 

History

History
672 lines (495 loc) · 39.5 KB

config-reference.md

File metadata and controls

672 lines (495 loc) · 39.5 KB

map0 config reference

Generated from packages/schema/v1.json by scripts/config-reference.mjs — do not edit this file. Improve a text in the schema's description, then run pnpm docs:reference; config-reference.test.ts fails while this page is stale. The concept, an annotated example and the layer-type matrix are in 04-configuration.md.

One JSON document per map: basemaps, layer tree, controls, popups, search, print, theming, i18n. Only "version" and one basemap are required — everything else has documented defaults. https://map0.net

Schema: https://map0.net/schema/v1.json · config format version 1. Every key is optional unless marked required; the third column shows the default a missing key gets. Objects reject unknown keys in the schema (that is the editor squiggle) — the runtime validator only warns about them, so a config written for a newer map0 still opens. The schema checks structure; the runtime validator additionally enforces the https-URL policy, id uniqueness and cross-field rules. Types read as follows: T[] and "array of X" are arrays, a or b accepts either shape, "a" · "b" is one of the listed values, { "…": T } is an object with arbitrary keys and T values.

Contents

Top level

Key Type Required · default Description
$schema string — URL of this JSON Schema — enables autocomplete and validation in editors. Not read by map0.
version 1 required config format major version — map0 1.x reads version 1
extends string — URL of a base config to inherit (org-wide basemaps, theme, …). Local keys win; objects merge recursively, arrays replace as a whole. Chains up to depth 3. A config with "extends" may leave out "basemaps" when the base provides them.
meta meta — title/description of the map — used in the print header and as the accessible label
map map — initial view and view constraints
basemaps array of basemap (at least 1) required unless extends is set exclusive background layers — exactly one is active at a time; at least one is required
layers array of layer — overlay tree (groups + layers) — top of the list = top of the map; runtime-added layers go above all of them
controls controls — which UI controls exist and where — every control has a sensible default; set one to false to remove it
search search — type-ahead geocoding search box — present in the UI once this key exists
print print — what the print & export dialog offers — the dialog itself is toggled by "controls.print"
theme theme — design tokens for the UI
i18n i18n — language of the UI
permalink boolean or permalink options false shareable map state in the URL hash (view, basemap, layer states, user-added layers) — opt-in; true uses the parameter name "map0". Two viewers on one page need different "param" values.

meta

Used by: Top level meta

title/description of the map — used in the print header and as the accessible label

Key Type Required · default Description
title string — map title (print header, aria-label)
description string — short description of the map

map

Used by: Top level map

initial view and view constraints

Key Type Required · default Description
center [number, number] — initial center as [longitude, latitude] (WGS84)
zoom number (0–24) — initial zoom level (0–24)
bounds number[] (4 items) — initial view as [west, south, east, north] (WGS84) — wins over center/zoom when set
minZoom number (0–24) — the user cannot zoom out beyond this level
maxZoom number (0–24) — the user cannot zoom in beyond this level
maxBounds number[] (4 items) — pan constraint as [west, south, east, north] (WGS84)
bearing number (−360 to 360) — initial rotation in degrees
pitch number (0–85) — initial tilt in degrees
projection "mercator" · "globe" "mercator" initial projection — the globe control lets users toggle at runtime
hash boolean false opt-in URL-hash view sync — superseded by the top-level "permalink" key
cooperativeGestures boolean false gestures need a modifier: Ctrl/⌘ + scroll to zoom, two fingers to pan — so a map embedded in a scrolling page does not trap one-finger scrolling

basemap

Used by: Top level basemaps

an exclusive background layer

Key Type Required · default Description
id string (non-empty) — stable id — one namespace with layer ids (permalink and the JS API address both by id); generated from the title when omitted
title string — label in the basemap switcher
type "style" · "raster" · "empty" required "style": MapLibre style JSON (vector basemap) · "raster": XYZ/WMTS-REST tile template · "empty": no background
url string required unless type is "empty" style: MapLibre style URL · raster: tile template with {z}/{x}/{y} placeholders. https required on https pages.
tileSize number (1–4096) 256 raster tile size in px
minZoom number (0–24) — raster: lowest zoom level the tile source provides — zoomed out further, no tiles are requested and only the background colour shows
maxZoom number (0–24) — raster: highest zoom level the tile source provides — zooming in further scales that level instead of requesting tiles that do not exist
attribution string — attribution line, e.g. "© basemap.at"
thumbnail string — "auto" renders a mini preview, or an image URL
default boolean — start with this basemap (otherwise the first one)

layer

Used by: Top level layers · group layer children

a node of the overlay tree: a group or a layer, discriminated by "type"

type Section Description
"group" group layer a group node in the layer tree
"wms" wms layer OGC WMS layer (tiled GetMap) — "info" enables GetFeatureInfo, "legend": "auto" uses GetLegendGraphic
"wmts" wmts layer OGC WMTS layer, resolved from the service capabilities (image tiles; matrix set, format, bounds and legend are picked automatically)
"wfs" wfs layer OGC WFS layer: features are fetched as GeoJSON via GetFeature (WGS84), paged with count/startIndex on 2.0.0, then rendered exactly like a geojson layer — clustering, popups and hover tooltips work the same
"ogcapi-features" ogcapi-features layer OGC API Features layer: the collection's items are fetched as GeoJSON (WGS84 by default), paged by following the response's "next" links, then rendered exactly like a geojson layer — clustering, popups and hover tooltips work the same
"raster" raster layer raster tile overlay from an XYZ/WMTS-REST template
"cog" cog layer Cloud Optimized GeoTIFF, read straight from storage via HTTP range requests. RGB/grayscale by default; "color" renders a single band through a color ramp, "hillshade" renders a single-band DEM as relief shading. Bounds and zoom range come from the file header.
"geojson" geojson layer GeoJSON overlay — by URL or inline; supports clustering, popups and hover tooltips
"geoparquet" geoparquet layer GeoParquet overlay — the file is downloaded and decoded in the browser (a fraction of the transfer size of the same data as GeoJSON), then rendered exactly like a geojson layer: clustering, popups and hover tooltips work the same. Coordinates in another CRS are reprojected on load — the CRS comes from the file's own geo metadata, or from crs. The decoder loads on demand.
"vector" vector layer vector tile overlay styled client-side with MapLibre style-spec layers

Common layer keys

Keys every layer type accepts (except group, which is a container node). The per-type sections below list only what comes on top.

Key Type Required · default Description
id string (non-empty) — stable id used by permalink, share state and the JS API — one namespace with basemap ids; generated from the title when omitted
title string — label in the layer tree
visible boolean true initially visible
opacity number (0–1) 1 layer opacity, 0–1
minZoom number (0–24) — hide the layer below this zoom (the layer tree shows a zoom-range hint)
maxZoom number (0–24) — hide the layer above this zoom
bounds number[] (4 items) — [west, south, east, north] (WGS84) — enables "zoom to layer"; auto-filled from capabilities where possible
attribution string — attribution shown while the layer is visible
metadata metadata — link to the dataset's metadata record, shown in the layer menu
legend false or string or array of legend entry "auto" "auto" (default): WMS GetLegendGraphic / swatches derived from the style · false: no legend · string: legend image URL · array: explicit entries

group layer

a group node in the layer tree

Key Type Required · default Description
type "group" required node type — a group of layers
title string — group label in the layer tree
collapsed boolean false start collapsed
exclusive boolean false radio group: one child visible at a time — a child group counts as one option; the first child configured visible starts on, the others hidden
children array of layer required nested groups and layers

wms layer

OGC WMS layer (tiled GetMap) — "info" enables GetFeatureInfo, "legend": "auto" uses GetLegendGraphic

All Common layer keys apply. Specific to this type:

Key Type Required · default Description
type "wms" required layer type
url string required WMS endpoint (GetMap base URL)
layers string required WMS LAYERS parameter (comma-separated)
styles string — WMS STYLES parameter
format string — image format, e.g. "image/png"
version "1.1.1" · "1.3.0" — WMS protocol version
transparent boolean — request transparent tiles
tileSize number (1–4096) — request tile size in px
params { "…": string } — extra vendor parameters appended to GetMap/GetFeatureInfo
info false or info (WMS GetFeatureInfo) — presence enables GetFeatureInfo on click — false disables

wmts layer

OGC WMTS layer, resolved from the service capabilities (image tiles; matrix set, format, bounds and legend are picked automatically)

All Common layer keys apply. Specific to this type:

Key Type Required · default Description
type "wmts" required layer type
url string required WMTS GetCapabilities URL (REST or KVP)
layer string required layer identifier from the capabilities
matrixSet string — tile matrix set identifier — default: the first WebMercator-compatible one
style string — style identifier — default: the layer's default style
format string — preferred tile format, e.g. "image/png"

wfs layer

OGC WFS layer: features are fetched as GeoJSON via GetFeature (WGS84), paged with count/startIndex on 2.0.0, then rendered exactly like a geojson layer — clustering, popups and hover tooltips work the same

All Common layer keys apply. Specific to this type:

Key Type Required · default Description
type "wfs" required layer type
url string required WFS endpoint (base URL; existing query params like MapServer map= are kept)
typeNames string required feature type to load — the WFS 2.0 GetFeature parameter, e.g. "ogdwien:TRINKBRUNNENOGD"
version "1.1.0" · "2.0.0" "2.0.0" WFS protocol version — 2.0.0 pages with count/startIndex, 1.1.0 issues one maxFeatures request
outputFormat string "application/json" GeoJSON output format name the server expects — GeoServer and deegree take the default, MapServer wants "geojson"
limit number (1–1000000) 10000 stop after this many features
pageSize number (1–50000) 5000 features per GetFeature request (2.0.0 only)
params { "…": string } — extra vendor parameters appended to every GetFeature (cql_filter, sortBy, …)
style object or array of MapLibre style layer — simplified style: one flat paint-property object (circle-*, line-*, fill-* — applied per geometry type) · full control: an array of MapLibre style-spec layers
cluster boolean or cluster options — cluster point features — true, or an options object. Hovering a cluster bubble shows its feature count, clicking it zooms in until it breaks apart
popup false or popup — popup on feature click — false disables
hover false or hover — short tooltip on hover, e.g. { "content": "{{name}}" } — false disables
promoteId string — feature property to use as the feature id (hover/selection state)

ogcapi-features layer

OGC API Features layer: the collection's items are fetched as GeoJSON (WGS84 by default), paged by following the response's "next" links, then rendered exactly like a geojson layer — clustering, popups and hover tooltips work the same

All Common layer keys apply. Specific to this type:

Key Type Required · default Description
type "ogcapi-features" required layer type
url string required collection URL, e.g. "https://api.example.gv.at/ogc/collections/bezirke" — "/items" is appended if missing
limit number (1–1000000) 10000 stop after this many features
pageSize number (1–50000) 1000 features per request (the "limit" query parameter); paging follows the response's "next" links
params { "…": string } — extra query parameters appended to the first request (bbox, datetime, filter, properties, …)
style object or array of MapLibre style layer — simplified style: one flat paint-property object (circle-*, line-*, fill-* — applied per geometry type) · full control: an array of MapLibre style-spec layers
cluster boolean or cluster options — cluster point features — true, or an options object. Hovering a cluster bubble shows its feature count, clicking it zooms in until it breaks apart
popup false or popup — popup on feature click — false disables
hover false or hover — short tooltip on hover, e.g. { "content": "{{name}}" } — false disables
promoteId string — feature property to use as the feature id (hover/selection state)

raster layer

raster tile overlay from an XYZ/WMTS-REST template

All Common layer keys apply. Specific to this type:

Key Type Required · default Description
type "raster" required layer type
url string required tile template with {z}/{x}/{y} placeholders
tileSize number (1–4096) 256 tile size in px

cog layer

Cloud Optimized GeoTIFF, read straight from storage via HTTP range requests. RGB/grayscale by default; "color" renders a single band through a color ramp, "hillshade" renders a single-band DEM as relief shading. Bounds and zoom range come from the file header.

All Common layer keys apply. Specific to this type:

Key Type Required · default Description
type "cog" required layer type
url string required Cloud Optimized GeoTIFF URL — the file must be in EPSG:3857 (no client-side reprojection) and the server must answer HTTP range requests
color color (COG) — single-band value → color mapping: a built-in ramp ("scheme"/"min"/"max") or an explicit classification ("classes"). The legend derives its swatches from it. Omit for RGB/grayscale imagery. Mutually exclusive with "hillshade".
hillshade boolean or hillshade options — render a single-band DEM as hillshading — true, or an options object; mutually exclusive with "color". Layer opacity scales the exaggeration.

geojson layer

GeoJSON overlay — by URL or inline; supports clustering, popups and hover tooltips

All Common layer keys apply. Specific to this type:

Key Type Required · default Description
type "geojson" required layer type
data string or object required URL of a GeoJSON document, or the GeoJSON inline
style object or array of MapLibre style layer — simplified style: one flat paint-property object (circle-*, line-*, fill-* — applied per geometry type) · full control: an array of MapLibre style-spec layers
cluster boolean or cluster options — cluster point features — true, or an options object. Hovering a cluster bubble shows its feature count, clicking it zooms in until it breaks apart
popup false or popup — popup on feature click — false disables
hover false or hover — short tooltip on hover, e.g. { "content": "{{name}}" } — false disables
promoteId string — feature property to use as the feature id (hover/selection state)
crs string or crs (layer) — CRS of the coordinates when they are not WGS84 — the features are reprojected once on load (proj4). A code the built-in registry knows (EPSG:31254–31256, 31287, 3416, 25832, 25833, 3035, WGS84 UTM 326xx/327xx), or { code, def } with a proj4 definition for anything else

geoparquet layer

GeoParquet overlay — the file is downloaded and decoded in the browser (a fraction of the transfer size of the same data as GeoJSON), then rendered exactly like a geojson layer: clustering, popups and hover tooltips work the same. Coordinates in another CRS are reprojected on load — the CRS comes from the file's own geo metadata, or from crs. The decoder loads on demand.

All Common layer keys apply. Specific to this type:

Key Type Required · default Description
type "geoparquet" required layer type
url string required GeoParquet file URL — the whole file is fetched, so the server needs CORS but no range-request support; a file whose geo metadata names a CRS other than WGS84 is reprojected on load
style object or array of MapLibre style layer — simplified style: one flat paint-property object (circle-*, line-*, fill-* — applied per geometry type) · full control: an array of MapLibre style-spec layers
cluster boolean or cluster options — cluster point features — true, or an options object. Hovering a cluster bubble shows its feature count, clicking it zooms in until it breaks apart
popup false or popup — popup on feature click — false disables
hover false or hover — short tooltip on hover, e.g. { "content": "{{name}}" } — false disables
promoteId string — feature property to use as the feature id (hover/selection state)
crs string or crs (layer) — CRS of the coordinates when they are not WGS84 — the features are reprojected once on load (proj4). A code the built-in registry knows (EPSG:31254–31256, 31287, 3416, 25832, 25833, 3035, WGS84 UTM 326xx/327xx), or { code, def } with a proj4 definition for anything else

vector layer

vector tile overlay styled client-side with MapLibre style-spec layers

All Common layer keys apply. Specific to this type:

Key Type Required · default Description
type "vector" required layer type
url string required TileJSON URL, {z}/{x}/{y} tile template, or pmtiles:// URL
sourceLayer string — name of the source layer inside the tiles
style array of MapLibre style layer required MapLibre style-spec layers — "source"/"source-layer" are injected by map0
popup false or popup — popup on feature click — false disables
hover false or hover — short tooltip on hover, e.g. { "content": "{{name}}" } — false disables

metadata

Used by: Common layer keys metadata

link to the dataset's metadata record, shown in the layer menu

Key Type Required · default Description
url string — URL of the metadata record (catalog entry)
title string — link label

legend entry

Used by: Common layer keys legend

one legend entry — a colored swatch or an image, with a label

Key Type Required · default Description
label string required entry text
color string — CSS color for the swatch
shape "square" · "line" · "circle" "square" swatch shape
image string — image URL instead of a color swatch

popup

Used by: wfs layer popup · ogcapi-features layer popup · geojson layer popup · geoparquet layer popup · vector layer popup

feature popup — templates use {{property}} placeholders and are sanitized before rendering

Key Type Required · default Description
title string — title template, e.g. "{{name}}"
content string — HTML template with {{property}} placeholders (sanitized)
fields array of field — alternative to "content": render the listed properties as a table
maxWidth string — CSS length, e.g. "320px"

info (WMS GetFeatureInfo)

Used by: wms layer info

GetFeatureInfo popup — templates use {{property}} placeholders and are sanitized before rendering

Key Type Required · default Description
title string — title template, e.g. "{{name}}"
content string — HTML template with {{property}} placeholders (sanitized)
fields array of field — alternative to "content": render the listed properties as a table
maxWidth string — CSS length, e.g. "320px"
format string — GetFeatureInfo INFO_FORMAT, e.g. "application/json"

field

Used by: popup fields · info (WMS GetFeatureInfo) fields

one property to list in the popup table

Key Type Required · default Description
key string required feature property name
label string — display label (defaults to the key)

hover

Used by: wfs layer hover · ogcapi-features layer hover · geojson layer hover · geoparquet layer hover · vector layer hover

hover tooltip — a short template rendered while the pointer rests on a feature. Over a cluster bubble the tooltip shows how many features it holds instead (a cluster has none of the features' properties)

Key Type Required · default Description
content string required template with {{property}} placeholders

cluster options

Used by: wfs layer cluster · ogcapi-features layer cluster · geojson layer cluster · geoparquet layer cluster

options for point clustering — nearby points collapse into one bubble until the user zooms in

Key Type Required · default Description
enabled boolean true false switches clustering off while keeping the options — same as "cluster": false
radius number (1–1000) 50 cluster radius in px
maxZoom number (0–24) 14 stop clustering above this zoom

MapLibre style layer

Used by: wfs layer style · ogcapi-features layer style · geojson layer style · geoparquet layer style · vector layer style

a MapLibre style-spec layer — "source"/"source-layer" are injected by map0

Key Type Required · default Description
type string required style layer type, e.g. "fill", "line", "circle", "symbol"

Other keys are allowed here (not checked by the schema).

color (COG)

Used by: cog layer color

single-band value → color mapping: a built-in ramp ("scheme"/"min"/"max") or an explicit classification ("classes"). The legend derives its swatches from it. Omit for RGB/grayscale imagery. Mutually exclusive with "hillshade".

Key Type Required · default Description
scheme string required unless classes is set ColorBrewer/CARTOColors ramp name — "Brewer<Palette><classes>" (e.g. "BrewerSpectral7", "BrewerYlGnBu5") or "Carto<Palette>" (e.g. "CartoEarth")
min number required unless classes is set data value mapped to the first ramp color
max number required unless classes is set data value mapped to the last ramp color — must be greater than "min"
continuous boolean false interpolate between the ramp colors instead of discrete classes
reverse boolean false reverse the ramp
classes array of color class (COG) (at least 1) — explicit classification instead of a ramp: exact values and/or [from, to) ranges, each with its own color. Pixels matching no class (and noData pixels) are transparent. Cannot be combined with "scheme"/"min"/"max".

When classes is set, scheme, min, max, continuous and reverse cannot be set.

color class (COG)

Used by: color (COG) classes

one class: an exact "value" (categorical rasters) or a "from"/"to" range. Ranges include "from" and exclude "to" — except the class with the highest "to", which includes it. Exact values win over ranges.

Key Type Required · default Description
value number — exact data value (compared after the COG's scale/offset are applied)
from number — range start, inclusive
to number — range end, exclusive (inclusive for the class with the highest "to") — must be greater than "from"
color string (pattern ^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$) required hex color, e.g. "#ef8a62" — 3, 6, or 8 digits (8 = with alpha)
label string — legend text; default: the value, or "from – to"

Exactly one of these must be set: value · from + to.

hillshade options

Used by: cog layer hillshade

hillshade rendering options (MapLibre hillshade paint)

Key Type Required · default Description
exaggeration number (0–1) 0.5 shading intensity
illuminationDirection number (0–359) 335 light azimuth in degrees clockwise from north
shadowColor string — CSS color
highlightColor string — CSS color
accentColor string — CSS color

controls

Used by: Top level controls

which UI controls exist and where — every control has a sensible default; set one to false to remove it

Key Type Required · default Description
navigation boolean true zoom buttons + compass
scale boolean or scale options true scale bar
fullscreen boolean true fullscreen button
geolocate boolean or geolocate options true geolocate button (asks for browser location permission on use)
globe boolean true 2D/globe projection toggle
home boolean false button that returns to the initial view
attribution boolean or attribution options true attribution line
layerSwitcher boolean or layerSwitcher options true the layer tree panel (TOC)
basemapSwitcher boolean or basemapSwitcher options true basemap picker — appears only when there are at least two basemaps
legend boolean or legend options (control) true legend panel
print boolean true print & export dialog (see the top-level "print" key for what it offers)
measure boolean true measure distance and area (on the sphere)
coordinates boolean or coordinates options true coordinate readout on right-click/long-press — default CRS list: WGS 84 + matching Austrian GK strip + matching UTM zone

scale options

Used by: controls scale

options for the scale bar

Key Type Required · default Description
maxWidth number (20–500) 100 maximum bar length in px
unit "metric" · "imperial" "metric" metric (m / km) or imperial (ft / mi)

geolocate options

Used by: controls geolocate

options for the geolocate button

Key Type Required · default Description
follow boolean false keep the map centered on the position

attribution options

Used by: controls attribution

options for the attribution line

Key Type Required · default Description
compact true · false · "auto" "auto" collapse to an ⓘ button — "auto" collapses on small screens

layerSwitcher options

Used by: controls layerSwitcher

options for the layer tree panel

Key Type Required · default Description
position "top-left" · "top-right" · "bottom-left" · "bottom-right" "top-right" corner of the map the panel docks to
open true · false · "auto" "auto" "auto": open on desktop, collapsed on mobile
title string — panel heading override
allowAdd boolean true show the add-layer dialog (paste a WMS/WMTS URL)
filter true · false · "auto" "auto" filter box above the layer tree — "auto": shown from 10 layers on

basemapSwitcher options

Used by: controls basemapSwitcher

options for the basemap picker

Key Type Required · default Description
position "top-left" · "top-right" · "bottom-left" · "bottom-right" "bottom-left" corner of the map the picker docks to

legend options (control)

Used by: controls legend

options for the legend panel

Key Type Required · default Description
position "top-left" · "top-right" · "bottom-left" · "bottom-right" "bottom-right" corner of the map the panel docks to
open boolean false start with the panel open

coordinates options

Used by: controls coordinates

options for the coordinate readout

Key Type Required · default Description
crs array of crs (coordinates control) — coordinate systems to offer instead of the default list

search

Used by: Top level search

type-ahead geocoding search box — present in the UI once this key exists

Key Type Required · default Description
enabled boolean true false removes the search box
provider "photon" · "nominatim" or provider (custom geocoder) "photon" geocoder — "photon" (default) · "nominatim" · a custom provider object
url string — override the service instance (self-hosted Photon/Nominatim)
country string — ISO country code to restrict results to, e.g. "AT"
bias boolean true prefer results near the current view
limit number (1–50) 8 maximum number of results
minLength number (1–20) 3 start searching after this many characters
placeholder string — input placeholder text
coordinates boolean true accept coordinate input like "48.2083, 16.3725" (latitude first)

provider (custom geocoder)

Used by: search provider

custom geocoder: a URL template plus the shape of its answer

Key Type Required · default Description
url string (pattern \{query\}) required URL template — placeholders: {query} {limit} {lang} {bbox} {lng} {lat}
format "geojson" · "nominatim" — "geojson": FeatureCollection of points (Photon-like) · "nominatim": array of results
labelField string — property to use as the result label (geojson only; default: name/label/title)

print

Used by: Top level print

what the print & export dialog offers — the dialog itself is toggled by "controls.print"

Key Type Required · default Description
formats array of "png" · "pdf" ["png", "pdf"] download buttons to show; the browser print view is always available
sizes array of "current" · "A4-landscape" · "A4-portrait" · "A3-landscape" · "A3-portrait" ["current", "A4-landscape", "A4-portrait"] paper sizes offered — "current" is the map viewport as-is
dpi number[] (72–600) [96, 150, 300] export resolutions offered
elements array of "title" · "legend" · "scalebar" · "attribution" · "date" ["title", "legend", "scalebar", "attribution", "date"] parts of the composed sheet

theme

Used by: Top level theme

design tokens for the UI

Key Type Required · default Description
mode "auto" · "light" · "dark" "auto" color scheme — "auto" follows the system
primary string "#0e7490" primary CSS color (buttons, active states)
radius "none" · "sm" · "md" · "lg" "md" corner radius of panels and buttons
font string — CSS font-family for the UI (inherits the page font when omitted)

i18n

Used by: Top level i18n

language of the UI

Key Type Required · default Description
locale string "auto" BCP 47 locale, or "auto" to detect from the browser
fallback string "en" locale used for strings the active locale does not cover
overrides { "…": { "…": string } } — per-locale UI string overrides, e.g. { "de": { "layers.title": "Kartenthemen" } }

permalink options

Used by: Top level permalink

options for the URL-hash permalink

Key Type Required · default Description
param string (pattern ^[A-Za-z0-9_-]+$) "map0" hash parameter name — give each viewer on a page its own

crs (layer)

Used by: geojson layer crs · geoparquet layer crs

CRS of a feature file's coordinates, with a proj4 definition for codes the built-in registry does not know

Key Type Required · default Description
code string required EPSG code, e.g. "EPSG:31256"
def string — proj4 definition — required for CRS the built-in registry does not know (and for the datum shift a file's PROJJSON may lack)

crs (coordinates control)

Used by: coordinates options crs

a coordinate system offered in the coordinate readout — codes the built-in registry knows need no "def"

Key Type Required · default Description
code string required EPSG code, e.g. "EPSG:31256"
label string — display label (defaults to the code)
def string — proj4 definition — required for CRS the built-in registry does not know