<script type="text/javascript">alert("<%= t 'site.edit.potlatch2_not_configured' %>")</script>
<% end %>
-<% locale = request.compatible_language_from(Potlatch2::LOCALES.keys) || "en" %>
+<% locale = select_locale(Potlatch2::LOCALES.keys).to_s %>
<script type="text/javascript" defer="defer">
var changesaved=true;
if (lat) { flashvars.lat = lat; }
if (lon) { flashvars.lon = lon; }
flashvars.zoom = zoom;
+ flashvars.assets = "<%= asset_path "potlatch2/assets.zip" %>";
+ 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") %>";
<% if params['gpx'] %>
flashvars.gpx = '<%= h(params['gpx']) %>';
<% end %>
flashvars.policy = "<%= request.protocol + request.host_with_port %>/api/crossdomain.xml";
flashvars.connection = "XML";
flashvars.show_help = "once";
+ flashvars.user_check = "warn";
<% if token %>
flashvars.oauth_token = "<%= token.token %>";
flashvars.oauth_token_secret = "<%= token.secret %>";
attributes.id = "potlatch";
attributes.bgcolor = "#FFFFFF";
- swfobject.embedSWF("<%= asset_path("/potlatch2/potlatch2.swf") %>", "potlatch", "100%", "100%", "10.1.102","<%= asset_path("expressInstall.swf") %>", flashvars, params, attributes);
+ swfobject.embedSWF("<%= asset_path("potlatch2.swf") %>", "potlatch", "100%", "100%", "10.1.102","<%= asset_path("expressInstall.swf") %>", flashvars, params, attributes);
// 700,600 for fixed size, 100%,100% for resizable
+
+ if (lat && lon) {
+ updatelinks({ lon: lon, lat: lat }, zoom);
+ }
}
- <% if params[:node] -%>
- <% bbox = Node.find(params[:node]).bbox.to_unscaled -%>
- doSWF(<%= bbox.centre_lat %>,<%= bbox.centre_lon %>,16);
- <% elsif params[:way] -%>
- <% bbox = Way.find(params[:way]).bbox.to_unscaled -%>
- doSWF(<%= bbox.centre_lat %>,<%= bbox.centre_lon %>,16);
+ <% if @lat && @lon -%>
+ doSWF(<%= @lat %>,<%= @lon %>,16);
<% else -%>
- doSWF(<%= @lat || 'null' %>,<%= @lon || 'null' %>,<%= @zoom %>);
+ var params = OSM.mapParams();
+ doSWF(params.lat, params.lon, params.zoom || 17);
<% end -%>
- function setPosition(lat, lon, zoom) {
+ $("body").on("click", "a.set_position", function (e) {
+ e.preventDefault();
+
+ var data = $(this).data();
+
$("#potlatch").each(function () {
- this.setPosition(lat, lon, Math.max(zoom || 15, 13));
+ this.setPosition(data.lat, data.lon, Math.max(data.zoom || 15, 13));
});
- }
+ });
- function mapMoved(lon, lat, zoom, minlon, minlat, maxlon, maxlat) {
- updatelinks(lon, lat, zoom, null, minlon, minlat, maxlon, maxlat);
- }
+ var mapMoved = $.throttle(250, function(lon, lat, zoom, minlon, minlat, maxlon, maxlat) {
+ updatelinks({ lon: lon, lat: lat }, zoom, null, [[minlat, minlon], [maxlat, maxlon]]);
+
+ var hash = OSM.formatHash({ lon: lon, lat: lat, zoom: zoom });
+ if (hash !== location.hash) {
+ location.replace(hash);
+ }
+ });
</script>