MediaWiki:Gadget-MapFrame.js
Aspetto
Nota: dopo aver salvato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.
- Firefox / Safari: tenere premuto il tasto delle maiuscole e fare clic su Ricarica, oppure premere Ctrl-F5 o Ctrl-R (⌘-R su Mac)
- Google Chrome: premere Ctrl-Shift-R (⌘-Shift-R su un Mac)
- Internet Explorer: tenere premuto il tasto Ctrl mentre si fa clic su Refresh, oppure premere Ctrl-F5
- Opera: svuotare completamente la cache dal menu Strumenti → Preferenze
/* 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 = '//wikivoyage.toolforge.org/w/poimap2.php?';
var map = $('div .mapdiv');
map.each(function() {
var self = this,
$self = $(this);
validateMap($self);
var exsrc = exhtml+'lat='+encodeURIComponent($self.data("lat"))+'&lon='+encodeURIComponent($self.data("long"))
+'&zoom='+encodeURIComponent($self.data("zoom"))+'&layer='+encodeURIComponent($self.data("layer"))+'&lang='+encodeURIComponent(mw.config.get('wgContentLanguage'))+'&name='+encodeURIComponent(mw.config.get('wgPageName'));
var ifstr = $( '<iframe></iframe>' ).attr( { src: exsrc, width: $self.data("width"), height: $self.data("height" ), style: "border:0" } );
$self.html(ifstr);
if ( $self.data("layer").indexOf('M') < 0 ) {
$('.vcard a').attr('href', function () { return this.href.replace('layer=M','layer='+$self.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", 'M');
}
mw.hook('wikipage.content').add(insertIFrame);