]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/site/_id.html.erb
Merge remote-tracking branch 'openstreetmap/pull/1469'
[rails.git] / app / views / site / _id.html.erb
index e2f783731b7ff50f6107e5af77ee7661963724b8..d93ee091e91d68e3d478776891b959067e8b8168 100644 (file)
@@ -1,25 +1,46 @@
 <% if defined? ID_KEY %>
   <div id="map">
-    <iframe frameBorder="0" id="id-embed" class="id-embed"></iframe>
+    <iframe frameBorder="0" id="id-embed" class="id-embed" allowfullscreen></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) {
-      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.lat + '/' + mapParams.center.lng;
+      }
     } else {
-      hash = '#map=' + (coord.zoom || 17) + '/' + coord.lon + '/' + coord.lat
+<% if @lat && @lon -%>
+      params.map = '16/<%= @lat %>/<%= @lon %>';
+<% else -%>
+      params.map = (mapParams.zoom || 17) + '/' + mapParams.lat + '/' + mapParams.lon;
+<% end -%>
     }
 
-    $('#id-embed').attr('src', '<%= id_url :locale => params[:locale] %>' + hash);
+    var hashParams = OSM.params(location.hash.substring(1));
+
+    if (hashParams.background) {
+      params.background = hashParams.background;
+    }
+    if (hashParams.comment) {
+      params.comment = hashParams.comment;
+    }
+    if (hashParams.offset) {
+      params.offset = hashParams.offset;
+    }
+
+<% if params[:gpx] -%>
+    params.gpx = '<%= trace_data_url(params[:gpx], :format => :xml) %>';
+<% 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>