Prevent unnecessary tile loading for default base layer

by only setting it if no layer activated by hash URL
This commit is contained in:
Norbert Renner 2019-04-03 11:54:52 +02:00
parent d60b1ad15f
commit 282edbbc01
5 changed files with 40 additions and 6 deletions

View file

@ -17,6 +17,18 @@ BR.ControlLayers = L.Control.Layers.extend({
return result;
},
getActiveBaseLayer: function () {
var activeLayers = this.getActiveLayers();
for (var i = 0; i < activeLayers.length; i++) {
var obj = activeLayers[i];
if (!obj.overlay) {
return obj;
}
}
return null;
},
removeActiveLayers: function () {
var removed = [];
@ -42,6 +54,12 @@ BR.ControlLayers = L.Control.Layers.extend({
return null;
},
getBaseLayers: function () {
return this._layers.filter(function (obj) {
return !obj.overlay;
});
},
activateLayer: function (layer) {
this._map.addLayer(layer);
},
@ -54,6 +72,13 @@ BR.ControlLayers = L.Control.Layers.extend({
break;
}
}
},
activateBaseLayerIndex: function (index) {
var baseLayers = this.getBaseLayers();
var obj = baseLayers[index];
this.activateLayer(obj.layer);
}
});

View file

@ -315,6 +315,14 @@ BR.LayersTab = BR.ControlLayers.extend({
return obj;
},
activateDefaultBaseLayer: function () {
var index = BR.conf.defaultBaseLayerIndex || 0;
var activeBaseLayer = this.getActiveBaseLayer();
if (!activeBaseLayer) {
this.activateBaseLayerIndex(index);
}
},
saveRemoveActiveLayers: function () {
this.saveLayers = this.removeActiveLayers();
},