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: '
',
- 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: '',
- 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+'
'; }