X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/daf91662980dfeb6549c2f44c88c428cdcb001a7..16da03aacb264c1703d8bd4fab5c58c78745be00:/app/views/site/_id.html.erb?ds=sidebyside diff --git a/app/views/site/_id.html.erb b/app/views/site/_id.html.erb index 8cb7bc853..7ddee6218 100644 --- a/app/views/site/_id.html.erb +++ b/app/views/site/_id.html.erb @@ -1,23 +1,44 @@ <% if defined? ID_KEY %> - <iframe frameBorder="0" id="id-embed" class="id-embed"></iframe> + <div id="map"> + <iframe frameBorder="0" id="id-embed" class="id-embed"></iframe> + </div> <script> - var coord = {}; - <% if @lat && @lon && @zoom -%> - coord.lat = <%= @lat %>; - coord.lon = <%= @lon %>; - coord.zoom = <%= @zoom %>; - <% else -%> - coord = OSM.mapParams(); - <% end -%> + var params = {}; - var hash; - if (coord.object && coord.object.type !== 'relation') { - hash = '#id=' + coord.object.type[0] + coord.object.id; + var mapParams = OSM.mapParams(); + if (mapParams.object) { + params.id = mapParams.object.type[0] + mapParams.object.id; + mapParams = OSM.parseHash(location.hash); + if (mapParams.center) { + params.map = mapParams.zoom + '/' + mapParams.center.lng + '/' + mapParams.center.lat; + } } else { - hash = '#map=' + (coord.zoom || 17) + '/' + coord.lon + '/' + coord.lat +<% if @lat && @lon -%> + params.map = '16/<%= @lon %>/<%= @lat %>'; +<% else -%> + params.map = (mapParams.zoom || 17) + '/' + mapParams.lon + '/' + mapParams.lat; +<% end -%> } - $('#id-embed').attr('src', 'id_iframe' + hash); + var hashParams = OSM.params(location.hash.substring(1)); + + if (hashParams.background) { + params.background = hashParams.background; + } + + if (hashParams.comment) { + params.comment = hashParams.comment; + } + +<% if params[:gpx] -%> + params.gpx = '<%= trace_data_url(params[:gpx]) %>'; +<% else -%> + if (hashParams.gpx) { + params.gpx = hashParams.gpx; + } +<% end -%> + + $('#id-embed').attr('src', '<%= id_url :locale => params[:locale] %>#' + querystring.stringify(params)); </script> <% else %> <script type="text/javascript">alert("<%= t 'site.edit.id_not_configured' %>")</script>