From: Tom MacWright Date: Thu, 13 Jun 2013 16:34:25 +0000 (-0400) Subject: Add layers code to share link X-Git-Tag: live~4882^2~24 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/c3cdd4b5d732ae6ea7a65490ed6797190f3f4330?ds=sidebyside Add layers code to share link --- diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index e91a9036f..fc426e883 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -114,6 +114,10 @@ function updatelinks(loc, zoom, layers, bounds, object) { } } +function minZoomAlert() { + alert(I18n.t("javascripts.site." + name + "_zoom_alert")); return false; +} + function getShortUrl(map) { return (window.location.hostname.match(/^www\.openstreetmap\.org/i) ? 'http://osm.org/go/' : '/go/') + @@ -129,14 +133,11 @@ function getUrl(map) { querystring.stringify({ lat: center.lat, lon: center.lng, - zoom: zoom + zoom: zoom, + layers: map.getLayersCode() }); } -function minZoomAlert() { - alert(I18n.t("javascripts.site." + name + "_zoom_alert")); return false; -} - // Called to create a short code for the short link. function makeShortCode(map) { var zoom = map.getZoom(), @@ -175,6 +176,12 @@ function makeShortCode(map) { return str; } +// generate a cookie-safe string of map state +function cookieContent(map) { + var center = map.getCenter().wrap(); + return [center.lng, center.lat, map.getZoom(), map.getLayersCode()].join('|'); +} + /* * Forms which have been cached by rails may have the wrong * authenticity token, so patch up any forms with the correct diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index d58317f63..7744b1ae4 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -169,36 +169,10 @@ $(document).ready(function () { initializeNotes(map); }); -function getMapBaseLayerId(map) { - for (var i in map._layers) { // TODO: map.eachLayer - var layer = map._layers[i]; - if (layer.options && layer.options.keyid) { - return layer.options.keyid; - } - } -} - -function getMapLayers(map) { - var layerConfig = ''; - for (var i in map._layers) { // TODO: map.eachLayer - var layer = map._layers[i]; - if (layer.options && layer.options.code) { - layerConfig += layer.options.code; - } - } - return layerConfig; -} - -// generate a cookie-safe string of map state -function cookieContent(map) { - var center = map.getCenter().wrap(); - return [center.lng, center.lat, map.getZoom(), getMapLayers(map)].join('|'); -} - function updateLocation() { updatelinks(this.getCenter().wrap(), this.getZoom(), - getMapLayers(this), + this.getLayersCode(), this.getBounds().wrap(), {}); var expiry = new Date(); diff --git a/app/assets/javascripts/leaflet.share.js b/app/assets/javascripts/leaflet.share.js index 7efe12e0c..e97e29bb5 100644 --- a/app/assets/javascripts/leaflet.share.js +++ b/app/assets/javascripts/leaflet.share.js @@ -58,8 +58,6 @@ L.OSM.share = function (options) { } function update() { - var center = map.getCenter().wrap(); - var layers = getMapLayers(map); $input.val( options.short ? options.getShortUrl(map) : options.getUrl(map) );