X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/e46c82fe3db59ce59206053a26d0207931f2f68a..ab3e5e6d43f993892c625d9a89364d1475ac4488:/public/javascripts/site.js diff --git a/public/javascripts/site.js b/public/javascripts/site.js index c509fc5ef..3e28e0c0a 100644 --- a/public/javascripts/site.js +++ b/public/javascripts/site.js @@ -55,6 +55,9 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj args.lat = lat; args.lon = lon; args.zoom = zoom; + if (objtype && objid) { + args[objtype] = objid; + } node.href = setArgs("/edit", args); node.style.fontStyle = 'normal'; } else { @@ -99,10 +102,18 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj args[objtype] = objid; } - // little hack. may the gods of hardcoding please forgive me, or - // show me the Right way to do it. - if (layers && (layers != "B000FTF")) { + // This is a hack to omit the default mapnik layer (B000FTF) from + // the shortlink. B000FTFT is then the "Object" layer which we get + // on /?{node,way,relation}=id + if (layers && (layers != "B000FTF") && (layers != "B000FTFT")) { args["layers"] = layers; + } + + // Here we're assuming that all parameters but ?layers= and + // ?{node,way,relation}= can be safely omitted from the shortlink + // which encodes lat/lon/zoom. If new URL parameters are added to + // the main slippy map this needs to be changed. + if (args["layers"] || args[objtype]) { node.href = setArgs(prefix + "/go/" + code, args); } else { node.href = prefix + "/go/" + code; @@ -223,7 +234,7 @@ function makeShortCode(lat, lon, zoom) { str += char_array.charAt(digit); } for (var i = 0; i < ((zoom + 8) % 3); ++i) { - str += "="; + str += "-"; } return str; }