<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.altes-koeln.de/index.php?action=history&amp;feed=atom&amp;title=Widget%3ASchulkarte</id>
	<title>Widget:Schulkarte - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://www.altes-koeln.de/index.php?action=history&amp;feed=atom&amp;title=Widget%3ASchulkarte"/>
	<link rel="alternate" type="text/html" href="https://www.altes-koeln.de/index.php?title=Widget:Schulkarte&amp;action=history"/>
	<updated>2026-05-06T11:11:43Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Altes Köln</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://www.altes-koeln.de/index.php?title=Widget:Schulkarte&amp;diff=89502&amp;oldid=prev</id>
		<title>HorstR: Die Seite wurde neu angelegt: „&lt;noinclude&gt; Dies ist ein Widget für die Schulkarte. &lt;/noinclude&gt;  &lt;div id=&quot;map&quot; style=&quot;height: 600px;&quot;&gt;&lt;/div&gt;  &lt;link rel=&quot;stylesheet&quot; href=&quot;https://unpkg.com/leaflet@1.9.3/dist/leaflet.css&quot; /&gt; &lt;script src=&quot;https://unpkg.com/leaflet@1.9.3/dist/leaflet.js&quot;&gt;&lt;/script&gt; &lt;script src=&quot;https://unpkg.com/leaflet.markercluster/dist/leaflet.markercluster.js&quot;&gt;&lt;/script&gt; &lt;link rel=&quot;stylesheet&quot; href=&quot;https://unpkg.com/leaflet.markercluster/dist/MarkerCluster.css&quot; /&gt; &lt;li…“</title>
		<link rel="alternate" type="text/html" href="https://www.altes-koeln.de/index.php?title=Widget:Schulkarte&amp;diff=89502&amp;oldid=prev"/>
		<updated>2025-12-06T17:11:55Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „&amp;lt;noinclude&amp;gt; Dies ist ein Widget für die Schulkarte. &amp;lt;/noinclude&amp;gt;  &amp;lt;div id=&amp;quot;map&amp;quot; style=&amp;quot;height: 600px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://unpkg.com/leaflet@1.9.3/dist/leaflet.css&amp;quot; /&amp;gt; &amp;lt;script src=&amp;quot;https://unpkg.com/leaflet@1.9.3/dist/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; &amp;lt;script src=&amp;quot;https://unpkg.com/leaflet.markercluster/dist/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://unpkg.com/leaflet.markercluster/dist/MarkerCluster.css&amp;quot; /&amp;gt; &amp;lt;li…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Dies ist ein Widget für die Schulkarte.&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;map&amp;quot; style=&amp;quot;height: 600px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://unpkg.com/leaflet@1.9.3/dist/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://unpkg.com/leaflet@1.9.3/dist/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://unpkg.com/leaflet.markercluster/dist/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://unpkg.com/leaflet.markercluster/dist/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://unpkg.com/leaflet.markercluster/dist/MarkerCluster.Default.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// === ICONSETS =======================================&lt;br /&gt;
