MediaWiki:GeoHack.js

Manipud iti Wikipedia, ti nawaya nga ensiklopedia

Nota: Kalpasan ti panangipablaak, mabalin a naskenmo a labsan ti cahe ti pagbasabasam tapno makita dagiti sinukatam.

  • Firefox / Safari: Tenglen ti Shift bayat a pinduten ti Reload, wenno talmegan ti Ctrl-F5 wenno Ctrl-R (⌘-R iti Mac)
  • Google Chrome: Talmegan ti Ctrl-Shift-R (⌘-Shift-R iti Mac)
  • Internet Explorer /Edge: Tenglen ti Ctrl bayat a pinduten ti Refresh, wenno talmegan ti Ctrl-F5
  • Opera: Mapan iti Menu → Settings (Opera → Preferences iti Mac) ken kalpasanna iti Privacy & security → Clear browsing data → Cached images and files.
/**
 * The file is used by GeoHack on Tool Labs (linked from [[Plantilia:GeoTemplate]]).
 *
 * This file is not loaded within a wiki context. Standard libraries (jQuery, mediawiki.js etc) are not available.
 */
 
/**
 * Copy of standard library function
 */
function appendCSS(text) {
	var s = document.createElement('style');
	s.type = 'text/css';
	s.rel = 'stylesheet';
	if (s.styleSheet) s.styleSheet.cssText = text //IE
	else s.appendChild(document.createTextNode(text + '')) //Safari sometimes borks on null
	document.getElementsByTagName('head')[0].appendChild(s);
}

/* Allow draggable maps to be used */
var iframeurl = '//wma.wmflabs.org/iframe.html';
var wma_class_R = /\bWMA:(\S+)/;
function addWikiMiniAtlas() {
	var arrElements = document.getElementById('mw_content').getElementsByTagName('DIV');
	var mapparams, container;
	for(var i=0; (container=arrElements[i]); i++){
		mapparams = container.className.match(wma_class_R);
		if(mapparams){
			iframe = document.createElement('iframe');
			iframe.frameBorder = 0;
			iframe.scrolling = 'no';
			iframe.src = iframeurl + '?' + mapparams[1];
			iframe.style.width = mapparams[1].split('_')[2]+'px';
			iframe.style.height = mapparams[1].split('_')[3]+'px';
			while(container.firstChild)
				container.removeChild(container.firstChild);
			container.appendChild(iframe); // set attributes before insertion - IE6
			container.style.display = '';
		}
	}
}

window.onload = function() {
	/* Add row hover effect */
	appendCSS(".directory tr:hover {background:#fdc !important;}");
	addWikiMiniAtlas(); 
}

/* OSM map */
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);
	    map.attributionControl.setPrefix( '' );
		L.tileLayer('//maps.wikimedia.org/osm-intl/{z}/{x}/{y}{r}.png', {
		    attribution: 'Wikimedia maps beta | Map data &copy; <a href="http://osm.org/copyright">Dagiti kontributor ti OpenStreetMap</a>'
		}).addTo(map);
		
		L.marker([lat, lon]).addTo(map);
    }
}

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