]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/site/_potlatch2.html.erb
Improve zoom level selection when invoking Potlatch on an object
[rails.git] / app / views / site / _potlatch2.html.erb
index 51c9aa905e01ae3212fc221d956a23082e40add9..bb811d65210fec1ef14d27dbe64a23f8145a73d9 100644 (file)
@@ -32,6 +32,8 @@
     flashvars.font_library = "<%= asset_path "potlatch2/FontLibrary.swf" %>";
     flashvars.locale = "<%= Potlatch2::LOCALES[locale] %>";
     flashvars.locale_paths = "<%= Potlatch2::LOCALES[locale] %>=<%= asset_path("potlatch2/locales/#{Potlatch2::LOCALES[locale]}.swf") %>";
+    flashvars.intro_image = "<%= asset_path "help/introduction.jpg" %>";
+    flashvars.intro_video = "<%= asset_path "help/introduction.mp4" %>";
     <% if params['gpx'] %>
     flashvars.gpx = '<%= h(params['gpx']) %>';
     <% end %>
     // 700,600 for fixed size, 100%,100% for resizable
 
     if (lat && lon) {
-      updatelinks({ lon: lon, lat: lat }, zoom);
+      updateLinks({ lon: lon, lat: lat }, zoom);
     }
   }
 
+  var mapParams = OSM.mapParams();
   <% if @lat && @lon -%>
-  doSWF(<%= @lat %>,<%= @lon %>,16);
+    doSWF(<%= @lat %>, <%= @lon %>, mapParams.zoom || <%= @zoom %>);
   <% else -%>
-  var params = OSM.mapParams();
-  doSWF(params.lat, params.lon, params.zoom || 17);
+    doSWF(mapParams.lat, mapParams.lon, mapParams.zoom || 17);
   <% end -%>
 
   $("body").on("click", "a.set_position", function (e) {
     });
   });
 
-  function mapMoved(lon, lat, zoom, minlon, minlat, maxlon, maxlat) {
-    updatelinks({ lon: lon, lat: lat }, zoom, null, [[minlat, minlon], [maxlat, maxlon]]);
-  }
+  var mapMoved = $.throttle(250, function(lon, lat, zoom) {
+    updateLinks({ lon: lon, lat: lat }, zoom);
+
+    var hash = OSM.formatHash({ lon: lon, lat: lat, zoom: zoom });
+    if (hash !== location.hash) {
+      location.replace(hash);
+    }
+  });
 </script>