angular-cesium
Version:
Angular library for working with Cesium.
43 lines • 5.1 kB
JavaScript
import { Injectable } from '@angular/core';
import { CesiumService } from '../../cesium/cesium.service';
import { BasicDrawerService } from '../basic-drawer/basic-drawer.service';
/**
* This drawer is responsible for drawing czml dataSources.
*/
export class CzmlDrawerService extends BasicDrawerService {
constructor(cesiumService) {
super();
this.cesiumService = cesiumService;
}
init(options) {
const dataSources = [];
this.czmlStream = new Cesium.CzmlDataSource('czml');
dataSources.push(this.czmlStream);
this.cesiumService.getViewer().dataSources.add(this.czmlStream);
return dataSources;
}
// returns the packet, provided by the stream
add(cesiumProps) {
this.czmlStream.process(cesiumProps.czmlPacket);
return cesiumProps;
}
update(entity, cesiumProps) {
this.czmlStream.process(cesiumProps.czmlPacket);
}
remove(entity) {
this.czmlStream.entities.removeById(entity.acEntity.id);
}
removeAll() {
this.czmlStream.entities.removeAll();
}
setShow(showValue) {
this.czmlStream.entities.show = showValue;
}
}
CzmlDrawerService.decorators = [
{ type: Injectable }
];
CzmlDrawerService.ctorParameters = () => [
{ type: CesiumService }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ptbC1kcmF3ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2VzaXVtL3NyYy9saWIvYW5ndWxhci1jZXNpdW0vc2VydmljZXMvZHJhd2Vycy9jem1sLWRyYXdlci9jem1sLWRyYXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzFFOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQUl2RCxZQUNVLGFBQTRCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBRkEsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFHdEMsQ0FBQztJQUdELElBQUksQ0FBQyxPQUErQjtRQUNsQyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFcEQsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVoRSxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsNkNBQTZDO0lBQzdDLEdBQUcsQ0FBQyxXQUFnQjtRQUVsQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFXLEVBQUUsV0FBZ0I7UUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxNQUFNLENBQUMsTUFBVztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPLENBQUMsU0FBa0I7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztJQUM1QyxDQUFDOzs7WUE5Q0YsVUFBVTs7O1lBUEYsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENlc2l1bVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jZXNpdW0vY2VzaXVtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNpY0RyYXdlclNlcnZpY2UgfSBmcm9tICcuLi9iYXNpYy1kcmF3ZXIvYmFzaWMtZHJhd2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnRpdGllc0RyYXdlck9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZW50aXRpZXMtZHJhd2VyLW9wdGlvbnMnO1xyXG5cclxuLyoqXHJcbiAqICBUaGlzIGRyYXdlciBpcyByZXNwb25zaWJsZSBmb3IgZHJhd2luZyBjem1sIGRhdGFTb3VyY2VzLlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ3ptbERyYXdlclNlcnZpY2UgZXh0ZW5kcyBCYXNpY0RyYXdlclNlcnZpY2Uge1xyXG5cclxuICBjem1sU3RyZWFtOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZXNpdW1TZXJ2aWNlOiBDZXNpdW1TZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG5cclxuICBpbml0KG9wdGlvbnM/OiBFbnRpdGllc0RyYXdlck9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGRhdGFTb3VyY2VzID0gW107XHJcblxyXG4gICAgdGhpcy5jem1sU3RyZWFtID0gbmV3IENlc2l1bS5Dem1sRGF0YVNvdXJjZSgnY3ptbCcpO1xyXG5cclxuICAgIGRhdGFTb3VyY2VzLnB1c2godGhpcy5jem1sU3RyZWFtKTtcclxuXHJcbiAgICB0aGlzLmNlc2l1bVNlcnZpY2UuZ2V0Vmlld2VyKCkuZGF0YVNvdXJjZXMuYWRkKHRoaXMuY3ptbFN0cmVhbSk7XHJcblxyXG4gICAgcmV0dXJuIGRhdGFTb3VyY2VzO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0aGUgcGFja2V0LCBwcm92aWRlZCBieSB0aGUgc3RyZWFtXHJcbiAgYWRkKGNlc2l1bVByb3BzOiBhbnkpOiBhbnkge1xyXG5cclxuICAgIHRoaXMuY3ptbFN0cmVhbS5wcm9jZXNzKGNlc2l1bVByb3BzLmN6bWxQYWNrZXQpO1xyXG5cclxuICAgIHJldHVybiBjZXNpdW1Qcm9wcztcclxuICB9XHJcblxyXG4gIHVwZGF0ZShlbnRpdHk6IGFueSwgY2VzaXVtUHJvcHM6IGFueSkge1xyXG4gICAgdGhpcy5jem1sU3RyZWFtLnByb2Nlc3MoY2VzaXVtUHJvcHMuY3ptbFBhY2tldCk7XHJcbiAgfVxyXG5cclxuICByZW1vdmUoZW50aXR5OiBhbnkpIHtcclxuICAgIHRoaXMuY3ptbFN0cmVhbS5lbnRpdGllcy5yZW1vdmVCeUlkKGVudGl0eS5hY0VudGl0eS5pZCk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVBbGwoKSB7XHJcbiAgICB0aGlzLmN6bWxTdHJlYW0uZW50aXRpZXMucmVtb3ZlQWxsKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTaG93KHNob3dWYWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5jem1sU3RyZWFtLmVudGl0aWVzLnNob3cgPSBzaG93VmFsdWU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbiJdfQ==