Compare commits

..

No commits in common. "d73ecc2b202580bcb24ed5b0e7be26e3c2e51c0c" and "da1b181666f89232d3733ad92bb85ca907078a44" have entirely different histories.

View file

@ -22,7 +22,7 @@ class SkyView {
this.heatmapLayer = null; this.heatmapLayer = null;
// UI state // UI state
this.currentView = 'map-view'; this.currentView = 'map';
this.showTrails = false; this.showTrails = false;
this.showRange = false; this.showRange = false;
this.showSources = true; this.showSources = true;
@ -70,26 +70,16 @@ class SkyView {
switchView(viewId) { switchView(viewId) {
// Update buttons // Update buttons
document.querySelectorAll('.view-btn').forEach(btn => btn.classList.remove('active')); document.querySelectorAll('.view-btn').forEach(btn => btn.classList.remove('active'));
const activeBtn = document.getElementById(`${viewId}-btn`); document.getElementById(`${viewId}-btn`).classList.add('active');
if (activeBtn) {
activeBtn.classList.add('active');
}
// Update views (viewId already includes the full view ID like "map-view") // Update views
document.querySelectorAll('.view').forEach(view => view.classList.remove('active')); document.querySelectorAll('.view').forEach(view => view.classList.remove('active'));
const activeView = document.getElementById(viewId); document.getElementById(`${viewId}-view`).classList.add('active');
if (activeView) {
activeView.classList.add('active');
} else {
console.warn(`View element not found: ${viewId}`);
return;
}
this.currentView = viewId; this.currentView = viewId;
// Handle view-specific initialization (extract base name for switch) // Handle view-specific initialization
const baseName = viewId.replace('-view', ''); switch (viewId) {
switch (baseName) {
case 'coverage': case 'coverage':
this.initializeCoverageMap(); this.initializeCoverageMap();
break; break;
@ -218,7 +208,7 @@ class SkyView {
this.updateStatistics(); this.updateStatistics();
this.updateHeaderInfo(); this.updateHeaderInfo();
if (this.currentView === 'radar3d-view') { if (this.currentView === 'radar3d') {
this.update3DRadar(); this.update3DRadar();
} }
} }
@ -343,35 +333,13 @@ class SkyView {
} }
updateSourceMarkers() { updateSourceMarkers() {
// Remove markers for sources that no longer exist // Clear existing source markers
const currentSourceIds = new Set(this.sourcesData.keys()); this.sourceMarkers.forEach(marker => this.map.removeLayer(marker));
for (const [id, marker] of this.sourceMarkers) { this.sourceMarkers.clear();
if (!currentSourceIds.has(id)) {
this.map.removeLayer(marker);
this.sourceMarkers.delete(id);
}
}
// Update or create markers for current sources // Add source markers
for (const [id, source] of this.sourcesData) { for (const [id, source] of this.sourcesData) {
if (source.latitude && source.longitude) { if (source.latitude && source.longitude) {
if (this.sourceMarkers.has(id)) {
// Update existing marker
const marker = this.sourceMarkers.get(id);
// Update marker style if status changed
marker.setStyle({
radius: source.active ? 10 : 6,
fillColor: source.active ? '#00d4ff' : '#666666',
fillOpacity: 0.8
});
// Update popup content if it's open
if (marker.isPopupOpen()) {
marker.setPopupContent(this.createSourcePopupContent(source));
}
} else {
// Create new marker
const marker = L.circleMarker([source.latitude, source.longitude], { const marker = L.circleMarker([source.latitude, source.longitude], {
radius: source.active ? 10 : 6, radius: source.active ? 10 : 6,
fillColor: source.active ? '#00d4ff' : '#666666', fillColor: source.active ? '#00d4ff' : '#666666',
@ -388,7 +356,6 @@ class SkyView {
this.sourceMarkers.set(id, marker); this.sourceMarkers.set(id, marker);
} }
} }
}
this.updateSourcesLegend(); this.updateSourcesLegend();
} }