X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/e373c6383713967cb2e4769c127fc2e543691dcf..5449cf4adcc1fad4b9f43426e6d3e4a8f65e6fbb:/public/javascripts/site.js diff --git a/public/javascripts/site.js b/public/javascripts/site.js index b1690b7d1..06b4152df 100644 --- a/public/javascripts/site.js +++ b/public/javascripts/site.js @@ -1,4 +1,6 @@ -function updatelinks(lon,lat,zoom,layers) { +//Called as the user scrolls/zooms around. +//Maniplate hrefs of the view tab and various other links +function updatelinks(lon,lat,zoom,layers,extents) { var decimals = Math.pow(10, Math.floor(zoom/3)); var node; @@ -11,7 +13,9 @@ function updatelinks(lon,lat,zoom,layers) { args["lat"] = lat; args["lon"] = lon; args["zoom"] = zoom; - args["layers"] = layers; + if (layers) { + args["layers"] = layers; + } node.href = setArgs(node.href, args); } @@ -21,7 +25,21 @@ function updatelinks(lon,lat,zoom,layers) { args["lat"] = lat; args["lon"] = lon; args["zoom"] = zoom; - args["layers"] = layers; + if (layers) { + args["layers"] = layers; + } + node.href = setArgs(node.href, args); + } + + node = document.getElementById("exportanchor"); + if (node) { + var args = getArgs(node.href); + args["lat"] = lat; + args["lon"] = lon; + args["zoom"] = zoom; + if (layers) { + args["layers"] = layers; + } node.href = setArgs(node.href, args); } @@ -32,13 +50,35 @@ function updatelinks(lon,lat,zoom,layers) { args.lat = lat; args.lon = lon; args.zoom = zoom; - node.href = setArgs("/edit.html", args); + node.href = setArgs("/edit", args); node.style.fontStyle = 'normal'; } else { node.href = 'javascript:alert("zoom in to edit map");'; node.style.fontStyle = 'italic'; } } + + node = document.getElementById("historyanchor"); + if (node) { + if (zoom >= 11) { + var args = new Object(); + //set bbox param from 'extents' object + minlon = extents.left; + minlat = extents.bottom; + maxlon = extents.right; + maxlat = extents.top; + minlon = Math.round(minlon * decimals) / decimals; + minlat = Math.round(minlat * decimals) / decimals; + maxlon = Math.round(maxlon * decimals) / decimals; + maxlat = Math.round(maxlat * decimals) / decimals; + args.bbox = minlon + "," + minlat + "," + maxlon + "," + maxlat; + node.href = setArgs("history/", args); + node.style.fontStyle = 'normal'; + } else { + node.href = 'javascript:alert("zoom in to see editing history");'; + node.style.fontStyle = 'italic'; + } + } } function getArgs(url) {