]> git.openstreetmap.org Git - rails.git/commitdiff
Fix "in bounds" test in updateData
authorTom Hughes <tom@compton.nu>
Mon, 25 Nov 2013 19:03:35 +0000 (19:03 +0000)
committerTom Hughes <tom@compton.nu>
Mon, 25 Nov 2013 19:13:01 +0000 (19:13 +0000)
Only call getData if the new bounds are not contained within the
old bounds, and only update the bounds after a successful load so
that the don't change if we error out.

app/assets/javascripts/index/browse.js

index 752c84fecee841505b14bc402ce324c9f5cde7d6..69f6e3bc81acce08ac5c5e3bcf3482639d8af1e9 100644 (file)
@@ -42,8 +42,9 @@ function initializeBrowse(map) {
 
   function updateData() {
     var bounds = map.getBounds();
-    getData(!browseBounds || !browseBounds.contains(bounds));
-    browseBounds = bounds;
+    if (!browseBounds || !browseBounds.contains(bounds)) {
+      getData();
+    }
   }
 
   function displayFeatureWarning(count, limit, callback) {
@@ -58,7 +59,7 @@ function initializeBrowse(map) {
 
   var dataLoader;
 
-  function getData(inPrevious) {
+  function getData() {
     var bounds = map.getBounds();
     var size = bounds.getSize();
 
@@ -66,11 +67,9 @@ function initializeBrowse(map) {
       $('#browse_status').html(
         $("<p class='warning'></p>")
           .text(I18n.t("browse.start_rjs.unable_to_load_size", { max_bbox_size: OSM.MAX_REQUEST_AREA, bbox_size: size.toFixed(2) })));
-      return;
+      return false;
     }
 
-    if (inPrevious) return;
-
     var url = "/api/" + OSM.API_VERSION + "/map?bbox=" + bounds.toBBoxString();
 
     /*
@@ -110,6 +109,7 @@ function initializeBrowse(map) {
         }
 
         dataLoader = null;
+        browseBounds = bounds;
       }
     });
   }