angular-cesium
Version:
Angular library for working with Cesium.
35 lines • 5.18 kB
JavaScript
import { Injectable } from '@angular/core';
import { EditablePoint } from '../../../models/editable-point';
export class PointsManagerService {
constructor() {
this.points = new Map();
}
createEditablePoint(id, editPointLayer, coordinateConverter, editOptions, position) {
const editablePoint = new EditablePoint(id, editPointLayer, coordinateConverter, editOptions, position);
this.points.set(id, editablePoint);
}
enableAll() {
this.points.forEach(point => point.enableEdit = true);
}
disableAll() {
this.points.forEach(point => point.enableEdit = false);
}
dispose(id) {
const point = this.points.get(id);
if (point.getCurrentPoint()) {
point.dispose();
}
this.points.delete(id);
}
get(id) {
return this.points.get(id);
}
clear() {
this.points.forEach(point => point.dispose());
this.points.clear();
}
}
PointsManagerService.decorators = [
{ type: Injectable }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRzLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2VzaXVtL3NyYy9saWIvYW5ndWxhci1jZXNpdW0td2lkZ2V0cy9zZXJ2aWNlcy9lbnRpdHktZWRpdG9ycy9wb2ludHMtZWRpdG9yL3BvaW50cy1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHL0QsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUVFLFdBQU0sR0FBK0IsSUFBSSxHQUFHLEVBQXlCLENBQUM7SUF5Q3hFLENBQUM7SUF2Q0MsbUJBQW1CLENBQUMsRUFBVSxFQUNWLGNBQWdDLEVBQ2hDLG1CQUF3QyxFQUN4QyxXQUE4QixFQUM5QixRQUFxQjtRQUN2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FDckMsRUFBRSxFQUNGLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLFFBQVEsQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVTtRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUMzQixLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDakI7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsR0FBRyxDQUFDLEVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7OztZQTFDRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29vcmRpbmF0ZUNvbnZlcnRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2FuZ3VsYXItY2VzaXVtL3NlcnZpY2VzL2Nvb3JkaW5hdGUtY29udmVydGVyL2Nvb3JkaW5hdGUtY29udmVydGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY0xheWVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5ndWxhci1jZXNpdW0vY29tcG9uZW50cy9hYy1sYXllci9hYy1sYXllci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhcnRlc2lhbjMgfSBmcm9tICcuLi8uLi8uLi8uLi9hbmd1bGFyLWNlc2l1bS9tb2RlbHMvY2FydGVzaWFuMyc7XHJcbmltcG9ydCB7IFBvaW50RWRpdE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcG9pbnQtZWRpdC1vcHRpb25zJztcclxuaW1wb3J0IHsgRWRpdGFibGVQb2ludCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9lZGl0YWJsZS1wb2ludCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQb2ludHNNYW5hZ2VyU2VydmljZSB7XHJcbiAgcG9pbnRzOiBNYXA8c3RyaW5nLCBFZGl0YWJsZVBvaW50PiA9IG5ldyBNYXA8c3RyaW5nLCBFZGl0YWJsZVBvaW50PigpO1xyXG5cclxuICBjcmVhdGVFZGl0YWJsZVBvaW50KGlkOiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICBlZGl0UG9pbnRMYXllcjogQWNMYXllckNvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgICAgICAgIGNvb3JkaW5hdGVDb252ZXJ0ZXI6IENvb3JkaW5hdGVDb252ZXJ0ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBlZGl0T3B0aW9ucz86IFBvaW50RWRpdE9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbj86IENhcnRlc2lhbjMpIHtcclxuICAgIGNvbnN0IGVkaXRhYmxlUG9pbnQgPSBuZXcgRWRpdGFibGVQb2ludChcclxuICAgICAgaWQsXHJcbiAgICAgIGVkaXRQb2ludExheWVyLFxyXG4gICAgICBjb29yZGluYXRlQ29udmVydGVyLFxyXG4gICAgICBlZGl0T3B0aW9ucyxcclxuICAgICAgcG9zaXRpb24pO1xyXG4gICAgdGhpcy5wb2ludHMuc2V0KGlkLCBlZGl0YWJsZVBvaW50XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZW5hYmxlQWxsKCkge1xyXG4gICAgdGhpcy5wb2ludHMuZm9yRWFjaChwb2ludCA9PiBwb2ludC5lbmFibGVFZGl0ID0gdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBkaXNhYmxlQWxsKCkge1xyXG4gICAgdGhpcy5wb2ludHMuZm9yRWFjaChwb2ludCA9PiBwb2ludC5lbmFibGVFZGl0ID0gZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgZGlzcG9zZShpZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBwb2ludCA9IHRoaXMucG9pbnRzLmdldChpZCk7XHJcbiAgICBpZiAocG9pbnQuZ2V0Q3VycmVudFBvaW50KCkpIHtcclxuICAgICAgcG9pbnQuZGlzcG9zZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wb2ludHMuZGVsZXRlKGlkKTtcclxuICB9XHJcblxyXG4gIGdldChpZDogc3RyaW5nKTogRWRpdGFibGVQb2ludCB7XHJcbiAgICByZXR1cm4gdGhpcy5wb2ludHMuZ2V0KGlkKTtcclxuICB9XHJcblxyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy5wb2ludHMuZm9yRWFjaChwb2ludCA9PiBwb2ludC5kaXNwb3NlKCkpO1xyXG4gICAgdGhpcy5wb2ludHMuY2xlYXIoKTtcclxuICB9XHJcbn1cclxuIl19