From 1bba635ba9c4d1c17da72f8f2c0e9a0c8ff229f2 Mon Sep 17 00:00:00 2001 From: Matthias Wirth Date: Wed, 9 Dec 2020 10:25:23 +0100 Subject: [PATCH] make sure the map refreshes at least every 2nd data read even when panning or zooming also instantly update aircraft positions if the visible aircraft count is less than 500 --- html/script.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/html/script.js b/html/script.js index cf3216c..3073a9d 100644 --- a/html/script.js +++ b/html/script.js @@ -99,7 +99,7 @@ let firstFetchDone = false; let overrideMapType = null; let halloween = false; let noRegOnly = false; -let triggerMapRefresh = false; +let triggerMapRefresh = 0; let firstDraw = true; let shareLink = ''; @@ -367,7 +367,9 @@ function fetchData() { } if (PendingFetches <= 1) { - triggerMapRefresh = true; + triggerMapRefresh++; + if (TrackedAircraftPositions < 500) + checkRefresh(); // immediately trigger refresh if aircraft count is low enough } PendingFetches--; @@ -3807,7 +3809,7 @@ function checkMovement() { //console.timeEnd("fire!"); } - if (noMovement >= 3) + if (noMovement >= 3 || triggerMapRefresh > 1) checkRefresh(); noMovement++; @@ -3829,7 +3831,7 @@ function checkRefresh() { mapRefresh(); //console.timeEnd("refreshTable"); - triggerMapRefresh = false; + triggerMapRefresh = 0; } } function mapRefresh() { @@ -3914,9 +3916,6 @@ function changeZoom(init) { else scaleFactor = markerSmall; - if (scaleFactor != oldScaleFactor) - triggerMapRefresh = true; - // scale markers according to global scaling scaleFactor *= Math.pow(1.3, globalScale) * globalScale * iconScale;;