UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

34 lines (33 loc) 990 B
import TileLayer from 'ol/layer/Tile.js'; import OSM from 'ol/source/OSM.js'; class OsmManager { map; basemapLayers = {}; constructor(map) { this.map = map; } removeAllBasemapLayers() { for (const basemap of Object.values(this.basemapLayers)) { this.map.removeLayer(basemap.olayer); } this.basemapLayers = {}; } addBasemapLayer(layer) { const olayer = new TileLayer({ source: new OSM() }); this.basemapLayers[layer.treeItemId] = { olayer: olayer, layerOsm: layer }; // For basemap, set a minimal number (arbitrary defined to less than -5000) olayer.setZIndex(-5000 - layer.order); this.map.addLayer(olayer); } changeOpacity(layerInfos) { if (layerInfos.hasValidOpacity) { this.basemapLayers[layerInfos.treeItemId].olayer.setOpacity(layerInfos.opacity); } } } export default OsmManager;