iceye-angular-cesium-fork
Version:
Angular library for working with Cesium.
26 lines • 4.42 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, polygonOptions, positions) {
const editablePolygon = new EditablePolygon(id, editPolygonsLayer, editPointsLayer, editPolylinesLayer, coordinateConverter, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMtbWFuYWdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jZXNpdW0vc3JjL2xpYi9hbmd1bGFyLWNlc2l1bS13aWRnZXRzL3NlcnZpY2VzL2VudGl0eS1lZGl0b3JzL3BvbHlnb25zLWVkaXRvci9wb2x5Z29ucy1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFPbkUsTUFBTSxPQUFPLHNCQUFzQjtJQURuQztRQUVFLGFBQVEsR0FBaUMsSUFBSSxHQUFHLEVBQTJCLENBQUM7SUE4QjlFLENBQUM7SUE1QkMscUJBQXFCLENBQUMsRUFBVSxFQUFFLGlCQUFtQyxFQUFFLGVBQWlDLEVBQ2xGLGtCQUFvQyxFQUFFLG1CQUF3QyxFQUM5RSxjQUFtQyxFQUFFLFNBQXdCO1FBQ2pGLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUN6QyxFQUFFLEVBQ0YsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxTQUFTLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxlQUFlLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQVU7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxFQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs7WUEvQkYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVkaXRhYmxlUG9seWdvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9lZGl0YWJsZS1wb2x5Z29uJztcbmltcG9ydCB7IENhcnRlc2lhbjMgfSBmcm9tICcuLi8uLi8uLi8uLi9hbmd1bGFyLWNlc2l1bS9tb2RlbHMvY2FydGVzaWFuMyc7XG5pbXBvcnQgeyBQb2x5Z29uRWRpdE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcG9seWdvbi1lZGl0LW9wdGlvbnMnO1xuaW1wb3J0IHsgQWNMYXllckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2FuZ3VsYXItY2VzaXVtL2NvbXBvbmVudHMvYWMtbGF5ZXIvYWMtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvb3JkaW5hdGVDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9hbmd1bGFyLWNlc2l1bS9zZXJ2aWNlcy9jb29yZGluYXRlLWNvbnZlcnRlci9jb29yZGluYXRlLWNvbnZlcnRlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBvbHlnb25zTWFuYWdlclNlcnZpY2Uge1xuICBwb2x5Z29uczogTWFwPHN0cmluZywgRWRpdGFibGVQb2x5Z29uPiA9IG5ldyBNYXA8c3RyaW5nLCBFZGl0YWJsZVBvbHlnb24+KCk7XG5cbiAgY3JlYXRlRWRpdGFibGVQb2x5Z29uKGlkOiBzdHJpbmcsIGVkaXRQb2x5Z29uc0xheWVyOiBBY0xheWVyQ29tcG9uZW50LCBlZGl0UG9pbnRzTGF5ZXI6IEFjTGF5ZXJDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBlZGl0UG9seWxpbmVzTGF5ZXI6IEFjTGF5ZXJDb21wb25lbnQsIGNvb3JkaW5hdGVDb252ZXJ0ZXI6IENvb3JkaW5hdGVDb252ZXJ0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb2x5Z29uT3B0aW9ucz86IFBvbHlnb25FZGl0T3B0aW9ucywgcG9zaXRpb25zPzogQ2FydGVzaWFuM1tdKSB7XG4gICAgY29uc3QgZWRpdGFibGVQb2x5Z29uID0gbmV3IEVkaXRhYmxlUG9seWdvbihcbiAgICAgIGlkLFxuICAgICAgZWRpdFBvbHlnb25zTGF5ZXIsXG4gICAgICBlZGl0UG9pbnRzTGF5ZXIsXG4gICAgICBlZGl0UG9seWxpbmVzTGF5ZXIsXG4gICAgICBjb29yZGluYXRlQ29udmVydGVyLFxuICAgICAgcG9seWdvbk9wdGlvbnMsXG4gICAgICBwb3NpdGlvbnMpO1xuICAgIHRoaXMucG9seWdvbnMuc2V0KGlkLCBlZGl0YWJsZVBvbHlnb25cbiAgICApO1xuICB9XG5cbiAgZGlzcG9zZShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5wb2x5Z29ucy5nZXQoaWQpLmRpc3Bvc2UoKTtcbiAgICB0aGlzLnBvbHlnb25zLmRlbGV0ZShpZCk7XG4gIH1cblxuICBnZXQoaWQ6IHN0cmluZyk6IEVkaXRhYmxlUG9seWdvbiB7XG4gICAgcmV0dXJuIHRoaXMucG9seWdvbnMuZ2V0KGlkKTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMucG9seWdvbnMuZm9yRWFjaChwb2x5Z29uID0+IHBvbHlnb24uZGlzcG9zZSgpKTtcbiAgICB0aGlzLnBvbHlnb25zLmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==