]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/layers/data.js
Merge remote-tracking branch 'upstream/pull/5643'
[rails.git] / app / assets / javascripts / index / layers / data.js
index 7e4b2d2568b4a1704f7bb58f386c54b087e8e079..e6a7cc66684be0323361d21758156a9ee816ffb8 100644 (file)
@@ -1,6 +1,6 @@
 OSM.initializeDataLayer = function (map) {
 OSM.initializeDataLayer = function (map) {
-  var loadedBounds;
-  var dataLayer = map.dataLayer;
+  let dataLoader, loadedBounds;
+  const dataLayer = map.dataLayer;
 
   dataLayer.setStyle({
     way: {
 
   dataLayer.setStyle({
     way: {
@@ -32,6 +32,8 @@ OSM.initializeDataLayer = function (map) {
   });
 
   dataLayer.on("remove", function () {
   });
 
   dataLayer.on("remove", function () {
+    if (dataLoader) dataLoader.abort();
+    dataLoader = null;
     map.off("moveend", updateData);
     $("#browse_status").empty();
     map.fire("overlayremove", { layer: this });
     map.off("moveend", updateData);
     $("#browse_status").empty();
     map.fire("overlayremove", { layer: this });
@@ -75,8 +77,6 @@ OSM.initializeDataLayer = function (map) {
           .text(I18n.t("browse.start_rjs.feature_error", { message: message }))));
   }
 
           .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();
   function getData() {
     var bounds = map.getBounds();
     var url = "/api/" + OSM.API_VERSION + "/map?bbox=" + bounds.toBBoxString();
@@ -121,7 +121,7 @@ OSM.initializeDataLayer = function (map) {
       },
       error: function (XMLHttpRequest, textStatus) {
         dataLoader = null;
       },
       error: function (XMLHttpRequest, textStatus) {
         dataLoader = null;
-        if (textStatus === "abort") { return; }
+        if (textStatus === "abort") return;
 
         function closeError() {
           $("#browse_status").empty();
 
         function closeError() {
           $("#browse_status").empty();