मीडियाविकि:Gadget-osm.js

विकिपीडिया से

नोट: प्रकाशित करे के बाद, बदलाव देखे खातिर आपके अपने ब्राउजर के कैशे खाली करे के पड़ सकत बा।

  • फायरफॉक्स / सफारी:शिफ्ट दबा के रीलोड पर क्लिक करीं, या फिर Ctrl-F5 या Ctrl-R दबाईं (मैक पर ⌘-R)
  • गूगल क्रोम: Ctrl-Shift-R दबाईं (मैक पर ⌘-Shift-R)
  • इंटरनेट एक्स्प्लोरर/एज़: Ctrl दबा के Refresh पर क्लिक करीं, या Ctrl-F5 दबईं
  • ओपेरा: Menu → Settings में जाईं (मैक में Opera → Preferences) आ एकरे बाद Privacy & security → Clear browsing data → Cached images and files क्लिक करीं।
/**
 * Intégration d'OpenStreetMap dans Wikipédia
 * (C) 2008 Magnus Manske <magnusmanske@googlemail.com>
 * (C) 2014 Arkanosis <jroquet@arkanosis.net>
 * Released under the GPL
 * from [[fr:MediaWiki:Gadget-osm.js]]
 */
$( 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( 'लुकवाईं' );
			$closeLink.attr( {
				'href': '#',
				'title': 'नक्शा लुकवाईं'
			} );
			$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': 'नक्शा देखीं / लुकवाईं',
		'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( ' नक्शा' );
	$coordinates.append( $a );
} );