]> git.openstreetmap.org Git - rails.git/blob - app/views/site/_id.html.erb
Fix feedback loop between L.hash and popstate
[rails.git] / app / views / site / _id.html.erb
1 <% if defined? ID_KEY %>
2   <div id="map">
3     <iframe frameBorder="0" id="id-embed" class="id-embed"></iframe>
4   </div>
5   <script>
6     var params = {};
7
8     var mapParams = OSM.mapParams();
9     if (mapParams.object &&
10         mapParams.object.type !== 'note' &&
11         mapParams.object.type !== 'changeset') {
12       params.id = mapParams.object.type[0] + mapParams.object.id;
13     } else {
14 <% if @lat && @lon -%>
15       params.map = '16/<%= @lon %>/<%= @lat %>';
16 <% else -%>
17       params.map = (mapParams.zoom || 17) + '/' + mapParams.lon + '/' + mapParams.lat;
18 <% end -%>
19     }
20
21     var hashParams = OSM.params(location.hash.substring(1));
22     if (hashParams.background) {
23       params.background = hashParams.background;
24     }
25
26     $('#id-embed').attr('src', '<%= id_url :locale => params[:locale] %>#' + querystring.stringify(params));
27   </script>
28 <% else %>
29   <script type="text/javascript">alert("<%= t 'site.edit.id_not_configured' %>")</script>
30 <% end %>