- var layers = layerParam || "M",
- layersAdded = "";
-
- for (var i = this.baseLayers.length - 1; i >= 0; i--) {
- if (layers.indexOf(this.baseLayers[i].options.code) >= 0) {
- this.addLayer(this.baseLayers[i]);
- layersAdded = layersAdded + this.baseLayers[i].options.code;
- } else if (i === 0 && layersAdded === "") {
- this.addLayer(this.baseLayers[i]);
- } else {
- this.removeLayer(this.baseLayers[i]);
+ const oldBaseLayer = this.getMapBaseLayer();
+ let newBaseLayer;
+
+ for (const layer of this.baseLayers) {
+ if (!newBaseLayer || layerParam.includes(layer.options.code)) {
+ newBaseLayer = layer;