1

groupLayerMarker is always under other layers so user can't see markers

  1. map Collection:[]
  2. I get data and create groupLayerMarker groupLayerMarker: [layerMarker, layerMarker ,...] Collection: [groupLayerMarker],
  3. loading layerOsm
    Collection: [groupLayerMarker, layerOsm],
  4. loading map layerWMS with property layer="" Collection: [groupLayerMarker, layerOsm], (layer="" so there is no layerWMS in collection.
  5. user select checkbox with layerName_1 from layerWMS (layer="layerName_1")
    Collection: [groupLayerMarker, layerOsm, layerWms],

    addAllMarkersLayer() {
    const markersGroup = new LayerGroup({
        layers: [],
        name: 'marker',
        id: 4
    });
    this.map.addLayer(markersGroup);
    markersGroup.setZIndex(markersGroup.get('id'));
    

    }

    addLayers(mLayersComponent: QueryList < MLayersComponent > ) {
    const results = first < any > (mLayersComponent.toArray());
    forEach(results, result => {
        if (result && result.length > 0) {
            result.forEach(map => {
                map.layer$.subscribe(newLayer => {
                    if (newLayer) {
                        this.removeOldLayers(newLayer);
                        this.map.addLayer(newLayer);
                    }
                });
            });
        }
    });
    

    }

    removeOldLayers(newLayer) {
    const newLayerName = newLayer.get('name');
    const allLayers = this.map.getLayers();
    allLayers.forEach(existingLayer => {
        if (existingLayer && existingLayer.get('name') === newLayerName) {
            this.map.removeLayer(existingLayer);
        }
    });
    

    }

I tried to add zIndex to move groupLayerMarker to top Collection: [layerOsm, layerWms, groupLayerMarker].

In future i need add another layers like layerRoads order should be: Collection: [layerOsm, layerWms, layerWMTS, groupLayerRoads, groupLayerMarker]

Question: How manage layers ?

gomez119
  • 11
  • 2
  • Consider using the `removeAt` and `insertAt` methods of the layers collection as in this 3rd party layer switcher https://github.com/Viglino/ol-ext/blob/master/src/control/LayerSwitcher.js – Mike Sep 03 '19 at 09:45

0 Answers0