X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/64f5b3f5113e5e2dcf4f44921c200c2335066779..75a776a574cd6a711c0b4bf854701646c37c391c:/app/assets/javascripts/index.js?ds=sidebyside diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index 60f88380d..404119134 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -3,6 +3,7 @@ //= require leaflet.share //= require leaflet.note //= require leaflet.locate +//= require leaflet.customzoom //= require index/browse //= require index/export //= require index/key @@ -23,31 +24,31 @@ $(document).ready(function () { layers = [{ layer: new L.OSM.Mapnik({ - attribution: '' + attribution: '', + code: "M" }), keyid: "mapnik", - layerCode: "M", name: I18n.t("javascripts.map.base.standard") }, { layer: new L.OSM.CycleMap({ attribution: "Tiles courtesy of Andy Allan", + code: "C" }), keyid: "cyclemap", - layerCode: "C", name: I18n.t("javascripts.map.base.cycle_map") }, { layer: new L.OSM.TransportMap({ attribution: "Tiles courtesy of Andy Allan", + code: "T" }), keyid: "transportmap", - layerCode: "T", name: I18n.t("javascripts.map.base.transport_map") }, { layer: new L.OSM.MapQuestOpen({ attribution: "Tiles courtesy of MapQuest ", + code: "Q" }), keyid: "mapquest", - layerCode: "Q", name: I18n.t("javascripts.map.base.mapquest") }]; @@ -57,7 +58,7 @@ $(document).ready(function () { map.invalidateSize(); }); - L.control.zoom({position: 'topright'}) + L.control.customZoom({position: 'topright'}) .addTo(map); L.OSM.layers({position: 'topright', layers: layers}) @@ -99,7 +100,18 @@ $(document).ready(function () { } if (params.layers) { - setMapLayers(params.layers); + var foundLayer = false; + for (var i = 0; i < layers.length; i++) { + if (params.layers.indexOf(layers[i].layer.options.code) >= 0) { + map.addLayer(layers[i].layer); + foundLayer = true; + } else { + map.removeLayer(layers[i].layer); + } + } + if (!foundLayer) { + map.addLayer(layers[0].layer); + } } if (params.marker) { @@ -213,25 +225,11 @@ function getMapBaseLayer() { function getMapLayers() { var layerConfig = ""; - for (var i = 0; i < layers.length; i++) { - if (map.hasLayer(layers[i].layer)) { - layerConfig += layers[i].layerCode; + 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; } - -function setMapLayers(layerConfig) { - var foundLayer = false; - for (var i = 0; i < layers.length; i++) { - if (layerConfig.indexOf(layers[i].layerCode) >= 0) { - map.addLayer(layers[i].layer); - foundLayer = true; - } else { - map.removeLayer(layers[i].layer); - } - } - if (!foundLayer) { - map.addLayer(layers[0].layer); - } -}