&lt;br /&gt;
var iconGrund = new L.Icon({&lt;br /&gt;
    iconUrl: &amp;#039;https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png&amp;#039;,&lt;br /&gt;
    iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34]&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
var iconGym = new L.Icon({&lt;br /&gt;
    iconUrl: &amp;#039;https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png&amp;#039;,&lt;br /&gt;
    iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34]&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
var iconGes = new L.Icon({&lt;br /&gt;
    iconUrl: &amp;#039;https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png&amp;#039;,&lt;br /&gt;
    iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34]&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
var iconBeruf = new L.Icon({&lt;br /&gt;
    iconUrl: &amp;#039;https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-violet.png&amp;#039;,&lt;br /&gt;
    iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34]&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
var iconFoerder = new L.Icon({&lt;br /&gt;
    iconUrl: &amp;#039;https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png&amp;#039;,&lt;br /&gt;
    iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34]&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === CLUSTER COLORS =================================&lt;br /&gt;
&lt;br /&gt;
function clusterColor(color){&lt;br /&gt;
    return new L.MarkerClusterGroup({&lt;br /&gt;
        iconCreateFunction: function(cluster) {&lt;br /&gt;
            return new L.DivIcon({&lt;br /&gt;
                html: &amp;#039;&amp;lt;div style=&amp;quot;background:&amp;#039;+color+&amp;#039;;color:white;border-radius:20px;padding:5px 10px;&amp;quot;&amp;gt;&amp;#039; +&lt;br /&gt;
                        cluster.getChildCount() + &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var clusterGrund   = clusterColor(&amp;#039;#32CD32&amp;#039;);&lt;br /&gt;
var clusterGym     = clusterColor(&amp;#039;#1E90FF&amp;#039;);&lt;br /&gt;
var clusterGes     = clusterColor(&amp;#039;#FF8C00&amp;#039;);&lt;br /&gt;
var clusterBeruf   = clusterColor(&amp;#039;#9400D3&amp;#039;);&lt;br /&gt;
var clusterFoerder = clusterColor(&amp;#039;#DC143C&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
// === MAP ============================================&lt;br /&gt;
&lt;br /&gt;
var map = L.map(&amp;#039;map&amp;#039;).setView([50.94, 6.96], 11);&lt;br /&gt;
&lt;br /&gt;
L.tileLayer(&amp;#039;https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png&amp;#039;, {&lt;br /&gt;
    maxZoom: 18&lt;br /&gt;
}).addTo(map);&lt;br /&gt;
&lt;br /&gt;
// === SMW COORD PARSER ===============================&lt;br /&gt;
&lt;br /&gt;
function extractCoords(coordValue) {&lt;br /&gt;
    if (!coordValue) return null;&lt;br /&gt;
&lt;br /&gt;
    if (typeof coordValue === &amp;quot;string&amp;quot;) {&lt;br /&gt;
        let parts = coordValue.split(&amp;#039;,&amp;#039;);&lt;br /&gt;
        if (parts.length === 2) {&lt;br /&gt;
            return [parseFloat(parts[0]), parseFloat(parts[1])];&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (typeof coordValue === &amp;quot;object&amp;quot; &amp;amp;&amp;amp; coordValue.lat &amp;amp;&amp;amp; coordValue.lon) {&lt;br /&gt;
        return [parseFloat(coordValue.lat), parseFloat(coordValue.lon)];&lt;br /&gt;
    }&lt;br /&gt;
    return null;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// === Marker Import via SMW ==========================&lt;br /&gt;
&lt;br /&gt;
// Wird durch SMW ersetzt:&lt;br /&gt;
{{#ask:&lt;br /&gt;
 [[Kategorie:Schule]]&lt;br /&gt;
 |?Koordinaten&lt;br /&gt;
 |?Schultyp&lt;br /&gt;
 |?Has page=link&lt;br /&gt;
 |format=array&lt;br /&gt;
 |name=schoolData&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
var bounds = [];&lt;br /&gt;
&lt;br /&gt;
schoolData.forEach(function(school){&lt;br /&gt;
&lt;br /&gt;
    var coords = extractCoords(school.Koordinaten);&lt;br /&gt;
    if(!coords) return;&lt;br /&gt;
&lt;br /&gt;
    // choose icon&lt;br /&gt;
    var icon = iconGrund;&lt;br /&gt;
    switch(school.Schultyp){&lt;br /&gt;
        case &amp;quot;Grundschule&amp;quot;: icon = iconGrund; break;&lt;br /&gt;
        case &amp;quot;Gymnasium&amp;quot;: icon = iconGym; break;&lt;br /&gt;
        case &amp;quot;Gesamtschule&amp;quot;: icon = iconGes; break;&lt;br /&gt;
        case &amp;quot;Berufskolleg&amp;quot;: icon = iconBeruf; break;&lt;br /&gt;
        case &amp;quot;Förderschule&amp;quot;: icon = iconFoerder; break;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var marker = L.marker(coords, {icon: icon})&lt;br /&gt;
        .bindPopup(&amp;#039;&amp;lt;strong&amp;gt;&amp;#039; + school.link + &amp;#039;&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;#039; + school.Schultyp);&lt;br /&gt;
&lt;br /&gt;
    switch(school.Schultyp){&lt;br /&gt;
        case &amp;quot;Grundschule&amp;quot;: clusterGrund.addLayer(marker); break;&lt;br /&gt;
        case &amp;quot;Gymnasium&amp;quot;: clusterGym.addLayer(marker); break;&lt;br /&gt;
        case &amp;quot;Gesamtschule&amp;quot;: clusterGes.addLayer(marker); break;&lt;br /&gt;
        case &amp;quot;Berufskolleg&amp;quot;: clusterBeruf.addLayer(marker); break;&lt;br /&gt;
        case &amp;quot;Förderschule&amp;quot;: clusterFoerder.addLayer(marker); break;&lt;br /&gt;
        default: clusterGrund.addLayer(marker);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bounds.push(coords);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Standard sichtbar:&lt;br /&gt;
clusterGrund.addTo(map);&lt;br /&gt;
clusterGym.addTo(map);&lt;br /&gt;
&lt;br /&gt;
// Layer Control&lt;br /&gt;
L.control.layers(null, {&lt;br /&gt;
    &amp;quot;Grundschulen&amp;quot;: clusterGrund,&lt;br /&gt;
    &amp;quot;Gymnasien&amp;quot;: clusterGym,&lt;br /&gt;
    &amp;quot;Gesamtschulen&amp;quot;: clusterGes,&lt;br /&gt;
    &amp;quot;Berufskollegs&amp;quot;: clusterBeruf,&lt;br /&gt;
    &amp;quot;Förderschulen&amp;quot;: clusterFoerder&lt;br /&gt;
}, {collapsed:false}).addTo(map);&lt;br /&gt;
&lt;br /&gt;
// === AUTO FIT =======================================&lt;br /&gt;
if(bounds.length &amp;gt; 0){&lt;br /&gt;
    map.fitBounds(bounds);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// === LEGENDE ========================================&lt;br /&gt;
&lt;br /&gt;
var legend = L.control({ position: &amp;#039;bottomright&amp;#039; });&lt;br /&gt;
&lt;br /&gt;
legend.onAdd = function () {&lt;br /&gt;
    var div = L.DomUtil.create(&amp;#039;div&amp;#039;, &amp;#039;info legend&amp;#039;);&lt;br /&gt;
    div.style.background = &amp;#039;white&amp;#039;;&lt;br /&gt;
    div.style.padding = &amp;#039;10px&amp;#039;;&lt;br /&gt;
    div.style.borderRadius = &amp;#039;6px&amp;#039;;&lt;br /&gt;
    div.style.boxShadow = &amp;#039;0 0 6px rgba(0,0,0,0.3)&amp;#039;;&lt;br /&gt;
    div.style.fontSize = &amp;quot;13px&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    div.innerHTML += &amp;quot;&amp;lt;b&amp;gt;Schultypen&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    div.innerHTML += &amp;quot;&amp;lt;img src=&amp;#039;https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png&amp;#039; width=&amp;#039;18&amp;#039;&amp;gt; Grundschule&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    div.innerHTML += &amp;quot;&amp;lt;img src=&amp;#039;https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png&amp;#039; width=&amp;#039;18&amp;#039;&amp;gt; Gymnasium&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    div.innerHTML += &amp;quot;&amp;lt;img src=&amp;#039;https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png&amp;#039; width=&amp;#039;18&amp;#039;&amp;gt; Gesamtschule&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    div.innerHTML += &amp;quot;&amp;lt;img src=&amp;#039;https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-violet.png&amp;#039; width=&amp;#039;18&amp;#039;&amp;gt; Berufskolleg&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    div.innerHTML += &amp;quot;&amp;lt;img src=&amp;#039;https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png&amp;#039; width=&amp;#039;18&amp;#039;&amp;gt; Förderschule&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    return div;&lt;br /&gt;
};&lt;br /&gt;
legend.addTo(map);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;/div&gt;</summary>
		<author><name>HorstR</name></author>
	</entry>
</feed>