Make JOSM remote control based editing work

This commit is contained in:
Tom Hughes 2010-11-14 17:35:08 +00:00
parent b90219f1d3
commit c3453cf57d
5 changed files with 66 additions and 35 deletions

View file

@ -1,6 +0,0 @@
<div id="map">
<% query = "lat=#{@lat || 0}&lon=#{@lon || 0}&zoom=#{@zoom}" %>
<iframe src="http://127.0.0.1:8111/load_and_zoom?<%= query %>" width="100%" height="100%">
<p><%= t 'site.edit.no_iframe_support' %></p>
</iframe>
</div>

View file

@ -19,7 +19,7 @@
<%= render :partial => 'sidebar', :locals => { :onopen => "resizeMap();", :onclose => "resizeMap();" } %>
<%= render :partial => 'search' %>
<%= render :partial => @preferred_editor %>
<%= render :partial => preferred_editor %>
<script type="text/javascript" defer="defer">
function resizeContent() {

View file

@ -19,6 +19,9 @@
<div id="map">
</div>
<iframe id="linkloader" style="display: none">
</iframe>
<div id="permalink">
<a href="/" id="permalinkanchor"><%= t 'site.index.permalink' %></a><br/>
<a href="/" id="shortlinkanchor"><%= t 'site.index.shortlink' %></a>
@ -267,11 +270,33 @@ end
resizeMap();
}
function josmEditHandler() {
var extent = getMapExtent();
$("linkloader").src = "http://127.0.0.1:8111/load_and_zoom?left=" + extent.left + "&top=" + extent.top + "&right=" + extent.right + "&bottom=" + extent.bottom;
return false;
}
function installEditHandler() {
<% if preferred_editor == "josm" %>
$("editanchor").onclick =josmEditHandler;
<% if params[:action] == "edit" %>
josmEditHandler();
<% end %>
<% end %>
}
mapInit();
window.onload = handleResize;
window.onresize = handleResize;
Event.observe(window, 'load', installEditHandler);
Event.observe(window, 'load', handleResize);
Event.observe(window, 'resize', handleResize);
<% if params['action'] == 'export' %>
<%= remote_function :url => { :controller => 'export', :action => 'start' } %>
<% end %>