Created
January 20, 2024 11:20
-
-
Save Ben-Ro/fb4dbf45e45afc66ad5ec5db1a4feae4 to your computer and use it in GitHub Desktop.
Zusammen-gegen-rechts.org Karte
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- | |
Copyright (c) 2024. Ben Rott | |
--> | |
<div id="map" class="box" style="height: 500px;"> </div> | |
<link rel="stylesheet" href="/src/leaflet.css" | |
integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" | |
crossorigin=""> | |
<script src="/src/leaflet.js" | |
integrity="sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og==" | |
crossorigin=""></script> | |
<script src="/src/leaflet-gesture-handling.min.js"></script> | |
<script>var map = L.map('map', {center: [51.5, 10], zoom: 5, maxZoom: 12, zoomSnap: 0, gestureHandling: true}); | |
L.tileLayer('https://a.tile.openstreetmap.org/{z}/{x}/{y}.png', {attribution: 'Initale Datenquelle: <a href="https://demokrateam.org">DemokraTeam.org</a> © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(map); </script> | |
<script> | |
function drawMarker(data) { | |
data.forEach(d => { | |
const link = d.link ? ('<a href="' + d.link + '">Mehr Informationen</a><br>') : ''; | |
const wa_text = `Zusammen gegen Rechts! Komm am ${d.datum} mit zur Demo gegen Rechts in ${d.stadt}. Los gehts ${d.location} um ${d.uhrzeit}! Mehr Infos: https://zusammen-gegen-rechts.org` | |
const wa = `<a href="whatsapp://send?text=${encodeURIComponent(wa_text)}"> | |
<div style="background-color: #25d366; border-radius: 100%; padding: 10px"><svg xmlns="http://www.w3.org/2000/svg" height="16" width="14" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"/></svg> | |
</div></a> | |
` | |
const email = ` | |
<a href="mailto:?subject=Demo%20gegen%20Rechts&body=${encodeURIComponent(wa_text)}"> | |
<div style="background-color: #f0f0f0; border-radius: 100%; padding: 10px"><svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg></div> | |
</a> | |
` | |
const share= `<div>Demo mit Freund:innen Teilen:<br> | |
<div style="display: flex; gap: 1rem; color: white">${wa} ${email}</div> | |
</div>` | |
L.marker([d.geo0, d.geo1]).addTo(map).bindPopup('<b>' + d.stadt + ' - ' + d.datum + '</b></br>' + d.uhrzeit + '<br> ' + d.location + '<br>' + link + '<br>' +share); | |
const list = document.getElementById('list'); | |
const listItem = document.createElement('li'); | |
listItem.innerHTML = `<b>${d.stadt} - ${d.datum}</b>: ${d.uhrzeit}, ${d.location} ${link}`; | |
list.appendChild(listItem); | |
}) | |
} | |
function reqListener() { | |
const data = JSON.parse(this.responseText) | |
drawMarker(data) | |
} | |
let oReq = new XMLHttpRequest(); | |
oReq.addEventListener("load", reqListener); | |
oReq.open("GET", "/map.json"); | |
oReq.send(); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment