מדיה ויקי:MapFrame.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: ללחוץ על Ctrl-F5.
/* Place importScript('MediaWiki:MapFrame.js'); into MediaWiki:Common.js */
/* Usage: inserts an iframe into a div with id "mapdiv", in conjunction with Template:MapFrame
for embeddable dynamic maps. Relies on HTML5 data parameters. */
function insertIFrame() {
var exhtml = '//tools.wmflabs.org/wikivoyage/w/poimap2.php?';
var map = $('#mapdiv');
if ( map.length ) {
validateMap(map);
var exsrc = exhtml+'lat='+map.data("lat")+'&lon='+map.data("long")
+'&zoom='+map.data("zoom")+'&layer=O&lang='+mw.config.get('wgContentLanguage')+'&name='+mw.config.get('wgPageName');
var ifstr = '<iframe src="'+exsrc+'" width="'+map.data("width")+'" height="'+map.data("height")
+'" style="border:0"></iframe>';
map.html(ifstr);
if ( map.data("layer").indexOf('O') < 0 ) {
$('.vcard a').attr('href', function () { return this.href.replace('layer=O','layer='+map.data("layer")[0]) });
}
}
}
function validateMap(map) {
if (!$.isNumeric(map.data("lat"))) map.data("lat", 51.47766);
if (!$.isNumeric(map.data("long"))) map.data("long", -0.00115);
if (!$.isNumeric(map.data("zoom")) && map.data("zoom") != 'auto') map.data("zoom", 14);
if (!$.isNumeric(map.data("height"))) map.data("height", 420);
if (!$.isNumeric(map.data("width"))) map.data("width", 420);
if (map.data("layer").length > 8) map.data("layer", 'O');
}
$(document).ready(insertIFrame);