Improve behaviour of browse pages when no bounding box is available
authorTom Hughes <tom@compton.nu>
Tue, 1 Oct 2013 21:46:16 +0000 (22:46 +0100)
committerTom Hughes <tom@compton.nu>
Tue, 1 Oct 2013 21:46:16 +0000 (22:46 +0100)
app/assets/javascripts/browse.js
app/assets/javascripts/leaflet.extend.js.erb

index 11818a1712c513421221455c2c3f209c488b7c01..565af41afc9ff1723b45b8c3b9921b05e721be9e 100644 (file)
@@ -61,9 +61,10 @@ $(document).ready(function () {
       zoom: true,
       callback: function(extent) {
         $("#loading").hide();
-        $("#browse_map .secondary-actions").show();
 
-        if (extent) {
+        if (extent && extent.isValid()) {
+          $("#browse_map .secondary-actions").show();
+
           $("a.bbox[data-editor=remote]").click(function () {
             return remoteEditHandler(extent);
           });
@@ -76,8 +77,6 @@ $(document).ready(function () {
           $("#object_edit").show();
 
           updatelinks(map.getCenter(), 16, null, extent, object);
-        } else {
-          $("#small_map").hide();
         }
       }
     });
index 966d0276b33c6827553dbcaaa9b1366bf4a77584..0ab0ffacec1b9614ef77ea34e3f287e29a5349ac 100644 (file)
@@ -140,8 +140,10 @@ L.extend(L.Map.prototype, {
 
         map._objectLayer.addData(xml);
 
-        if (options.zoom) map.fitBounds(map._objectLayer.getBounds());
-        if (options.callback) options.callback(map._objectLayer.getBounds());
+        var bounds = map._objectLayer.getBounds();
+
+        if (options.zoom && bounds.isValid()) map.fitBounds(bounds);
+        if (options.callback) options.callback(bounds);
 
         map._objectLayer.addTo(map);
       }