{"id":151,"date":"2025-10-01T16:17:17","date_gmt":"2025-10-01T14:17:17","guid":{"rendered":"https:\/\/segelflicker.de\/?page_id=151"},"modified":"2026-05-09T16:56:03","modified_gmt":"2026-05-09T14:56:03","slug":"segelflicker-world-wide","status":"publish","type":"page","link":"https:\/\/segelflicker.de\/?page_id=151","title":{"rendered":"Segelflicker World Wide"},"content":{"rendered":"\n    <link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css\"\/>\n    <link rel=\"stylesheet\" href=\"https:\/\/segelflicker.de\/wp-content\/plugins\/segelflicker-v6\/assets\/map.css?v=6.0.0\"\/>\n\n    <div id=\"sf-lightbox\" onclick=\"sfCloseLightbox(event)\" style=\"display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:99999;align-items:center;justify-content:center;cursor:zoom-out;padding:20px;box-sizing:border-box\">\n        <button onclick=\"document.getElementById('sf-lightbox').style.display='none'\" style=\"position:absolute;top:16px;right:20px;background:none;border:none;color:#fff;font-size:32px;cursor:pointer;line-height:1\">&#x2715;<\/button>\n        <img decoding=\"async\" id=\"sf-lightbox-img\" src=\"\" alt=\"\" style=\"max-width:90vw;max-height:85vh;border-radius:10px;box-shadow:0 8px 40px rgba(0,0,0,.7);object-fit:contain;display:block\"\/>\n        <div id=\"sf-lightbox-caption\" style=\"position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;font-family:Arial,sans-serif;font-size:15px;font-weight:700;background:rgba(0,0,0,.5);padding:6px 18px;border-radius:20px;white-space:nowrap\"><\/div>\n    <\/div>\n\n    <div id=\"sf-world-map\" style=\"height:500px\"><\/div>\n\n    <script>\n    function sfCloseLightbox(e) {\n        if (e.target === document.getElementById('sf-lightbox')) {\n            document.getElementById('sf-lightbox').style.display = 'none';\n        }\n    }\n    function sfOpenLightbox(src, title) {\n        document.getElementById('sf-lightbox-img').src = src;\n        document.getElementById('sf-lightbox-caption').textContent = title;\n        document.getElementById('sf-lightbox').style.display = 'flex';\n    }\n    document.addEventListener('keydown', function(e) {\n        if (e.key === 'Escape') document.getElementById('sf-lightbox').style.display = 'none';\n    });\n\n    (function(){\n        function initMap(){\n            if (typeof L === 'undefined') { setTimeout(initMap, 100); return; }\n            var map = L.map('sf-world-map', {center:[20,10], zoom:2, minZoom:2});\n            L.tileLayer('https:\/\/{s}.tile.openstreetmap.org\/{z}\/{x}\/{y}.png', {\n                attribution:'&copy; <a href=\"https:\/\/openstreetmap.org\">OpenStreetMap<\/a>'\n            }).addTo(map);\n\n            fetch('https:\/\/segelflicker.de\/index.php?rest_route=\/segelflicker\/v1\/stickers')\n            .then(function(r){ return r.json(); })\n            .then(function(stickers){\n                stickers.forEach(function(s){\n                    if (!s.lat || !s.lng) return;\n                    var html = s.image\n                        ? '<div class=\"sf-marker\"><img decoding=\"async\" src=\"'+s.image+'\" alt=\"'+s.title+'\"\/><\/div>'\n                        : '<div class=\"sf-marker\"><span style=\"transform:rotate(45deg);display:block;font-size:20px\">\u2693<\/span><\/div>';\n                    var icon = L.divIcon({html:html, className:'', iconSize:[44,44], iconAnchor:[22,44], popupAnchor:[0,-50]});\n                    var marker = L.marker([s.lat, s.lng], {icon:icon});\n\n                    var fullSrc = s.image_large || s.image || '';\n                    var popup = '<div class=\"sf-popup\">';\n                    if (s.image) {\n                        popup += '<div class=\"sf-popup-img-wrap\">';\n                        popup += '<img decoding=\"async\" class=\"sf-popup-img\" src=\"'+s.image+'\" alt=\"'+s.title+'\" onclick=\"sfOpenLightbox(\\''+fullSrc+'\\',\\''+s.title.replace(\/'\/g,\"\\\\'\")+'\\')\"\/>';\n                        popup += '<div class=\"sf-popup-zoom\">\ud83d\udd0d Zum Vergr&ouml;&szlig;ern klicken<\/div>';\n                        popup += '<\/div>';\n                    }\n                    popup += '<div class=\"sf-popup-title\">'+s.title+'<\/div>';\n                    if (s.country) popup += '<div class=\"sf-popup-country\">&#128205; '+s.country+'<\/div>';\n                    if (s.ig) popup += '<a class=\"sf-popup-ig\" href=\"'+s.ig+'\" target=\"_blank\" rel=\"noopener\">&#128247; Instagram<\/a>';\n                    popup += '<\/div>';\n\n                    marker.bindPopup(popup, {maxWidth:240}).addTo(map);\n                });\n            });\n        }\n        initMap();\n    })();\n    <\/script>\n    <script src=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js\"><\/script>\n    \n\n\n\n<h2 class=\"wp-block-heading\">In Jedem Land ein Sticker<\/h2>\n\n\n<p>Unsere Mission: In Jedem Land einen Segelflicker Sticker h\u00e4ngen zu haben. Auf der Karte oben kann man alle Aktuellen Orte welche mit einem Segelflicker Sticker versch\u00f6nert wurden sehen, klickt man auf den Pin erscheint zus\u00e4tzlich ein Bild vom jeweiligen Sticker.<\/p>\n<p>Du willst uns bei unserer Mission unterst\u00fctzen?\u00a0<\/p>\n<\/p>\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/segelflicker.de\/?page_id=325\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-white-color\">Hier kannst du Bilder Hochladen!<\/mark><\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n    <link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css\"\/>\n    <style>\n    #sf-stats-wrap { font-family: Arial, sans-serif; }\n    #sf-stats-numbers {\n        display: flex; gap: 16px; margin-bottom: 16px; flex-wrap: wrap;\n    }\n    .sf-stat-card {\n        background: #1a1a2e; color: #fff; border-radius: 12px;\n        padding: 16px 24px; text-align: center; flex: 1; min-width: 120px;\n    }\n    .sf-stat-card .sf-stat-num { font-size: 36px; font-weight: 900; line-height: 1; }\n    .sf-stat-card .sf-stat-label { font-size: 13px; opacity: .7; margin-top: 4px; }\n    #sf-choropleth-map { border-radius: 10px; box-shadow: 0 4px 16px rgba(0,0,0,.12); }\n    #sf-country-list {\n        margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px;\n    }\n    .sf-country-tag {\n        background: #dcfce7; color: #166534; border-radius: 20px;\n        padding: 4px 12px; font-size: 13px; font-weight: 600;\n        border: 1px solid #bbf7d0;\n    }\n    #sf-stats-legend {\n        display: flex; gap: 16px; align-items: center;\n        margin-top: 10px; font-size: 13px; color: #555;\n    }\n    .sf-legend-item { display: flex; align-items: center; gap: 6px; }\n    .sf-legend-dot { width: 16px; height: 16px; border-radius: 3px; }\n    <\/style>\n\n    <div id=\"sf-stats-wrap\">\n        <div id=\"sf-stats-numbers\">\n            <div class=\"sf-stat-card\">\n                <div class=\"sf-stat-num\" id=\"sf-count-pins\">\u2013<\/div>\n                <div class=\"sf-stat-label\">Sticker weltweit<\/div>\n            <\/div>\n            <div class=\"sf-stat-card\">\n                <div class=\"sf-stat-num\" id=\"sf-count-countries\">\u2013<\/div>\n                <div class=\"sf-stat-label\">L\u00e4nder erreicht<\/div>\n            <\/div>\n        <\/div>\n\n        <div id=\"sf-choropleth-map\" style=\"height:420px\"><\/div>\n\n        <div id=\"sf-stats-legend\">\n            <div class=\"sf-legend-item\"><div class=\"sf-legend-dot\" style=\"background:#22c55e\"><\/div> Sticker vorhanden<\/div>\n            <div class=\"sf-legend-item\"><div class=\"sf-legend-dot\" style=\"background:#e5e7eb;border:1px solid #d1d5db\"><\/div> Noch kein Sticker<\/div>\n        <\/div>\n\n        <div id=\"sf-country-list\"><\/div>\n    <\/div>\n\n    <script>\n    (function(){\n        function initStats(){\n            if (typeof L === 'undefined') { setTimeout(initStats, 100); return; }\n\n            fetch('https:\/\/segelflicker.de\/index.php?rest_route=\/segelflicker\/v1\/stickers')\n            .then(function(r){ return r.json(); })\n            .then(function(stickers){\n                \/\/ Deutsch -> Englisch Uebersetzung fuer Laendernamen\n                var deToEn = {\n                    'Afghanistan':'Afghanistan','Aegypten':'Egypt','Aethiopien':'Ethiopia',\n                    'Albanien':'Albania','Algerien':'Algeria','Andorra':'Andorra',\n                    'Angola':'Angola','Argentinien':'Argentina','Armenien':'Armenia',\n                    'Aserbaidschan':'Azerbaijan','Australien':'Australia','Oesterreich':'Austria',\n                    'Bahrain':'Bahrain','Bangladesch':'Bangladesh','Belarus':'Belarus',\n                    'Belgien':'Belgium','Bosnien und Herzegowina':'Bosnia and Herzegovina',\n                    'Brasilien':'Brazil','Bulgarien':'Bulgaria','Chile':'Chile','China':'China',\n                    'Costa Rica':'Costa Rica','Daenemark':'Denmark','Deutschland':'Germany',\n                    'Ecuador':'Ecuador','El Salvador':'El Salvador','Estland':'Estonia',\n                    'Finnland':'Finland','Frankreich':'France','Georgien':'Georgia',\n                    'Griechenland':'Greece','Grossbritannien':'United Kingdom',\n                    'Guatemala':'Guatemala','Honduras':'Honduras','Indien':'India',\n                    'Indonesien':'Indonesia','Irak':'Iraq','Iran':'Iran','Irland':'Ireland',\n                    'Island':'Iceland','Israel':'Israel','Italien':'Italy','Japan':'Japan',\n                    'Jemen':'Yemen','Jordanien':'Jordan','Kambodscha':'Cambodia',\n                    'Kamerun':'Cameroon','Kanada':'Canada','Kasachstan':'Kazakhstan',\n                    'Kenia':'Kenya','Kolumbien':'Colombia','Kroatien':'Croatia',\n                    'Kuba':'Cuba','Kuwait':'Kuwait','Laos':'Laos','Lettland':'Latvia',\n                    'Libanon':'Lebanon','Libyen':'Libya','Litauen':'Lithuania',\n                    'Luxemburg':'Luxembourg','Marokko':'Morocco','Mazedonien':'North Macedonia',\n                    'Mexiko':'Mexico','Moldau':'Moldova','Monaco':'Monaco',\n                    'Mongolei':'Mongolia','Montenegro':'Montenegro','Mosambik':'Mozambique',\n                    'Myanmar':'Myanmar','Namibia':'Namibia','Nepal':'Nepal',\n                    'Neuseeland':'New Zealand','Nicaragua':'Nicaragua','Niederlande':'Netherlands',\n                    'Nigeria':'Nigeria','Nordkorea':'North Korea','Norwegen':'Norway',\n                    'Oman':'Oman','Pakistan':'Pakistan','Panama':'Panama','Paraguay':'Paraguay',\n                    'Peru':'Peru','Philippinen':'Philippines','Polen':'Poland',\n                    'Portugal':'Portugal','Rumaenien':'Romania','Rum\u00e4nien':'Romania',\n                    'Russland':'Russia','Saudi-Arabien':'Saudi Arabia','Schweden':'Sweden',\n                    'Schweiz':'Switzerland','Senegal':'Senegal','Serbien':'Serbia',\n                    'Singapur':'Singapore','Slowakei':'Slovakia','Slowenien':'Slovenia',\n                    'Spanien':'Spain','Sri Lanka':'Sri Lanka','Suedafrika':'South Africa',\n                    'S\u00fcdafrika':'South Africa','Suedkorea':'South Korea','S\u00fcdkorea':'South Korea',\n                    'Syrien':'Syria','Taiwan':'Taiwan','Tansania':'Tanzania',\n                    'Thailand':'Thailand','Tschechien':'Czechia','Tunesien':'Tunisia',\n                    'Tuerkei':'Turkey','T\u00fcrkei':'Turkey','Ukraine':'Ukraine','Ungarn':'Hungary',\n                    'Uruguay':'Uruguay','Usbekistan':'Uzbekistan','Venezuela':'Venezuela',\n                    'Vereinigte Arabische Emirate':'United Arab Emirates',\n                    'Vereinigte Staaten':'United States of America','USA':'United States of America',\n                    'Vietnam':'Vietnam','Weissrussland':'Belarus','Zypern':'Cyprus',\n                    \/\/ Umlaute-Varianten\n                    '\u00c4gypten':'Egypt','\u00c4thiopien':'Ethiopia','\u00d6sterreich':'Austria',\n                    'D\u00e4nemark':'Denmark','T\u00fcrkei':'Turkey','S\u00fcdkorea':'South Korea',\n                    'S\u00fcdafrika':'South Africa','Tschechien':'Czechia','Rum\u00e4nien':'Romania',\n                };\n\n                function sfToEnglish(name) {\n                    if (!name) return name;\n                    var n = name.trim();\n                    \/\/ Exakter Match\n                    if (deToEn[n]) return deToEn[n];\n                    \/\/ Case-insensitiver Match\n                    var lower = n.toLowerCase();\n                    for (var k in deToEn) {\n                        if (k.toLowerCase() === lower) return deToEn[k];\n                    }\n                    \/\/ Schon englisch oder unbekannt -> unveraendert\n                    return n;\n                }\n\n                \/\/ Laender sammeln (intern als Englisch speichern fuer Karten-Matching)\n                var countries = {};       \/\/ key=Originalname (fuer Tags), value=count\n                var countriesEn = {};     \/\/ key=Englisch (fuer Karten-Matching), value=count\n                var enToOriginal = {};    \/\/ Englisch -> Originalname\n                stickers.forEach(function(s){\n                    if (s.country) {\n                        var orig = s.country.trim();\n                        var en   = sfToEnglish(orig);\n                        if (!countries[orig]) countries[orig] = 0;\n                        countries[orig]++;\n                        if (!countriesEn[en]) countriesEn[en] = 0;\n                        countriesEn[en]++;\n                        enToOriginal[en] = orig;\n                    }\n                });\n                var countryNames = Object.keys(countries);\n\n                document.getElementById('sf-count-pins').textContent = stickers.length;\n                document.getElementById('sf-count-countries').textContent = countryNames.length;\n\n                \/\/ Laender-Tags\n                var list = document.getElementById('sf-country-list');\n                countryNames.sort().forEach(function(c){\n                    var tag = document.createElement('span');\n                    tag.className = 'sf-country-tag';\n                    tag.textContent = c + (countries[c] > 1 ? ' ('+countries[c]+')' : '');\n                    list.appendChild(tag);\n                });\n\n                \/\/ Choropleth Karte\n                var map = L.map('sf-choropleth-map', {\n                    center: [20,10], zoom: 2, minZoom: 1,\n                    zoomControl: true, scrollWheelZoom: false\n                });\n                L.tileLayer('https:\/\/{s}.tile.openstreetmap.org\/{z}\/{x}\/{y}.png', {\n                    attribution: '&copy; OpenStreetMap',\n                    opacity: 0.3\n                }).addTo(map);\n\n                \/\/ GeoJSON Weltkarte laden\n                fetch('https:\/\/raw.githubusercontent.com\/datasets\/geo-countries\/master\/data\/countries.geojson')\n                .then(function(r){ return r.json(); })\n                .then(function(geoData){\n                    L.geoJSON(geoData, {\n                        style: function(feature){\n                            var name = (feature.properties.ADMIN || feature.properties.name || '').trim().toLowerCase();\n                            var hit = Object.keys(countriesEn).some(function(en){\n                                return en.trim().toLowerCase() === name;\n                            });\n                            return {\n                                fillColor:   hit ? '#22c55e' : '#e5e7eb',\n                                fillOpacity: hit ? 0.75 : 0.4,\n                                color:       hit ? '#16a34a' : '#d1d5db',\n                                weight:      hit ? 1.5 : 0.5,\n                            };\n                        },\n                        onEachFeature: function(feature, layer){\n                            var name     = (feature.properties.ADMIN || feature.properties.name || '').trim();\n                            var nameLow  = name.toLowerCase();\n                            var matchKey = null;\n                            Object.keys(countriesEn).forEach(function(en){\n                                if (en.trim().toLowerCase() === nameLow) matchKey = en;\n                            });\n                            var hit   = matchKey !== null;\n                            var count = hit ? countriesEn[matchKey] : 0;\n                            var orig  = hit ? (enToOriginal[matchKey] || name) : name;\n                            if (hit) {\n                                layer.bindTooltip('<strong>' + orig + '<\/strong><br>\u2693 ' + count + ' Sticker', {sticky:true});\n                                layer.on('mouseover', function(){ this.setStyle({fillOpacity:0.95, weight:2}); });\n                                layer.on('mouseout',  function(){ this.setStyle({fillOpacity:0.75, weight:1.5}); });\n                            } else {\n                                layer.bindTooltip(name, {sticky:true, className:'sf-tt-grey'});\n                            }\n                        }\n                    }).addTo(map);\n                });\n            });\n        }\n        initStats();\n    })();\n    <\/script>\n    <script src=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js\"><\/script>\n    \n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Jedem Land ein Sticker Unsere Mission: In Jedem Land einen Segelflicker Sticker h\u00e4ngen zu haben. Auf der Karte oben kann man alle Aktuellen Orte welche mit einem Segelflicker Sticker versch\u00f6nert wurden sehen, klickt man auf den Pin erscheint zus\u00e4tzlich ein Bild vom jeweiligen Sticker. Du willst uns bei unserer Mission unterst\u00fctzen?\u00a0<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-151","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/segelflicker.de\/index.php?rest_route=\/wp\/v2\/pages\/151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/segelflicker.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/segelflicker.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/segelflicker.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/segelflicker.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=151"}],"version-history":[{"count":15,"href":"https:\/\/segelflicker.de\/index.php?rest_route=\/wp\/v2\/pages\/151\/revisions"}],"predecessor-version":[{"id":342,"href":"https:\/\/segelflicker.de\/index.php?rest_route=\/wp\/v2\/pages\/151\/revisions\/342"}],"wp:attachment":[{"href":"https:\/\/segelflicker.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}