UNPKG

angular-cesium

Version:
51 lines 6.04 kB
import { __decorate, __metadata } from "tslib"; import { CesiumService } from '../cesium/cesium.service'; import { Injectable } from '@angular/core'; let MapLayersService = class MapLayersService { constructor(cesiumService) { this.cesiumService = cesiumService; this.layersDataSources = []; } registerLayerDataSources(dataSources, zIndex) { dataSources.forEach(ds => { ds.zIndex = zIndex; this.layersDataSources.push(ds); }); } drawAllLayers() { this.layersDataSources.sort((a, b) => a.zIndex - b.zIndex); this.layersDataSources.forEach((dataSource) => { this.cesiumService.getViewer().dataSources.add(dataSource); }); } updateAndRefresh(dataSources, newZIndex) { if (dataSources && dataSources.length) { dataSources.forEach((ds) => { const index = this.layersDataSources.indexOf(ds); if (index !== -1) { this.layersDataSources[index].zIndex = newZIndex; } }); this.cesiumService.getViewer().dataSources.removeAll(); this.drawAllLayers(); } } removeDataSources(dataSources) { dataSources.forEach(ds => { const index = this.layersDataSources.indexOf(ds); if (index !== -1) { this.layersDataSources.splice(index, 1); this.cesiumService.getViewer().dataSources.remove(ds, true); } }); } }; MapLayersService.ctorParameters = () => [ { type: CesiumService } ]; MapLayersService = __decorate([ Injectable(), __metadata("design:paramtypes", [CesiumService]) ], MapLayersService); export { MapLayersService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxheWVycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1jZXNpdW0vIiwic291cmNlcyI6WyJsaWIvYW5ndWxhci1jZXNpdW0vc2VydmljZXMvbWFwLWxheWVycy9tYXAtbGF5ZXJzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWdCO0lBSTNCLFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBRnhDLHNCQUFpQixHQUFVLEVBQUUsQ0FBQztJQUl0QyxDQUFDO0lBRUQsd0JBQXdCLENBQUMsV0FBa0IsRUFBRSxNQUFjO1FBQ3pELFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDdkIsRUFBRSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDbkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsV0FBa0IsRUFBRSxTQUFpQjtRQUNwRCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQ3JDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtnQkFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDakQsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7b0JBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO2lCQUNsRDtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFdBQWtCO1FBQ2xDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqRCxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDN0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFBOztZQTFDb0MsYUFBYTs7QUFKckMsZ0JBQWdCO0lBRDVCLFVBQVUsRUFBRTtxQ0FLd0IsYUFBYTtHQUpyQyxnQkFBZ0IsQ0E4QzVCO1NBOUNZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENlc2l1bVNlcnZpY2UgfSBmcm9tICcuLi9jZXNpdW0vY2VzaXVtLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFwTGF5ZXJzU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBsYXllcnNEYXRhU291cmNlczogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNlc2l1bVNlcnZpY2U6IENlc2l1bVNlcnZpY2UpIHtcblxuICB9XG5cbiAgcmVnaXN0ZXJMYXllckRhdGFTb3VyY2VzKGRhdGFTb3VyY2VzOiBhbnlbXSwgekluZGV4OiBudW1iZXIpIHtcbiAgICBkYXRhU291cmNlcy5mb3JFYWNoKGRzID0+IHtcbiAgICAgIGRzLnpJbmRleCA9IHpJbmRleDtcbiAgICAgIHRoaXMubGF5ZXJzRGF0YVNvdXJjZXMucHVzaChkcyk7XG4gICAgfSk7XG4gIH1cblxuICBkcmF3QWxsTGF5ZXJzKCkge1xuICAgIHRoaXMubGF5ZXJzRGF0YVNvdXJjZXMuc29ydCgoYSwgYikgPT4gYS56SW5kZXggLSBiLnpJbmRleCk7XG5cbiAgICB0aGlzLmxheWVyc0RhdGFTb3VyY2VzLmZvckVhY2goKGRhdGFTb3VyY2UpID0+IHtcbiAgICAgIHRoaXMuY2VzaXVtU2VydmljZS5nZXRWaWV3ZXIoKS5kYXRhU291cmNlcy5hZGQoZGF0YVNvdXJjZSk7XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVBbmRSZWZyZXNoKGRhdGFTb3VyY2VzOiBhbnlbXSwgbmV3WkluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoZGF0YVNvdXJjZXMgJiYgZGF0YVNvdXJjZXMubGVuZ3RoKSB7XG4gICAgICBkYXRhU291cmNlcy5mb3JFYWNoKChkcykgPT4ge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubGF5ZXJzRGF0YVNvdXJjZXMuaW5kZXhPZihkcyk7XG4gICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICB0aGlzLmxheWVyc0RhdGFTb3VyY2VzW2luZGV4XS56SW5kZXggPSBuZXdaSW5kZXg7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmNlc2l1bVNlcnZpY2UuZ2V0Vmlld2VyKCkuZGF0YVNvdXJjZXMucmVtb3ZlQWxsKCk7XG4gICAgICB0aGlzLmRyYXdBbGxMYXllcnMoKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVEYXRhU291cmNlcyhkYXRhU291cmNlczogYW55W10pIHtcbiAgICBkYXRhU291cmNlcy5mb3JFYWNoKGRzID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5sYXllcnNEYXRhU291cmNlcy5pbmRleE9mKGRzKTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgdGhpcy5sYXllcnNEYXRhU291cmNlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB0aGlzLmNlc2l1bVNlcnZpY2UuZ2V0Vmlld2VyKCkuZGF0YVNvdXJjZXMucmVtb3ZlKGRzLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19