openstreetmap-website/app/views/site/_potlatch2.html.erb
Tom Hughes 7a35004389 Always use controller computed zoom when starting Potlatch
The value of mapParams.zoom may have come from the cookie and be
unrelated to the actual view the user came from with this click, so
just use the default zoom set by the controller.

Fixes #621.
2013-12-05 09:48:53 +00:00

88 lines
3.1 KiB
Text

<div id="map">
<div id="potlatch"><%= raw t 'site.edit.flash_player_required' %></div>
</div>
<%= javascript_include_tag 'swfobject.js' %>
<% if defined? POTLATCH2_KEY %>
<% token = @user.access_token(POTLATCH2_KEY) %>
<% else%>
<script type="text/javascript">alert("<%= t 'site.edit.potlatch2_not_configured' %>")</script>
<% end %>
<% locale = select_locale(Potlatch2::LOCALES.keys).to_s %>
<script type="text/javascript" defer="defer">
var changesaved=true;
window.onbeforeunload=function() {
if (!changesaved) {
return '<%= escape_javascript(t('site.edit.potlatch2_unsaved_changes')) %>';
}
}
function markChanged(a) { changesaved=a; }
function doSWF(lat,lon,zoom) {
var flashvars = {};
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") %>";
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 %>
<% if params['tileurl'] %>
flashvars.tileurl = '<%= h(params['tileurl']) %>';
<% end %>
flashvars.api = "<%= request.protocol + request.host_with_port %>/api/<%= API_VERSION %>/";
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 %>";
flashvars.oauth_consumer_key = "<%= token.client_application.key %>";
flashvars.oauth_consumer_secret = "<%= token.client_application.secret %>";
<% end %>
flashvars.maximise_function = "maximiseMap";
flashvars.minimise_function = "minimiseMap";
flashvars.move_function = "mapMoved";
var params = {};
params.base = "/potlatch2";
var attributes = {};
attributes.id = "potlatch";
attributes.bgcolor = "#FFFFFF";
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 @lat && @lon -%>
doSWF(<%= @lat %>, <%= @lon %>, <%= @zoom %>);
<% else -%>
var mapParams = OSM.mapParams();
doSWF(mapParams.lat, mapParams.lon, mapParams.zoom || 17);
<% end -%>
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>