Bước tới nội dung

MediaWiki:GeoHack.js

Bách khoa toàn thư mở Wikipedia

Chú ý: Sau khi lưu thay đổi trang, bạn phải xóa bộ nhớ đệm của trình duyệt để nhìn thấy các thay đổi. Google Chrome, Firefox, Internet ExplorerSafari: Giữ phím ⇧ Shift và nhấn nút Reload/Tải lại trên thanh công cụ của trình duyệt. Để biết chi tiết và hướng dẫn cho các trình duyệt khác, xem Trợ giúp:Xóa bộ nhớ đệm.

/**
 * Tập tin này được sử dụng bởi GeoHack tại Phòng thí nghiệm Công cụ Wikimedia
 * và được liên kết từ [[Bản mẫu:GeoTemplate]].
 *
 * Tập tin này không được tải trong bối cảnh wiki. Các thư viện chuẩn như
 * jQuery và mediawiki.js không có hiệu lực.
 */
 
/**
 * Hàm sao chép từ thư viện chuẩn.
 */
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);
}


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

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}.png', {
		    attribution: 'Bản đồ Wikimedia beta | Dữ liệu bản đồ © <a href="http://www.openstreetmap.org/copyright/vi">những người đóng góp vào OpenStreetMap</a>'
		}).addTo(map);
		
		L.marker([lat, lon]).addTo(map);
    }
}

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