MediaWiki:GeoHack.js

Allikas: Vikipeedia

Märkus: Võimalik, et pärast avaldamist tuleb muudatuste nägemiseks brauseri puhver tühjendada.

  • Firefox / Safari: Hoia all Shift-klahvi ja klõpsa Laadi uuesti või vajuta kas Ctrl-F5 või Ctrl-R (Macis ⌘-R).
  • Google Chrome: Vajuta Ctrl-Shift-R (Macis ⌘-Shift-R).
  • Internet Explorer / Edge: Hoia all Ctrl-klahvi ja klõpsa Värskenda või vajuta Ctrl-F5.
  • Opera: Vajuta Ctrl-F5.
/* Embed an OSM map on div id="osmEmbed" exists
 * This script is loaded by https://tools.wmflabs.org/geohack/, see also [[Template:GeoTemplate]]
 */
var head  = document.getElementsByTagName('head')[0];
var style  = document.createElement('link');
style.rel  = 'stylesheet';
style.type = 'text/css';
style.href = '//maps.wikimedia.org/leaflet/leaflet.css';
head.appendChild(style);

var script  = document.createElement('script');
script.type = 'text/javascript';
script.src = '//maps.wikimedia.org/leaflet/leaflet.js';
head.appendChild(script);
	    
var OSM_class_R = /\bOSM:([\d.+-]+)_([\d.+-]+)_([\d.+-]+)_(\w+)/;
function embedOpenStreetMap() {
    clearInterval(osmtimer);
    var osmTarget = document.getElementById('osmEmbed');
    if (osmTarget && OSM_class_R.exec(osmTarget.className)) {
        var lat = 1.0 * RegExp.$1,
        	lon = 1.0 * RegExp.$2,
        	zoom = RegExp.$3;
        	
	    var map = L.map('osmEmbed').setView([lat, lon], zoom);
		L.tileLayer('//maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png?lang=et', {
		    attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a>i kaastöölised'
		}).addTo(map);
		
		L.marker([lat, lon]).addTo(map);
    }
}

osmtimer = setInterval("if (document.getElementById('osmEmbed') && L) { embedOpenStreetMap(); }", 200);
setTimeout('clearInterval(osmtimer)', 5000);