map0

Konfiguration

Config-Vererbung

Gemeinsame Einstellungen mehrerer Karten lassen sich in einer Basiskonfiguration verwalten. Jede Karte kann die abweichenden Einstellungen überschreiben.

Was hier zu sehen ist: Drei Basemaps, der Home-Button, die Position der Legende und der Share-Link kommen alle aus der Basisdatei der Organisation. Diese Karte selbst deklariert nur einen Layer, eine Ansicht und ihre eigene Akzentfarbe.

Die Karten-Config

Kurz, weil sie erbt:

extends.map0.json
{
  "$schema": "https://map0.net/schema/v1.json",
  "version": 1,
  "extends": "/configs/_base.map0.json",
  "meta": { "title": "Noise map, inherits the organisation defaults" },
  "map": { "center": [16.3725, 48.2083], "zoom": 13 },
  "theme": { "primary": "#b45309" },
  "layers": [
    {
      "id": "areas",
      "type": "geojson",
      "title": "Study areas",
      "data": "/data/demo-areas.geojson",
      "style": {
        "fill-color": "#b45309",
        "fill-opacity": 0.28,
        "line-color": "#b45309",
        "line-width": 2
      },
      "popup": { "title": "{{name}}" }
    }
  ]
}

Die gemeinsame Basis

Einmal zentral gepflegt und von jeder Karte der Organisation wiederverwendet:

_base.map0.json
{
  "basemaps": [
    {
      "id": "grau",
      "title": "Grey",
      "type": "raster",
      "url": "https://mapsneu.wien.gv.at/basemap/bmapgrau/normal/google3857/{z}/{y}/{x}.png",
      "attribution": "© basemap.at",
      "default": true
    },
    {
      "id": "bmapv",
      "title": "basemap.at",
      "type": "style",
      "url": "https://mapsneu.wien.gv.at/basemapv/bmapv/3857/resources/styles/root.json"
    },
    {
      "id": "ortho",
      "title": "Aerial",
      "type": "raster",
      "url": "https://mapsneu.wien.gv.at/basemap/bmaporthofoto30cm/normal/google3857/{z}/{y}/{x}.jpeg",
      "maxZoom": 19,
      "attribution": "© basemap.at"
    }
  ],
  "theme": { "primary": "#0e7490", "radius": "md" },
  "controls": { "legend": { "position": "bottom-right" }, "home": true },
  "permalink": true
}

Merge-Regeln

Arrays ersetzen. Um eine geerbte Layer-Liste zu ändern, wird die vollständige Liste in der abgeleiteten Konfiguration angegeben. So ist eindeutig festgelegt, welche Layer in welcher Reihenfolge erscheinen. Nicht überschriebene Einstellungen werden weiterhin aus der Basis übernommen.