From 090920d3cb061aacf77d402805bbfbdab25b5f64 Mon Sep 17 00:00:00 2001 From: cixio <5869764+cixio@users.noreply.github.com> Date: Tue, 26 Apr 2022 22:09:14 +0200 Subject: [PATCH] LiveMap updates (#298) * LiveMap updates - Update to Leaflet 1.8.0 - Added Topo-Map - Bugfix: Map only changed after the second click - better darkmode handling - changed order of maps: (dark if darkmode enabled) -> white -> topo -> sat -> dark * Open any MapsApp with geo:// - Link --- RX_FSK/data/livemap.html | 4 ++-- RX_FSK/data/livemap.js | 50 +++++++++++++++++++++------------------- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/RX_FSK/data/livemap.html b/RX_FSK/data/livemap.html index cc6b669..5d471af 100644 --- a/RX_FSK/data/livemap.html +++ b/RX_FSK/data/livemap.html @@ -5,10 +5,10 @@ - + - + diff --git a/RX_FSK/data/livemap.js b/RX_FSK/data/livemap.js index e46f76a..f3992a5 100644 --- a/RX_FSK/data/livemap.js +++ b/RX_FSK/data/livemap.js @@ -14,12 +14,9 @@ $(document).ready(function(){ L.control.scale().addTo(map); L.control.attribution({prefix:false}).addTo(map); - const currentTheme = localStorage.getItem("theme"); - - var osmlight = L.tileLayer('https://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png', { - attribution: '
Leaflet · Map: OpenStreetMap
', - minZoom: 1, - maxZoom: 19 + var osmlight = L.tileLayer('https://{s}.tile.openstreetmap.de/{z}/{x}/{y}.png', { + maxZoom: 18, + attribution: '© OpenStreetMap contributors' }); var osmdark = L.tileLayer('https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png', { @@ -27,35 +24,40 @@ $(document).ready(function(){ minZoom: 1, maxZoom: 19 }); + + var opentopo = L.tileLayer('https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png', { + maxZoom: 17, + attribution: 'Map data: © OpenStreetMap contributors, SRTM
Map style: © OpenTopoMap (CC-BY-SA)' + }); var esri = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', { - attribution: '
Leaflet · Map: Esri · Earthstar Geographics
', - minZoom: 1, - maxZoom: 20 + attribution: 'Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye,
Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community' }); + var basemap; - if (currentTheme == 'dark') { - basemap = osmdark; - + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + map.addLayer(osmdark); + basemap='osmdark'; } else { - basemap = osmlight; - document.body.classList.toggle("light-theme"); + map.addLayer(osmlight); + basemap='osmlight'; } - - - basemap.addTo(map); - + basemap_change = function () { if (basemap == 'osmlight') { map.removeLayer(osmlight); - map.addLayer(osmdark); - basemap = 'osmdark'; - } else if (basemap == 'osmdark') { - map.removeLayer(osmlight); + map.addLayer(opentopo); + basemap = 'opentopo'; + } else if (basemap == 'opentopo') { + map.removeLayer(opentopo); map.addLayer(esri); basemap = 'esri'; - } else { + } else if (basemap == 'esri') { map.removeLayer(esri); + map.addLayer(osmdark); + basemap = 'osmdark'; + } else { + map.removeLayer(osmdark); map.addLayer(osmlight); basemap = 'osmlight'; } @@ -440,7 +442,7 @@ map.addControl(new L.Control.Button([ { position:'topright', text: '⚙️', hre var add = '
Position: '+lat+', '+lon+'
'+ - 'Open: GMaps | OSM | Maps.me'; + 'Open: GMaps | OSM | GeoApp'; if (t == 'position') { return '
🎈 '+i.id+''+add+'
'; } if (t == 'burst') { return '
💥 Predicted Burst:
'+fd(i.datetime)+' in '+mr(i.altitude)+'m'+add+'
'; }