diff --git a/application/views/bandmap/list.php b/application/views/bandmap/list.php
index 938c4f0cd..9ce18b5ce 100644
--- a/application/views/bandmap/list.php
+++ b/application/views/bandmap/list.php
@@ -91,6 +91,7 @@
// DX Map translation strings
var lang_bandmap_draw_spotters = "= __("Draw Spotters"); ?>";
var lang_bandmap_extend_map = "= __("Extend Map"); ?>";
+ var lang_bandmap_show_daynight = "= __("Show Day/Night"); ?>";
var lang_bandmap_your_qth = "= __("Your QTH"); ?>";
var lang_bandmap_callsign = "= __("Callsign"); ?>";
var lang_bandmap_frequency = "= __("Frequency"); ?>";
diff --git a/application/views/interface_assets/footer.php b/application/views/interface_assets/footer.php
index 472bbf6d5..d0fb2da6e 100644
--- a/application/views/interface_assets/footer.php
+++ b/application/views/interface_assets/footer.php
@@ -1468,6 +1468,7 @@ mymap.on('mousemove', onQsoMapMove);
+
diff --git a/assets/js/sections/bandmap_list.js b/assets/js/sections/bandmap_list.js
index 5fd7a6d39..499de2c28 100644
--- a/assets/js/sections/bandmap_list.js
+++ b/assets/js/sections/bandmap_list.js
@@ -3434,6 +3434,8 @@ $(function() {
let connectionLines = [];
let userHomeMarker = null;
let showSpotters = false;
+ let showDayNight = true; // Day/Night terminator enabled by default
+ let terminatorLayer = null; // Store terminator layer reference
let hoverSpottersData = new Map(); // Store spotter data for hover
let hoverSpotterMarkers = []; // Temporary markers shown on hover
let hoverConnectionLines = []; // Temporary lines shown on hover
@@ -3471,6 +3473,9 @@ $(function() {
addUserHomeMarker();
addSpottersControl();
+
+ // Initialize terminator (enabled by default)
+ updateTerminator();
}
/**
@@ -3509,6 +3514,7 @@ $(function() {
const div = L.DomUtil.create("div", "legend");
div.innerHTML = ' ' + lang_bandmap_draw_spotters + '
';
div.innerHTML += ' ' + lang_bandmap_extend_map + '
';
+ div.innerHTML += ' ' + lang_bandmap_show_daynight + '
';
return div;
};
legend.addTo(dxMap);
@@ -3533,9 +3539,37 @@ $(function() {
dxMap.invalidateSize();
}
});
+
+ $('#showDayNightCheckbox').on('change', function() {
+ showDayNight = this.checked;
+ updateTerminator();
+ });
}, 100);
}
+ /**
+ * Update day/night terminator layer
+ */
+ function updateTerminator() {
+ if (!dxMap) return;
+
+ // Remove existing terminator layer if it exists
+ if (terminatorLayer) {
+ dxMap.removeLayer(terminatorLayer);
+ terminatorLayer = null;
+ }
+
+ // Add new terminator layer if enabled
+ if (showDayNight) {
+ terminatorLayer = L.terminator({
+ fillOpacity: 0.3,
+ color: '#000',
+ weight: 1
+ });
+ terminatorLayer.addTo(dxMap);
+ }
+ }
+
/**
* Group spots by DXCC entity
*/
@@ -4263,6 +4297,9 @@ $(function() {
dxMap.fitBounds(bounds, { padding: [50, 50], maxZoom: 8 });
}
+ // Update day/night terminator
+ updateTerminator();
+
setTimeout(() => {
if (dxMap) dxMap.invalidateSize();
}, 100);