Utilisateur:PiRSquared17/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() {
if ( $( '#coordinates_osm' ).length ) {
return;
}
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: '10%'
} );
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': '90%',
'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 $coordinates = $( '#coordinates' );
if ( !$coordinates.length ) {
return;
}
var params = '';
$.each( $coordinates.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': '//upload.wikimedia.org/wikipedia/commons/thumb/c/c9/OpenStreetMapLogo.png/17px-OpenStreetMapLogo.png',
'width': '17px',
'height': '17px',
'alt': 'OSM'
} );
$a.append( $img );
$a.append( ' carte' );
$coordinates.append( $a );
} );