diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-03-10 18:40:24 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-03-10 18:40:24 +0100 |
commit | 561ebecd93ae21a827bbf9c929defc3b68eb09ed (patch) | |
tree | 117d06acb504f6ea2f7a8fc7c9f32122bfa6299f | |
parent | d2c41446a81b5c30419ea2cadcc9018c8a9c69c5 (diff) | |
download | Chimère-561ebecd93ae21a827bbf9c929defc3b68eb09ed.tar.bz2 Chimère-561ebecd93ae21a827bbf9c929defc3b68eb09ed.zip |
UI: fix default layer selection - fix layer order
-rw-r--r-- | chimere/static/chimere/js/jquery.chimere.js | 21 | ||||
-rw-r--r-- | chimere/static/ol3-layerswitcher/ol3-layerswitcher.js | 5 | ||||
-rw-r--r-- | chimere/templatetags/chimere_tags.py | 2 |
3 files changed, 13 insertions, 15 deletions
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index 71228a8..a913d8d 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -470,18 +470,19 @@ function transformCoordToLonLat(coord) { settings[map_id].map.addControl(contextmenu); } - /* OL3-deprecated - if (settings[map_id].map_layers.length > 1){ - settings[map_id].map.addControl(new OpenLayers.Control.LayerSwitcher( - {roundedCorner:false})); - } // select the default map layer if (!settings[map_id].selected_map_layer){ settings[map_id].selected_map_layer = 0; } - settings[map_id].map.setBaseLayer( - settings[map_id].map_layers[settings[map_id].selected_map_layer]); - */ + var current_layers = map.getLayers().getArray(); + for (idx in current_layers){ + layer = current_layers[idx]; + if (idx == settings[map_id].selected_map_layer){ + layer.setVisible(true); + } else { + layer.setVisible(false); + } + } settings[map_id].layerSwitcher = new ol.control.LayerSwitcher(); settings[map_id].map.addControl(settings[map_id].layerSwitcher); @@ -1433,10 +1434,6 @@ function transformCoordToLonLat(coord) { //settings[map_id].map.events.register('click', settings[map_id].map, // methods.setMarker); }, - // change map_layer - changeMapLayer: function(map_idx){ - settings[map_id].map.setBaseLayer(settings[map_id].map_layers[map_idx]); - }, // zoom in from the map menu _getZoomIn: function(map_id){ diff --git a/chimere/static/ol3-layerswitcher/ol3-layerswitcher.js b/chimere/static/ol3-layerswitcher/ol3-layerswitcher.js index ee44e2f..e8f5eeb 100644 --- a/chimere/static/ol3-layerswitcher/ol3-layerswitcher.js +++ b/chimere/static/ol3-layerswitcher/ol3-layerswitcher.js @@ -215,9 +215,10 @@ ol.control.LayerSwitcher.prototype.renderLayer_ = function(lyr, idx) { ol.control.LayerSwitcher.prototype.renderLayers_ = function(lyr, elm) { var lyrs = lyr.getLayers().getArray().slice().reverse(); for (var i = 0, l; i < lyrs.length; i++) { - l = lyrs[i]; + j = lyrs.length - i - 1; + l = lyrs[j]; if (l.get('title')) { - elm.appendChild(this.renderLayer_(l, i)); + elm.appendChild(this.renderLayer_(l, j)); } } }; diff --git a/chimere/templatetags/chimere_tags.py b/chimere/templatetags/chimere_tags.py index 0808147..ec6fcd7 100644 --- a/chimere/templatetags/chimere_tags.py +++ b/chimere/templatetags/chimere_tags.py @@ -235,7 +235,7 @@ def map(context, map_id='map'): [js for name, js, default, extra_js in map_layers if "OpenLayers" not in js]) context_data['map_layers'] = map_layers - if default_area: + if default_area is not None: context_data['selected_map_layer'] = default_area context_data['checked_categories'] = [] area = None |