@vizzuality/layer-manager-plugin-mapboxgl
Version:
## Requirements Install the next peer dependencies: ```sh # with Yarn yarn add deck.gl@7.3.6 luma.gl@7.3.2
40 lines • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const cancelable_promise_1 = require("cancelable-promise");
const vector_style_layers_1 = require("./vector-style-layers");
const RasterLayer = (layerModel, providers) => {
const { source = {}, render = {}, id, } = layerModel;
const DEFAULT_RASTER_OPTIONS = {
id: `${id}-raster`,
type: 'raster',
source: id,
};
const { provider } = source;
const { layers = [DEFAULT_RASTER_OPTIONS], // Set the default to this to
} = render;
const layer = {
id,
type: 'raster',
source: Object.assign({ type: 'raster', tileSize: 256 }, source),
layers: (0, vector_style_layers_1.getVectorStyleLayers)(layers.map((l) => (Object.assign(Object.assign({}, DEFAULT_RASTER_OPTIONS), l))), layerModel),
};
if (provider) {
const method = providers[provider.type];
return new cancelable_promise_1.CancelablePromise((resolve, reject) => {
if (!method) {
reject(new Error(`${provider.type} provider is not supported. Try to add it to the providers method when you initialize layer-manager`));
}
method.call(this, layerModel, layer, resolve, reject);
});
}
return new cancelable_promise_1.CancelablePromise((resolve, reject) => {
if (layer) {
resolve(layer);
}
else {
reject(new Error('error in layer config'));
}
});
};
exports.default = RasterLayer;
//# sourceMappingURL=raster-layer-mapbox-gl.js.map