]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/site/_id.html.erb
Include layers in all geolinks except edit
[rails.git] / app / views / site / _id.html.erb
index d94f871b7541ddeb389b85284be0922dceb084ab..195873c34c30194cf9491c0989691aaae6ae076d 100644 (file)
@@ -1,18 +1,29 @@
 <% 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 -%>
-    var params = OSM.mapParams();
-    coord.lat = params.lat;
-    coord.lon = params.lon;
-    coord.zoom = params.zoom;
-    <% end -%>
-    $('#id-embed').attr('src', 'id_iframe#map=' + coord.zoom + '/' + coord.lon + '/' + coord.lat);
+    var params = {};
+
+    var mapParams = OSM.mapParams();
+    if (mapParams.object &&
+        mapParams.object.type !== 'note' &&
+        mapParams.object.type !== 'changeset') {
+      params.id = mapParams.object.type[0] + mapParams.object.id;
+    } else {
+<% if @lat && @lon -%>
+      params.map = '16/<%= @lon %>/<%= @lat %>';
+<% else -%>
+      params.map = (mapParams.zoom || 17) + '/' + mapParams.lon + '/' + mapParams.lat;
+<% end -%>
+    }
+
+    var hashParams = OSM.params(location.hash.substring(1));
+    if (hashParams.background) {
+      params.background = hashParams.background;
+    }
+
+    $('#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>