<% 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>