X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/ae0177fbe61d7d02e3c6b441bd395fff6fd96a18..42fa563e01493fd7a6e28d8053f84558e50d5322:/app/assets/javascripts/index.js diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index 2a704f724..5f6a4efb7 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -51,13 +51,28 @@ $(document).ready(function () { }) ]; - for (var i = layers.length - 1; i >= 0; i--) { - if (i === 0 || params.layers.indexOf(layers[i].options.code) >= 0) { - map.addLayer(layers[i]); - break; + function updateLayers(params) { + var layerParam = params.layers || "M"; + var layersAdded = ""; + + for (var i = layers.length - 1; i >= 0; i--) { + if (layerParam.indexOf(layers[i].options.code) >= 0) { + map.addLayer(layers[i]); + layersAdded = layersAdded + layers[i].options.code; + } else if (i == 0 && layersAdded == "") { + map.addLayer(layers[i]); + } else { + map.removeLayer(layers[i]); + } } } + updateLayers(params); + + $(window).on("hashchange", function () { + updateLayers(OSM.mapParams()); + }); + map.noteLayer = new L.LayerGroup(); map.noteLayer.options = {code: 'N'}; @@ -113,6 +128,18 @@ $(document).ready(function () { map.on('moveend layeradd layerremove', updateLocation); + if (OSM.PIWIK) { + map.on('layeradd', function (e) { + if (e.layer.options) { + var goal = OSM.PIWIK.goals[e.layer.options.keyid]; + + if (goal) { + $('body').trigger('piwikgoal', goal); + } + } + }); + } + var marker = L.marker([0, 0], {icon: getUserIcon()}); if (!params.object_zoom) {