diff --git a/html/script.js b/html/script.js
index e622e37..3760467 100644
--- a/html/script.js
+++ b/html/script.js
@@ -303,8 +303,15 @@ function fetchData(options) {
return;
let currentTime = new Date().getTime();
- if (!options.force && (currentTime - lastFetch < refreshInt() || pendingFetches > 0)) {
- return;
+ if (!options.force) {
+ if (
+ currentTime - lastFetch < refreshInt()
+ || pendingFetches > 0
+ || OLMap.getView().getInteracting()
+ || OLMap.getView().getAnimating()
+ ) {
+ return;
+ }
}
if (debugFetch)
console.log((currentTime - lastFetch)/1000);
@@ -2516,6 +2523,7 @@ function initMap() {
case "e":
zoomIn();
break;
+ case "ArrowUp":
case "w":
oldCenter = OLMap.getView().getCenter();
extent = OLMap.getView().calculateExtent(OLMap.getSize());
@@ -2523,6 +2531,7 @@ function initMap() {
OLMap.getView().setCenter(newCenter);
toggleFollow(false);
break;
+ case "ArrowDown":
case "s":
oldCenter = OLMap.getView().getCenter();
extent = OLMap.getView().calculateExtent(OLMap.getSize());
@@ -2530,6 +2539,7 @@ function initMap() {
OLMap.getView().setCenter(newCenter);
toggleFollow(false);
break;
+ case "ArrowLeft":
case "a":
oldCenter = OLMap.getView().getCenter();
extent = OLMap.getView().calculateExtent(OLMap.getSize());
@@ -2537,6 +2547,7 @@ function initMap() {
OLMap.getView().setCenter(newCenter);
toggleFollow(false);
break;
+ case "ArrowRight":
case "d":
oldCenter = OLMap.getView().getCenter();
extent = OLMap.getView().calculateExtent(OLMap.getSize());