angular-cesium
Version:
Angular library for working with Cesium.
51 lines • 6.04 kB
JavaScript
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