UNPKG

@eliorar/angular-cesium

Version:

Angular library for working with Cesium.

53 lines 6.27 kB
import { Directive, Input } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../drawers/basic-drawer/basic-drawer.service"; import * as i2 from "../map-layers/map-layers.service"; /** * Extend this class to create drawing on map components. */ export class EntityOnMapComponent { constructor(_drawer, mapLayers) { this._drawer = _drawer; this.mapLayers = mapLayers; } ngOnInit() { this.selfPrimitiveIsDraw = false; const dataSources = this._drawer.init(); if (dataSources) { this.dataSources = dataSources; // this.mapLayers.registerLayerDataSources(dataSources, 0); } this.drawOnMap(); } ngOnChanges(changes) { const props = changes['props']; if (props.currentValue !== props.previousValue) { this.updateOnMap(); } } drawOnMap() { this.selfPrimitiveIsDraw = true; return this.selfPrimitive = this._drawer.add(this.props); } removeFromMap() { this.selfPrimitiveIsDraw = false; return this._drawer.remove(this.selfPrimitive); } updateOnMap() { if (this.selfPrimitiveIsDraw) { return this._drawer.update(this.selfPrimitive, this.props); } } ngOnDestroy() { this.mapLayers.removeDataSources(this.dataSources); this.removeFromMap(); } } EntityOnMapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EntityOnMapComponent, deps: [{ token: i1.BasicDrawerService }, { token: i2.MapLayersService }], target: i0.ɵɵFactoryTarget.Directive }); EntityOnMapComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: EntityOnMapComponent, inputs: { props: "props" }, usesOnChanges: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EntityOnMapComponent, decorators: [{ type: Directive }], ctorParameters: function () { return [{ type: i1.BasicDrawerService }, { type: i2.MapLayersService }]; }, propDecorators: { props: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW9uLW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNlc2l1bS9zcmMvbGliL2FuZ3VsYXItY2VzaXVtL3NlcnZpY2VzL2VudGl0eS1vbi1tYXAvZW50aXR5LW9uLW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQThDLE1BQU0sZUFBZSxDQUFDOzs7O0FBSTVGOztHQUVHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQixZQUFzQixPQUEyQixFQUFVLFNBQTJCO1FBQWhFLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFDdEYsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEMsSUFBSSxXQUFXLEVBQUU7WUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztZQUMvQiwyREFBMkQ7U0FDNUQ7UUFDRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsSUFBSSxLQUFLLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7O2lIQS9DVSxvQkFBb0I7cUdBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxTQUFTO3dJQUdSLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Jhc2ljRHJhd2VyU2VydmljZX0gZnJvbSAnLi4vZHJhd2Vycy9iYXNpYy1kcmF3ZXIvYmFzaWMtZHJhd2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtNYXBMYXllcnNTZXJ2aWNlfSBmcm9tICcuLi9tYXAtbGF5ZXJzL21hcC1sYXllcnMuc2VydmljZSc7XG5cbi8qKlxuICogIEV4dGVuZCB0aGlzIGNsYXNzIHRvIGNyZWF0ZSBkcmF3aW5nIG9uIG1hcCBjb21wb25lbnRzLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBFbnRpdHlPbk1hcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwcm9wczogYW55O1xuXG4gIHByb3RlY3RlZCBzZWxmUHJpbWl0aXZlOiBhbnk7XG4gIHByb3RlY3RlZCBzZWxmUHJpbWl0aXZlSXNEcmF3OiBib29sZWFuO1xuICBwcm90ZWN0ZWQgZGF0YVNvdXJjZXM6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2RyYXdlcjogQmFzaWNEcmF3ZXJTZXJ2aWNlLCBwcml2YXRlIG1hcExheWVyczogTWFwTGF5ZXJzU2VydmljZSkge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxmUHJpbWl0aXZlSXNEcmF3ID0gZmFsc2U7XG4gICAgY29uc3QgZGF0YVNvdXJjZXMgPSB0aGlzLl9kcmF3ZXIuaW5pdCgpO1xuICAgIGlmIChkYXRhU291cmNlcykge1xuICAgICAgdGhpcy5kYXRhU291cmNlcyA9IGRhdGFTb3VyY2VzO1xuICAgICAgLy8gdGhpcy5tYXBMYXllcnMucmVnaXN0ZXJMYXllckRhdGFTb3VyY2VzKGRhdGFTb3VyY2VzLCAwKTtcbiAgICB9XG4gICAgdGhpcy5kcmF3T25NYXAoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBwcm9wcyA9IGNoYW5nZXNbJ3Byb3BzJ107XG4gICAgaWYgKHByb3BzLmN1cnJlbnRWYWx1ZSAhPT0gcHJvcHMucHJldmlvdXNWYWx1ZSkge1xuICAgICAgdGhpcy51cGRhdGVPbk1hcCgpO1xuICAgIH1cbiAgfVxuXG4gIGRyYXdPbk1hcCgpIHtcbiAgICB0aGlzLnNlbGZQcmltaXRpdmVJc0RyYXcgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzLnNlbGZQcmltaXRpdmUgPSB0aGlzLl9kcmF3ZXIuYWRkKHRoaXMucHJvcHMpO1xuICB9XG5cbiAgcmVtb3ZlRnJvbU1hcCgpIHtcbiAgICB0aGlzLnNlbGZQcmltaXRpdmVJc0RyYXcgPSBmYWxzZTtcbiAgICByZXR1cm4gdGhpcy5fZHJhd2VyLnJlbW92ZSh0aGlzLnNlbGZQcmltaXRpdmUpO1xuICB9XG5cbiAgdXBkYXRlT25NYXAoKSB7XG4gICAgaWYgKHRoaXMuc2VsZlByaW1pdGl2ZUlzRHJhdykge1xuICAgICAgcmV0dXJuIHRoaXMuX2RyYXdlci51cGRhdGUodGhpcy5zZWxmUHJpbWl0aXZlLCB0aGlzLnByb3BzKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm1hcExheWVycy5yZW1vdmVEYXRhU291cmNlcyh0aGlzLmRhdGFTb3VyY2VzKTtcbiAgICB0aGlzLnJlbW92ZUZyb21NYXAoKTtcbiAgfVxufVxuIl19