mirror of
https://github.com/wavelog/wavelog.git
synced 2026-03-22 10:24:14 +00:00
Day/Night mode at map
This commit is contained in:
@@ -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"); ?>";
|
||||
|
||||
@@ -1468,6 +1468,7 @@ mymap.on('mousemove', onQsoMapMove);
|
||||
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/cat.js?v=<?php echo time(); ?>"></script>
|
||||
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/leaflet/leaflet.geodesic.js?v=<?php echo time(); ?>"></script>
|
||||
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/leaflet.polylineDecorator.js?v=<?php echo time(); ?>"></script>
|
||||
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/leaflet/L.Terminator.js?v=<?php echo time(); ?>"></script>
|
||||
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/sections/bandmap_list.js?v=<?php echo time(); ?>"></script>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
@@ -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 = '<input type="checkbox" id="toggleSpotters" style="outline: none;"><span> ' + lang_bandmap_draw_spotters + '</span><br>';
|
||||
div.innerHTML += '<input type="checkbox" id="extendMapCheckbox" style="outline: none;"><span> ' + lang_bandmap_extend_map + '</span><br>';
|
||||
div.innerHTML += '<input type="checkbox" id="showDayNightCheckbox" checked style="outline: none;"><span> ' + lang_bandmap_show_daynight + '</span><br>';
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user