generated from Grigo/AndroidTemplate
fixed gistogramm
This commit is contained in:
+14
-26
@@ -48,18 +48,13 @@
|
||||
#elevationCanvas.elev-probe { cursor: crosshair; }
|
||||
.elev-legend { font-size: 0.7rem; }
|
||||
#qualityVizPanel {
|
||||
display: none; margin-top: 8px; gap: 8px;
|
||||
grid-template-columns: 140px 1fr; align-items: start;
|
||||
}
|
||||
#qualityVizPanel.visible { display: grid; }
|
||||
@media (max-width: 700px) {
|
||||
#qualityVizPanel.visible { grid-template-columns: 1fr; }
|
||||
display: none; margin-top: 8px;
|
||||
}
|
||||
#qualityVizPanel.visible { display: block; }
|
||||
.quality-viz-box {
|
||||
background: #0f3460; border: 1px solid #444; border-radius: 6px; padding: 6px;
|
||||
}
|
||||
.quality-viz-title { font-size: 0.7rem; color: #aaa; margin-bottom: 4px; }
|
||||
#qualityRoseCanvas { width: 100%; height: 140px; display: block; background: #0a0a14; border-radius: 4px; }
|
||||
#qualityDistCanvas { width: 100%; height: 140px; display: block; background: #0a0a14; border-radius: 4px; }
|
||||
#timelineStatsPanel {
|
||||
display: none; margin-top: 10px; padding-top: 10px; border-top: 1px solid #333;
|
||||
@@ -121,8 +116,8 @@
|
||||
#pairedStatus { font-size: 0.75rem; color: #aaa; margin-top: 4px; }
|
||||
.muted { color: #aaa; font-size: 0.75rem; }
|
||||
.legend { font-size: 0.75rem; color: #ccc; }
|
||||
.legend-tx { color: #e94560; }
|
||||
.legend-rx { color: #4fc3f7; }
|
||||
.legend-tx { color: #4fc3f7; }
|
||||
.legend-rx { color: #e94560; }
|
||||
#mapModal {
|
||||
display: none; position: fixed; z-index: 2000;
|
||||
min-width: 260px; max-width: 360px; max-height: 70vh; overflow: auto;
|
||||
@@ -337,12 +332,8 @@
|
||||
</div>
|
||||
<div id="qualityVizPanel">
|
||||
<div class="quality-viz-box">
|
||||
<div class="quality-viz-title">Качество по направлению TX→RX</div>
|
||||
<canvas id="qualityRoseCanvas" width="140" height="140"></canvas>
|
||||
</div>
|
||||
<div class="quality-viz-box">
|
||||
<div class="quality-viz-title">RX Quality vs расстояние</div>
|
||||
<canvas id="qualityDistCanvas" width="400" height="140"></canvas>
|
||||
<div class="quality-viz-title">RX Quality vs расстояние TX↔RX</div>
|
||||
<canvas id="qualityDistCanvas" width="800" height="140"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -387,7 +378,7 @@
|
||||
{ position: 'topright', collapsed: true }
|
||||
).addTo(map);
|
||||
|
||||
const API_BUILD = '2026-06-16h';
|
||||
const API_BUILD = '2026-06-16i';
|
||||
|
||||
const markers = {};
|
||||
let selectedId = null;
|
||||
@@ -470,9 +461,8 @@
|
||||
const TRACKS_POLL_MS = 10000;
|
||||
const TELEMETRY_POLL_MS = 2000;
|
||||
|
||||
const TX_COLOR = '#e94560';
|
||||
const RX_COLOR = '#4fc3f7';
|
||||
const GHOST_TX_COLOR = '#ff9800';
|
||||
const TX_COLOR = '#4fc3f7';
|
||||
const RX_COLOR = '#e94560';
|
||||
|
||||
map.on('zoomend moveend', () => {
|
||||
if (!programmaticMove) userMovedMap = true;
|
||||
@@ -1201,9 +1191,7 @@
|
||||
const quality = rxQualityFromMeta(rxPos.meta);
|
||||
if (quality == null) continue;
|
||||
const distM = haversineM(txPos.lat, txPos.lon, rxPos.lat, rxPos.lon);
|
||||
const bearing = QualityViz.bearingDeg(
|
||||
txPos.lat, txPos.lon, rxPos.lat, rxPos.lon);
|
||||
samples.push({ distM, bearing, quality });
|
||||
samples.push({ distM, quality });
|
||||
}
|
||||
return samples;
|
||||
}
|
||||
@@ -1231,9 +1219,7 @@
|
||||
return;
|
||||
}
|
||||
qualitySamplesCache = buildQualitySamples();
|
||||
const roseCanvas = document.getElementById('qualityRoseCanvas');
|
||||
const distCanvas = document.getElementById('qualityDistCanvas');
|
||||
QualityViz.drawQualityRose(roseCanvas, qualitySamplesCache, qualityColor);
|
||||
QualityViz.drawQualityDistChart(
|
||||
distCanvas, qualitySamplesCache, qualityColor, currentTimelineLinkDist());
|
||||
panel?.classList.add('visible');
|
||||
@@ -2404,12 +2390,14 @@
|
||||
|
||||
if (txPos) {
|
||||
ghostTx = L.circleMarker([txPos.lat, txPos.lon], {
|
||||
radius: 10, color: '#fff', fillColor: GHOST_TX_COLOR, fillOpacity: 0.9, weight: 3
|
||||
radius: 10, color: '#fff', fillColor: TX_COLOR, fillOpacity: 0.95, weight: 3
|
||||
}).addTo(map);
|
||||
}
|
||||
if (rxPos) {
|
||||
const q = rxQualityFromMeta(rxPos.meta);
|
||||
const rxGhostColor = q != null ? (qualityColor(q) || RX_COLOR) : RX_COLOR;
|
||||
ghostRx = L.circleMarker([rxPos.lat, rxPos.lon], {
|
||||
radius: 10, color: RX_COLOR, fillColor: RX_COLOR, fillOpacity: 0.9, weight: 3
|
||||
radius: 10, color: '#fff', fillColor: rxGhostColor, fillOpacity: 0.95, weight: 3
|
||||
}).addTo(map);
|
||||
}
|
||||
if (txPos && rxPos) {
|
||||
|
||||
Reference in New Issue
Block a user