Wie versprochen, hier der Code mit Kurzanleitung zur Anzeige einer eigenen Map in Verbindung mit Tankerkönig.
Code: Alles auswählen
<!DOCTYPE html>
<html>
<head>
<title>Leaflet Map</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css"
integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="
crossorigin=""/>
</head>
<body>
<script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js"
integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew=="
crossorigin=""></script>
<div id="map" style="width: 100%; height: 540px"></div>
<script>
var planes = [
["<b>Aral Tankstelle</b><br>Mustermann Str. 1",48.123459,2.12325], <!-- Muster-Eintrag für Ihre Tankstelle1 -->
["<b>Esso Tankstelle</b><br>Mustermann Str. 2",48.123459,2.12245], <!-- Muster-Eintrag für Ihre Tankstelle2 -->
["<b>Shell Tankstelle</b><br>Mustermann Str. 3",48.123459,2.12342], <!-- Muster-Eintrag für Ihre Tankstelle3 -->
["<b>Jet Tankstelle</b><br>Mustermann Str. 4",48.123459,2.12325], <!-- Muster-Eintrag für Ihre Tankstelle4 -->
["<b>Total Tankstelle</b><br>Mustermann Str. 5",48.123459,2.12245], <!-- Muster-Eintrag für Ihre Tankstelle5 -->
["<b>Shell Tankstelle</b><br>Mustermann Str. 6",48.123459,2.1232], <!-- Muster-Eintrag für Ihre Tankstelle6 -->
["<b>Bavaria Tankstelle</b><br>Mustermann Str. 7",48.123459,2.125], <!-- Muster-Eintrag für Ihre Tankstelle7 -->
["<b>Markant Tankstelle</b><br>Mustermann Str. 8",48.123459,2.2345], <!-- Muster-Eintrag für Ihre Tankstelle8 -->
];
var map = L.map('map').setView([41.2858, 174.78682], 13) <!-- Koordinaten Ihrer eigenen Adresse -->
var circle = L.circle([41.2858, 174.78682], { <!-- Koordinaten Ihrer eigenen Adresse -->
color: 'red',
fillColor: '#f03',
fillOpacity: 0.5,
radius: 200
}).addTo(map);
circle.bindPopup("<b>Eigene Adresse:</b><br>Muster Str. 9");
mapLink =
'<a href="http://openstreetmap.org">OpenStreetMap</a>';
L.tileLayer(
'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© ' + mapLink + ' created by scotty',
maxZoom: 18,
}).addTo(map);
for (var i = 0; i < planes.length; i++) {
marker = new L.marker([planes[i][1],planes[i][2]])
.bindPopup(planes[i][0])
.addTo(map);
}
</script>
</body>
</html>
1.) Erstelle mit Visual Studio Code auf dem raspi im Verzeichnis /etc/openhab2/html eine HTML-Datei (z. B. tanke.html)
2.) Füge den obigen Code in die leere Datei ein und speicher sie ab.
3.) Die richtigen Koordinaten für deine Tankstellen und deine Adresse (Zeilen 19 bis 26, 28 und 30 kannst du dir über den Tankstellenfinder von Tankerkönig (
https://creativecommons.tankerkoenig.de/) besorgen. Wenn du möchtest kannst du dir eine Zusammenstellung als "station.json" runterladen.
4.) Nachdem die Datei mit deinen Daten gefüllt und gespeichert ist, empfiehlt sich ein Neustart.
5.) Installiere das Widget "Rahmen" im Habpanel und trage in den Einstellungen "
http://raspiIP:8080/static/deinehtmldatei.html" ein.
Dann müsste deine eigene Map mit den Markern zu deinen Tankstellen eigentlich auf dem Bildschirm bzw. Tablet zu sehen sein.
Weitere Hilfe kannst du dir hier:
https://leafletjs.com/reference-1.6.0.html
https://wiki.openstreetmap.org/wiki/DE: ... rbereitung
https://wiki.openstreetmap.org/wiki/DE: ... HTML-Datei
https://leanpub.com/leaflet-tips-and-tr ... to-our-map
https://leafletjs.com/examples/extendin ... trols.html
https://astrid-guenther.de/dies-und-das ... -erstellen
holen.
Verbesserungsvorschläge sind jederzeit willkommen!
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's