]> git.openstreetmap.org Git - rails.git/commitdiff
Abort loading when data layer is removed
authorAnton Khorev <tony29@yandex.ru>
Wed, 29 Jan 2025 12:59:49 +0000 (15:59 +0300)
committerAnton Khorev <tony29@yandex.ru>
Wed, 29 Jan 2025 13:15:10 +0000 (16:15 +0300)
app/assets/javascripts/index/layers/data.js

index e1246ca6c9d1862141f0189623d8fb2ecb8f9082..3cc8f61357d9b99c5c040978dd6012081ca9f8a8 100644 (file)
@@ -1,6 +1,6 @@
 OSM.initializeDataLayer = function (map) {
-  var loadedBounds;
-  var dataLayer = map.dataLayer;
+  let dataLoader, loadedBounds;
+  const dataLayer = map.dataLayer;
 
   dataLayer.setStyle({
     way: {
@@ -32,6 +32,8 @@ OSM.initializeDataLayer = function (map) {
   });
 
   dataLayer.on("remove", function () {
+    if (dataLoader) dataLoader.abort();
+    dataLoader = null;
     map.off("moveend", updateData);
     $("#browse_status").empty();
     map.fire("overlayremove", { layer: this });
@@ -77,8 +79,6 @@ OSM.initializeDataLayer = function (map) {
               .text(I18n.t("browse.start_rjs.feature_error", { message: message }))))));
   }
 
-  var dataLoader;
-
   function getData() {
     var bounds = map.getBounds();
     var url = "/api/" + OSM.API_VERSION + "/map?bbox=" + bounds.toBBoxString();