Persist layer selection with local storage (#146)

This commit is contained in:
Norbert Renner 2019-03-28 11:40:50 +01:00
parent 98f80d90ca
commit dbc7fce91d
2 changed files with 49 additions and 0 deletions

View file

@ -18,6 +18,29 @@ BR.LayersConfig = L.Class.extend({
this._addLeafletProvidersLayers();
this._customizeLayers();
this.loadDefaultLayers();
},
loadDefaultLayers: function() {
if (BR.Util.localStorageAvailable()) {
var item = localStorage.getItem("map/defaultLayers");
if (item) {
var defaultLayers = JSON.parse(item);
this.defaultBaseLayers = defaultLayers.baseLayers;
this.defaultOverlays = defaultLayers.overlays;
}
}
},
storeDefaultLayers: function (baseLayers, overlays) {
if (BR.Util.localStorageAvailable()) {
var defaultLayers = {
baseLayers: baseLayers,
overlays: overlays
};
localStorage.setItem("map/defaultLayers", JSON.stringify(defaultLayers));
}
},
_addLeafletProvidersLayers: function () {
@ -230,6 +253,8 @@ BR.LayersConfig = L.Class.extend({
}
layer.getAttribution = getAttribution;
layer.id = props.id;
return layer;
}
});