_persistOverlayLayers()

in public/js/components/map.js [152:167]


  _persistOverlayLayers(source) {
    const overlayLayerIds = this._getOverlayLayerIds();
    const curStyle = this._maplibreMap.getStyle();
    const overlayLayers = curStyle.layers.filter(layer => overlayLayerIds.includes(layer.id));
    const overlaySource = { ...curStyle.sources };

    const nonLabelLayers = source.layers.filter(l => l.type !== 'symbol');
    const labelLayers = source.layers.filter(l => l.type === 'symbol');

    const layers = [ ...nonLabelLayers, ...overlayLayers, ...labelLayers];
    const sources = { ...source.sources, ...overlaySource };
    return {
      ...source,
      ...{ layers, sources }
    };
  }