From 56b5c04a81b820685d2670a92bbc55f4cba30321 Mon Sep 17 00:00:00 2001 From: Norbert Renner Date: Wed, 3 Apr 2019 20:56:56 +0200 Subject: [PATCH] Set base layer z-index to 0, fixes #143 --- js/control/Control.Layers.js | 15 +++++++++++++++ js/control/LayersTab.js | 6 +++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/js/control/Control.Layers.js b/js/control/Control.Layers.js index bcff8f0..5a92547 100644 --- a/js/control/Control.Layers.js +++ b/js/control/Control.Layers.js @@ -79,6 +79,21 @@ BR.ControlLayers = L.Control.Layers.extend({ var obj = baseLayers[index]; this.activateLayer(obj.layer); + }, + + _addLayer: function (layer, name, overlay) { + L.Control.Layers.prototype._addLayer.call(this, layer, name, overlay); + + // override z-index assignment to fix that base layers added later + // are on top of overlays; set all base layers to 0 + if (this.options.autoZIndex && layer.setZIndex) { + if (!overlay) { + // undo increase in super method + this._lastZIndex--; + + layer.setZIndex(0); + } + } } }); \ No newline at end of file diff --git a/js/control/LayersTab.js b/js/control/LayersTab.js index 1798035..560cc96 100644 --- a/js/control/LayersTab.js +++ b/js/control/LayersTab.js @@ -289,7 +289,11 @@ BR.LayersTab = BR.ControlLayers.extend({ createLayer: function (layerData) { var layer = this.layersConfig.createLayer(layerData); - layer.options.zIndex = this._lastZIndex + 1; + var overlay = layerData.properties.overlay; + + // preview z-index, like in BR.ControlLayers._addLayer + layer.options.zIndex = overlay ? this._lastZIndex + 1 : 0; + return layer; },