MediaWiki:Gadget-osm.js
Apparence
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./**
* Intégration d'OpenStreetMap dans Wikipédia
* (C) 2008 Magnus Manske <magnusmanske@googlemail.com>
* (C) 2014 Arkanosis <jroquet@arkanosis.net>
* Released under the GPL
*/
$( function() {
function makeToggleOsm( params ) {
return function() {
var osm = $( '#OpenStreetMap' );
if ( osm.length ) {
if ( osm.css( 'display' ) === 'none' ) {
osm.css( 'display', 'block' );
} else {
osm.css( 'display', 'none' );
}
return false;
}
var div = $( '<div>' );
div.attr( 'id', 'OpenStreetMap' );
div.css( {
position : 'absolute',
zIndex : 5000,
top: '10%',
left: '15%',
width : '70%',
height : '80%',
border : '2px solid black',
backgroundColor : 'white',
overflow : 'hidden',
cursor: 'move'
} );
div.attr( 'title', 'Cliquer et glisser pour déplacer la carte' );
var topArea = $( '<div>' );
topArea.css( {
position: 'relative',
top: '0',
width: '100%',
height: '50px'
} );
var closeLink = $( '<a>' );
closeLink.css( {
'float': 'right',
margin: '10px'
} );
closeLink.text( 'Masquer' );
closeLink.attr( {
'href': '#',
'title': 'Masquer la carte'
} );
closeLink.click( function() {
div.css( 'display', 'none' );
return false;
} );
topArea.append( closeLink );
var url = '//tools.wmflabs.org/wiwosm/osm-on-ol/kml-on-ol.php'
+ '?lang=' + mw.config.get( 'wgPageContentLanguage' )
+ '&uselang=' + mw.util.rawurlencode( mw.config.get( 'wgUserLanguage' ) )
+ '¶ms=' + params
+ '&title=' + mw.util.wikiUrlencode( mw.config.get( 'wgTitle' ) );
var iframe = $( '<iframe>' );
iframe.css( {
'width': '100%',
'height': '100%',
'clear': 'both'
} );
iframe.attr( 'src', url );
div.append( topArea );
div.append( iframe );
div.draggable();
div.resizable({
minWidth: 150,
minHeight: 200
});
$( 'body' ).append( div );
return false;
};
}
var c = $( '#coordinates-title' );
if ( !c.length ) {
return;
}
var params = '';
$.each( c.find( 'a' ), function( _, a ) {
if ( a.href.match( /geohack/) &&
!a.href.match( /(skyhack|_globe:(?!earth))/) ) {
params = a.href.split( 'params=' )[ 1 ];
return false;
}
} );
if ( params === '' ) {
return;
}
var a = $( '<a>' );
a.attr( {
'id': 'coordinates_osm',
'href': '#',
'title': 'Afficher / Masquer la carte',
'class': 'noprint osm-icon-coordinates'
} );
a.click( makeToggleOsm( params ) );
var img = $( '<img>' );
img.attr( {
'src': '/media/wikipedia/commons/thumb/c/c9/OpenStreetMapLogo.png/17px-OpenStreetMapLogo.png',
'width': '17px',
'height': '17px',
'alt': 'OSM'
} );
a.append( img );
a.append( ' carte' );
c.append( a );
} );