<% if defined? ID_KEY %>
-<iframe frameBorder="0" id="id-embed" class="id-embed"></iframe>
-<% token = @user.access_token(ID_KEY) %>
-<script>
-var keys = {
- '<%= request.protocol + request.host_with_port %>': {
- oauth_consumer_key: "<%= token.client_application.key %>",
- oauth_secret: "<%= token.client_application.secret %>",
- oauth_token: "<%= token.token %>",
- oauth_token_secret: "<%= token.secret %>"
- }
-};
+ <div id="map">
+ <iframe frameBorder="0" id="id-embed" class="id-embed"></iframe>
+ </div>
+ <script>
+ var params = {};
-var coord = {};
-<% if @lat && @lon && @zoom -%>
-coord.lat = <%= @lat %>;
-coord.lon = <%= @lon %>;
-coord.zoom = <%= @zoom %>;
+ 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.lng + '/' + mapParams.center.lat;
+ }
+ } else {
+<% if @lat && @lon -%>
+ params.map = '16/<%= @lon %>/<%= @lat %>';
<% else -%>
-var params = OSM.mapParams();
-coord.lat = params.lat;
-coord.lon = params.lon;
-coord.zoom = params.zoom;
+ params.map = (mapParams.zoom || 17) + '/' + mapParams.lon + '/' + mapParams.lat;
<% end -%>
-var url = 'id_iframe#map=' + coord.zoom + '/' + coord.lon + '/' + coord.lat +
- '&preauth=' + JSON.stringify(keys);
-$('#id-embed').attr('src', url);
-</script>
-<% else%>
-<script type="text/javascript">alert("<%= t 'site.edit.id_not_configured' %>")</script>
-<% end %>
+ }
-<script type="text/javascript">
-</script>
+ var hashParams = OSM.params(location.hash.substring(1));
+
+ if (hashParams.background) {
+ params.background = hashParams.background;
+ }
+
+ if (hashParams.gpx) {
+ params.gpx = hashParams.gpx;
+ }
+
+ $('#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>
+<% end %>