change updatelinks params so that Potlatch can pass in the view bbox. Also check...
authorHarry Wood <mail@harrywood.co.uk>
Thu, 23 Apr 2009 14:38:40 +0000 (14:38 +0000)
committerHarry Wood <mail@harrywood.co.uk>
Thu, 23 Apr 2009 14:38:40 +0000 (14:38 +0000)
app/views/site/index.rhtml
public/javascripts/site.js

index 54f28172739f2521a33a6dfd4bddc098eb3b4230..b8fcf579ee2c6071d78257eb204210052ad97456 100644 (file)
@@ -171,8 +171,8 @@ end
     var layers = getMapLayers();
     var extents = getMapExtent();
 
-    updatelinks(lonlat.lon, lonlat.lat, zoom, layers, extents);
-
+    updatelinks(lonlat.lon, lonlat.lat, zoom, layers, extents.left, extents.bottom, extents.right, extents.top);
+      
     document.cookie = "_osm_location=" + lonlat.lon + "|" + lonlat.lat + "|" + zoom + "|" + layers;
   }
 
index bf4eda9127432fa27766670677868a5d7af97012..ae38ecb6a53914239c903a252ba9aa4d83c13d57 100644 (file)
@@ -1,6 +1,6 @@
 //Called as the user scrolls/zooms around.
 //Maniplate hrefs of the view tab and various other links
-function updatelinks(lon,lat,zoom,layers,extents) {
+function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat) {
   var decimals = Math.pow(10, Math.floor(zoom/3));
   var node;
 
@@ -63,15 +63,18 @@ function updatelinks(lon,lat,zoom,layers,extents) {
     if (zoom >= 11) {
       var args = new Object();
       //set bbox param from 'extents' object
-      minlon = extents.left;
-      minlat = extents.bottom;
-      maxlon = extents.right;
-      maxlat = extents.top;
-      minlon = Math.round(minlon * decimals) / decimals;
-      minlat = Math.round(minlat * decimals) / decimals;
-      maxlon = Math.round(maxlon * decimals) / decimals;
-      maxlat = Math.round(maxlat * decimals) / decimals;
-      args.bbox = minlon + "," + minlat + "," + maxlon + "," + maxlat;
+      if (typeof minlon == "number" &&
+         typeof minlat == "number" &&
+         typeof maxlon == "number" &&
+         typeof maxlat == "number") {
+      
+        minlon = Math.round(minlon * decimals) / decimals;
+        minlat = Math.round(minlat * decimals) / decimals;
+        maxlon = Math.round(maxlon * decimals) / decimals;
+        maxlat = Math.round(maxlat * decimals) / decimals;
+        args.bbox = minlon + "," + minlat + "," + maxlon + "," + maxlat;
+      }
+      
       node.href = setArgs("/history", args);
       node.style.fontStyle = 'normal';
     } else {