„MediaWiki:Gadget-osm.js“ – Versionsunterschied
Erscheinungsbild
Inhalt gelöscht Inhalt hinzugefügt
kolossos |
32X (Diskussion | Beiträge) K Leerung, nun in der MediaWiki:Common.js |
||
Zeile 1: | Zeile 1: | ||
// Verwendung von OpenStreetMap in Wikipedia. |
|||
// (c) 2008 by Magnus Manske |
|||
// Released under GPL |
|||
function openStreetMapInit () { |
|||
var c = document.getElementById ( 'coordinates' ) ; |
|||
if ( !c ) return ; |
|||
var a = c.getElementsByTagName ( 'a' ) ; |
|||
var geohack = false; |
|||
for ( var i = 0 ; i < a.length ; i++ ) { |
|||
var h = a[i].href ; |
|||
if ( !h.match(/geohack/) ) continue ; |
|||
geohack = true ; |
|||
break ; |
|||
} |
|||
if ( !geohack ) return ; |
|||
var na = document.createElement ( 'a' ) ; |
|||
na.href = '#' ; |
|||
na.onclick = openStreetMapToggle ; |
|||
na.appendChild ( document.createTextNode ( 'OSM' ) ) ; |
|||
// c.appendChild ( document.createElement ( 'br' ) ) |
|||
c.appendChild ( document.createTextNode ( ' (' ) ) ; |
|||
c.appendChild ( na ) ; |
|||
c.appendChild ( document.createTextNode ( ') ' ) ) ; |
|||
} |
|||
function openStreetMapToggle () { |
|||
var c = document.getElementById ( 'coordinates' ) ; |
|||
if ( !c ) return ; |
|||
var cs = document.getElementById ( 'contentSub' ) ; |
|||
var osm = document.getElementById ( 'openstreetmap' ) ; |
|||
if ( cs && osm ) { |
|||
if ( osm.style.display == 'none' ) { |
|||
osm.style.display = 'block' ; |
|||
} else { |
|||
osm.style.display = 'none' ; |
|||
// cs.removeChild ( osm ) ; |
|||
} |
|||
return false ; |
|||
} |
|||
var found_link = false ; |
|||
var a = c.getElementsByTagName ( 'a' ) ; |
|||
var h; |
|||
for ( var i = 0 ; i < a.length ; i++ ) { |
|||
h = a[i].href ; |
|||
if ( !h.match(/geohack/) ) continue ; |
|||
found_link = true ; |
|||
break ; |
|||
} |
|||
if ( !found_link ) return ; // No geohack link found |
|||
h = h.split('params=')[1] ; |
|||
var i = document.createElement ( 'iframe' ) ; |
|||
// var url = 'http://tools.wikimedia.de/~magnus/ol/wp_poi.php?title=' + wgTitle ; |
|||
// url += '&language=' + wgUserLanguage ; |
|||
// url += '¶ms=' + h ; |
|||
var url = 'http://toolserver.org/~kolossos/openlayers/kml-on-ol.php?lang=' + wgUserLanguage + '¶ms=' + h ; |
|||
i.id = 'openstreetmap' ; |
|||
i.style.width = '100%' ; |
|||
i.style.height = '350px' ; |
|||
i.style.clear = 'both' ; |
|||
i.src = url ; |
|||
cs.appendChild ( i ) ; |
|||
return false ; |
|||
} |
|||
addOnloadHook(openStreetMapInit); |