X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/483854f411ce7106144883824adb7e49060424c2..dc5d88d93d4529169429c91a631b80cff7ca605a:/app/views/site/id.html.erb diff --git a/app/views/site/id.html.erb b/app/views/site/id.html.erb index 3db8b80be..1b4cdf1bb 100644 --- a/app/views/site/id.html.erb +++ b/app/views/site/id.html.erb @@ -31,7 +31,7 @@ oauth_token_secret: "<%= token.secret %>" }); - id.map().on('move.embed', function() { + id.map().on('move.embed', parent.$.throttle(250, function() { var extent = id.map().extent(), zoom = ~~id.map().zoom(), center = id.map().center(); @@ -42,11 +42,18 @@ }, zoom, null, - extent[0][0], - extent[0][1], - extent[1][0], - extent[1][1]); - }); + [[extent[0][1], + extent[0][0]], + [extent[1][1], + extent[1][0]]]); + + // Manually resolve URL to avoid iframe JS context weirdness. + // http://bl.ocks.org/jfirebaugh/5439412 + var hash = parent.OSM.formatHash({ lon: center[0], lat: center[1], zoom: zoom }); + if (hash !== parent.location.hash) { + parent.location.replace(parent.location.href.replace(/(#.*|$)/, hash)); + } + })); parent.$("body").on("click", "a.set_position", function (e) { e.preventDefault();