- 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) {
+ 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));