Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
mw.loader.using(['mediawiki.util'], function () {

  function addCss(url){
    if(document.querySelector('link[href="'+url+'"]')) return;
    var l=document.createElement('link');
    l.rel='stylesheet'; l.href=url;
    document.head.appendChild(l);
  }

  function addScript(url){
    return new Promise(function(resolve,reject){
      if(document.querySelector('script[src="'+url+'"]')) return resolve();
      var s=document.createElement('script');
      s.src=url; s.onload=resolve; s.onerror=reject;
      document.head.appendChild(s);
    });
  }

  function init(el){
    if(el.dataset.ready) return;
    el.dataset.ready='1';

    var map = L.map(el).setView([47.72, 15.95], 10);

    // --- basemap.at ---
    var luftbild = L.tileLayer(
      'https://mapsneu.wien.gv.at/basemap/bmaporthofoto30cm/normal/google3857/{z}/{y}/{x}.jpeg',
      { attribution:'basemap.at', maxZoom:20 }
    );

    var overlay = L.tileLayer(
      'https://mapsneu.wien.gv.at/basemap/bmapoverlay/normal/google3857/{z}/{y}/{x}.png',
      { attribution:'basemap.at', maxZoom:20 }
    );

    var standard = L.tileLayer(
      'https://mapsneu.wien.gv.at/basemap/geolandbasemap/normal/google3857/{z}/{y}/{x}.png',
      { attribution:'basemap.at', maxZoom:20 }
    );

    // Kombination: Luftbild + Straßen
    var luftbildStrassen = L.layerGroup([luftbild, overlay]);

    // --- OSM ---
    var osm = L.tileLayer(
      'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
      { attribution:'© OpenStreetMap-Mitwirkende', maxZoom:19 }
    );

    // --- Topo ---
    var topo = L.tileLayer(
      'https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png',
      { attribution:'© OpenTopoMap / OSM', maxZoom:17 }
    );

    // Startlayer
    luftbildStrassen.addTo(map);

    // Layer-Control
    L.control.layers(
      {
        'Luftbild + Straßenkarte': luftbildStrassen,
        'Luftbild': luftbild,
        'Straßenkarte (OSM)': osm,
        'Topo': topo
      },
      null,
      { collapsed:false }
    ).addTo(map);
  }

  addCss('/leaflet/leaflet.css');
  addScript('/leaflet/leaflet.js').then(function(){
    document.querySelectorAll('.mw-mapwiki').forEach(init);
  });

});