Prevent unnecessary tile loading for default base layer
by only setting it if no layer activated by hash URL
This commit is contained in:
parent
d60b1ad15f
commit
282edbbc01
5 changed files with 40 additions and 6 deletions
|
|
@ -63,11 +63,6 @@ BR.Map = {
|
||||||
overlays[i] = L.tileLayer(BR.conf.overlays[i]);
|
overlays[i] = L.tileLayer(BR.conf.overlays[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// after applying custom base layer configurations, add configured base layer to map
|
|
||||||
var defaultLayer = baseLayers[Object.keys(baseLayers)[BR.conf.defaultBaseLayerIndex || 0]];
|
|
||||||
if (defaultLayer) {
|
|
||||||
map.addLayer(defaultLayer);
|
|
||||||
}
|
|
||||||
|
|
||||||
layersControl = BR.layersTab(layersConfig, baseLayers, overlays).addTo(map);
|
layersControl = BR.layersTab(layersConfig, baseLayers, overlays).addTo(map);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,18 @@ BR.ControlLayers = L.Control.Layers.extend({
|
||||||
return result;
|
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 () {
|
removeActiveLayers: function () {
|
||||||
var removed = [];
|
var removed = [];
|
||||||
|
|
||||||
|
|
@ -42,6 +54,12 @@ BR.ControlLayers = L.Control.Layers.extend({
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getBaseLayers: function () {
|
||||||
|
return this._layers.filter(function (obj) {
|
||||||
|
return !obj.overlay;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
activateLayer: function (layer) {
|
activateLayer: function (layer) {
|
||||||
this._map.addLayer(layer);
|
this._map.addLayer(layer);
|
||||||
},
|
},
|
||||||
|
|
@ -54,6 +72,13 @@ BR.ControlLayers = L.Control.Layers.extend({
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
activateBaseLayerIndex: function (index) {
|
||||||
|
var baseLayers = this.getBaseLayers();
|
||||||
|
var obj = baseLayers[index];
|
||||||
|
|
||||||
|
this.activateLayer(obj.layer);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
@ -315,6 +315,14 @@ BR.LayersTab = BR.ControlLayers.extend({
|
||||||
return obj;
|
return obj;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
activateDefaultBaseLayer: function () {
|
||||||
|
var index = BR.conf.defaultBaseLayerIndex || 0;
|
||||||
|
var activeBaseLayer = this.getActiveBaseLayer();
|
||||||
|
if (!activeBaseLayer) {
|
||||||
|
this.activateBaseLayerIndex(index);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
saveRemoveActiveLayers: function () {
|
saveRemoveActiveLayers: function () {
|
||||||
this.saveLayers = this.removeActiveLayers();
|
this.saveLayers = this.removeActiveLayers();
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -314,6 +314,12 @@
|
||||||
layersControl: layersControl
|
layersControl: layersControl
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// activate configured default base layer or first if no hash,
|
||||||
|
// only after hash init, by using the same delay
|
||||||
|
setTimeout(function () {
|
||||||
|
layersControl.activateDefaultBaseLayer();
|
||||||
|
}, urlHash.changeDefer);
|
||||||
|
|
||||||
routingOptions.on('update', urlHash.onMapMove, urlHash);
|
routingOptions.on('update', urlHash.onMapMove, urlHash);
|
||||||
nogos.on('update', urlHash.onMapMove, urlHash);
|
nogos.on('update', urlHash.onMapMove, urlHash);
|
||||||
// waypoint add, move, delete (but last)
|
// waypoint add, move, delete (but last)
|
||||||
|
|
|
||||||
|
|
@ -141,7 +141,7 @@
|
||||||
|
|
||||||
if (!added) {
|
if (!added) {
|
||||||
// if we couldn't add layers (removed or invalid name), add the default one
|
// if we couldn't add layers (removed or invalid name), add the default one
|
||||||
layersControl.activateFirstLayer();
|
layersControl.activateDefaultBaseLayer();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue