UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

35 lines (34 loc) 1.13 kB
import olVectorTileLayer from 'ol/layer/VectorTile.js'; import { applyStyle } from 'ol-mapbox-style'; class VectorTilesManager { constructor(map) { Object.defineProperty(this, "map", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "basemapLayers", { enumerable: true, configurable: true, writable: true, value: [] }); this.map = map; } removeAllBasemapLayers() { this.basemapLayers.forEach((basemap) => { this.map.removeLayer(basemap); }); this.basemapLayers = []; } addBasemapLayer(basemap) { const olayer = new olVectorTileLayer({ declutter: true }); applyStyle(olayer, basemap.style, basemap.source); this.basemapLayers.push(olayer); // For basemap, set a minimal number (arbitrary defined to less than -5000) olayer.setZIndex(-5000 - basemap.order); this.map.getLayers().insertAt(0, olayer); } } export default VectorTilesManager;