X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/1a5f14d338b1e809947232e0dc0a59040f265395..6dcd087abcf718fcaf9aca9283b6b39b9dbbcdcb:/app/assets/javascripts/application.js diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index c8577f7c3..cbea58cc1 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -4,6 +4,7 @@ //= require jquery.cookie //= require jquery.throttle-debounce //= require augment +//= require osm //= require leaflet //= require leaflet.osm //= require leaflet.hash @@ -12,7 +13,6 @@ //= require leaflet.locationfilter //= require i18n/translations //= require oauth -//= require osm //= require piwik //= require map //= require menu @@ -61,17 +61,27 @@ function remoteEditHandler(bbox, select) { */ function updatelinks(loc, zoom, layers, bounds, object) { $(".geolink").each(function(index, link) { - var base = link.href.split('?')[0], + var href = link.href.split(/[?#]/)[0], args = querystring.parse(link.search.substring(1)); if (bounds && $(link).hasClass("bbox")) args.bbox = normalBounds(bounds).toBBoxString(); - if (layers && $(link).hasClass("layers")) args.layers = layers; if (object && $(link).hasClass("object")) args[object.type] = object.id; - var href = base + '?' + querystring.stringify(args); + var query = querystring.stringify(args); + if (query) href += '?' + query; if ($(link).hasClass("llz")) { - href += OSM.formatHash({lat: loc.lat, lon: loc.lon || loc.lng, zoom: zoom}); + args = { + lat: loc.lat, + lon: loc.lon || loc.lng, + zoom: zoom + }; + + if (layers && $(link).hasClass("layers")) { + args.layers = layers; + } + + href += OSM.formatHash(args); } link.href = href;