Fix: ordering of baselayers

This commit is contained in:
Pieter Vander Vennet 2023-06-07 14:34:58 +02:00
parent 1ec76b66b5
commit 8379a894d0

View file

@ -376,16 +376,23 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap {
map.addSource(background.id, MapLibreAdaptor.prepareWmsSource(background))
map.resize()
let addLayerBeforeId = "aeroway_fill"// this is the first non-landuse item in the stylesheet, we add the raster layer before the roads but above the landuse
if(background.category === "osmbasedmap" || background.category === "map"){
// The background layer is already an OSM-based map or another map, so we don't want anything from the baselayer
let layers = map.getStyle().layers
// THe last index of the maptiler layers
let lastIndex = layers.findIndex(layer => layer.id === "housenumber")
addLayerBeforeId = layers[lastIndex + 1]?.id ?? "housenumber"
}
map.addLayer(
{
id: background.id,
type: "raster",
source: background.id,
paint: {},
},
background.category === "osmbasedmap" || background.category === "map"
? undefined
: "aeroway_fill"
},addLayerBeforeId
)
await this.awaitStyleIsLoaded()
this.removeCurrentLayer(map)