angular-cesium
Version:
Angular library for working with Cesium.
26 lines • 4.67 kB
JavaScript
import { Injectable } from '@angular/core';
import { EditablePolygon } from '../../../models/editable-polygon';
export class PolygonsManagerService {
constructor() {
this.polygons = new Map();
}
createEditablePolygon(id, editPolygonsLayer, editPointsLayer, editPolylinesLayer, coordinateConverter, scene, polygonOptions, positions) {
const editablePolygon = new EditablePolygon(id, editPolygonsLayer, editPointsLayer, editPolylinesLayer, coordinateConverter, scene, polygonOptions, positions);
this.polygons.set(id, editablePolygon);
}
dispose(id) {
this.polygons.get(id).dispose();
this.polygons.delete(id);
}
get(id) {
return this.polygons.get(id);
}
clear() {
this.polygons.forEach(polygon => polygon.dispose());
this.polygons.clear();
}
}
PolygonsManagerService.decorators = [
{ type: Injectable }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMtbWFuYWdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jZXNpdW0vc3JjL2xpYi9hbmd1bGFyLWNlc2l1bS13aWRnZXRzL3NlcnZpY2VzL2VudGl0eS1lZGl0b3JzL3BvbHlnb25zLWVkaXRvci9wb2x5Z29ucy1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFPbkUsTUFBTSxPQUFPLHNCQUFzQjtJQURuQztRQUVFLGFBQVEsR0FBaUMsSUFBSSxHQUFHLEVBQTJCLENBQUM7SUFnQzlFLENBQUM7SUE5QkMscUJBQXFCLENBQUMsRUFBVSxFQUFFLGlCQUFtQyxFQUFFLGVBQWlDLEVBQ2xGLGtCQUFvQyxFQUFFLG1CQUF3QyxFQUM5RSxLQUFVLEVBQ1YsY0FBbUMsRUFBRSxTQUF3QjtRQUNqRixNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FDekMsRUFBRSxFQUNGLGlCQUFpQixFQUNqQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixLQUFLLEVBQ0wsY0FBYyxFQUNkLFNBQVMsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLGVBQWUsQ0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVTtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsR0FBRyxDQUFDLEVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3hCLENBQUM7OztZQWpDRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFZGl0YWJsZVBvbHlnb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZWRpdGFibGUtcG9seWdvbic7XHJcbmltcG9ydCB7IENhcnRlc2lhbjMgfSBmcm9tICcuLi8uLi8uLi8uLi9hbmd1bGFyLWNlc2l1bS9tb2RlbHMvY2FydGVzaWFuMyc7XHJcbmltcG9ydCB7IFBvbHlnb25FZGl0T3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wb2x5Z29uLWVkaXQtb3B0aW9ucyc7XHJcbmltcG9ydCB7IEFjTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9hbmd1bGFyLWNlc2l1bS9jb21wb25lbnRzL2FjLWxheWVyL2FjLWxheWVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvb3JkaW5hdGVDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9hbmd1bGFyLWNlc2l1bS9zZXJ2aWNlcy9jb29yZGluYXRlLWNvbnZlcnRlci9jb29yZGluYXRlLWNvbnZlcnRlci5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFBvbHlnb25zTWFuYWdlclNlcnZpY2Uge1xyXG4gIHBvbHlnb25zOiBNYXA8c3RyaW5nLCBFZGl0YWJsZVBvbHlnb24+ID0gbmV3IE1hcDxzdHJpbmcsIEVkaXRhYmxlUG9seWdvbj4oKTtcclxuXHJcbiAgY3JlYXRlRWRpdGFibGVQb2x5Z29uKGlkOiBzdHJpbmcsIGVkaXRQb2x5Z29uc0xheWVyOiBBY0xheWVyQ29tcG9uZW50LCBlZGl0UG9pbnRzTGF5ZXI6IEFjTGF5ZXJDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRQb2x5bGluZXNMYXllcjogQWNMYXllckNvbXBvbmVudCwgY29vcmRpbmF0ZUNvbnZlcnRlcjogQ29vcmRpbmF0ZUNvbnZlcnRlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2NlbmU6IGFueSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9seWdvbk9wdGlvbnM/OiBQb2x5Z29uRWRpdE9wdGlvbnMsIHBvc2l0aW9ucz86IENhcnRlc2lhbjNbXSkge1xyXG4gICAgY29uc3QgZWRpdGFibGVQb2x5Z29uID0gbmV3IEVkaXRhYmxlUG9seWdvbihcclxuICAgICAgaWQsXHJcbiAgICAgIGVkaXRQb2x5Z29uc0xheWVyLFxyXG4gICAgICBlZGl0UG9pbnRzTGF5ZXIsXHJcbiAgICAgIGVkaXRQb2x5bGluZXNMYXllcixcclxuICAgICAgY29vcmRpbmF0ZUNvbnZlcnRlcixcclxuICAgICAgc2NlbmUsXHJcbiAgICAgIHBvbHlnb25PcHRpb25zLFxyXG4gICAgICBwb3NpdGlvbnMpO1xyXG4gICAgdGhpcy5wb2x5Z29ucy5zZXQoaWQsIGVkaXRhYmxlUG9seWdvblxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRpc3Bvc2UoaWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5wb2x5Z29ucy5nZXQoaWQpLmRpc3Bvc2UoKTtcclxuICAgIHRoaXMucG9seWdvbnMuZGVsZXRlKGlkKTtcclxuICB9XHJcblxyXG4gIGdldChpZDogc3RyaW5nKTogRWRpdGFibGVQb2x5Z29uIHtcclxuICAgIHJldHVybiB0aGlzLnBvbHlnb25zLmdldChpZCk7XHJcbiAgfVxyXG5cclxuICBjbGVhcigpIHtcclxuICAgIHRoaXMucG9seWdvbnMuZm9yRWFjaChwb2x5Z29uID0+IHBvbHlnb24uZGlzcG9zZSgpKTtcclxuICAgIHRoaXMucG9seWdvbnMuY2xlYXIoKTtcclxuICB9XHJcbn1cclxuIl19