Aller au contenu

Utilisateur:PiRSquared17/osm.js

Une page de Wikipédia, l'encyclopédie libre.
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' ) )
				+ '&params=' + 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 );
} );
OSZAR »