@artstesh/maps 4.0.5 → 4.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm2020/map/helpers/index.mjs +2 -1
- package/dist/esm2020/map/helpers/polygon-style.helper.mjs +16 -0
- package/dist/esm2020/map/map-plate/features/index.mjs +2 -1
- package/dist/esm2020/map/map-plate/features/polygons/polygons.component.mjs +41 -0
- package/dist/esm2020/map/map.module.mjs +18 -3
- package/dist/esm2020/map/models/index.mjs +2 -1
- package/dist/esm2020/map/models/polygon.model.mjs +25 -0
- package/dist/esm2020/src/map/helpers/index.mjs +2 -1
- package/dist/esm2020/src/map/helpers/polygon-style.helper.mjs +16 -0
- package/dist/esm2020/src/map/map-plate/features/index.mjs +2 -1
- package/dist/esm2020/src/map/map-plate/features/polygons/polygons.component.mjs +41 -0
- package/dist/esm2020/src/map/map.module.mjs +18 -3
- package/dist/esm2020/src/map/models/index.mjs +2 -1
- package/dist/esm2020/src/map/models/polygon.model.mjs +25 -0
- package/dist/fesm2015/maps-components-src-map.mjs +91 -3
- package/dist/fesm2015/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2015/maps-components.mjs +91 -3
- package/dist/fesm2015/maps-components.mjs.map +1 -1
- package/dist/fesm2020/maps-components-src-map.mjs +89 -3
- package/dist/fesm2020/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2020/maps-components.mjs +89 -3
- package/dist/fesm2020/maps-components.mjs.map +1 -1
- package/dist/map/helpers/index.d.ts +1 -0
- package/dist/map/helpers/polygon-style.helper.d.ts +4 -0
- package/dist/map/map-plate/features/index.d.ts +1 -0
- package/dist/map/map-plate/features/polygons/polygons.component.d.ts +16 -0
- package/dist/map/map.module.d.ts +3 -2
- package/dist/map/models/index.d.ts +1 -0
- package/dist/map/models/polygon.model.d.ts +19 -0
- package/dist/src/map/helpers/index.d.ts +1 -0
- package/dist/src/map/helpers/polygon-style.helper.d.ts +4 -0
- package/dist/src/map/map-plate/features/index.d.ts +1 -0
- package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +16 -0
- package/dist/src/map/map.module.d.ts +3 -2
- package/dist/src/map/models/index.d.ts +1 -0
- package/dist/src/map/models/polygon.model.d.ts +19 -0
- package/package.json +1 -1
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './marker-style.helper';
|
|
2
|
-
|
|
2
|
+
export * from './polygon-style.helper';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFya2VyLXN0eWxlLmhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3BvbHlnb24tc3R5bGUuaGVscGVyJztcbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import Style from 'ol/style/Style';
|
|
2
|
+
import { Fill, Stroke } from 'ol/style';
|
|
3
|
+
export class PolygonStyleHelper {
|
|
4
|
+
static simple(fill, stroke, strokeWidth = 1) {
|
|
5
|
+
return new Style({
|
|
6
|
+
fill: new Fill({
|
|
7
|
+
color: fill,
|
|
8
|
+
}),
|
|
9
|
+
stroke: new Stroke({
|
|
10
|
+
color: stroke,
|
|
11
|
+
width: strokeWidth,
|
|
12
|
+
}),
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3BvbHlnb24tc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhDLE1BQU0sT0FBTyxrQkFBa0I7SUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFZLEVBQUUsTUFBYyxFQUFFLGNBQXNCLENBQUM7UUFDeEUsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQztnQkFDYixLQUFLLEVBQUUsSUFBSTthQUNaLENBQUM7WUFDRixNQUFNLEVBQUUsSUFBSSxNQUFNLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxXQUFXO2FBQ25CLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3R5bGUgZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgRmlsbCwgU3Ryb2tlIH0gZnJvbSAnb2wvc3R5bGUnO1xuXG5leHBvcnQgY2xhc3MgUG9seWdvblN0eWxlSGVscGVyIHtcbiAgcHVibGljIHN0YXRpYyBzaW1wbGUoZmlsbDogc3RyaW5nLCBzdHJva2U6IHN0cmluZywgc3Ryb2tlV2lkdGg6IG51bWJlciA9IDEpOiBTdHlsZSB7XG4gICAgcmV0dXJuIG5ldyBTdHlsZSh7XG4gICAgICBmaWxsOiBuZXcgRmlsbCh7XG4gICAgICAgIGNvbG9yOiBmaWxsLFxuICAgICAgfSksXG4gICAgICBzdHJva2U6IG5ldyBTdHJva2Uoe1xuICAgICAgICBjb2xvcjogc3Ryb2tlLFxuICAgICAgICB3aWR0aDogc3Ryb2tlV2lkdGgsXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './markers/markers.component';
|
|
2
|
-
|
|
2
|
+
export * from './polygons/polygons.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvZmVhdHVyZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXJrZXJzL21hcmtlcnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcG9seWdvbnMvcG9seWdvbnMuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { DestructibleComponent } from '../../../common/destructible.component';
|
|
3
|
+
import { MapRenderedEvent } from '../../../messages';
|
|
4
|
+
import { filter, first } from 'rxjs/operators';
|
|
5
|
+
import { PlaceLayerFeaturesCommand } from '../../../messages/commands/place-layer-features.command';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../../services/map-postboy.service";
|
|
8
|
+
export class PolygonsComponent extends DestructibleComponent {
|
|
9
|
+
constructor(postboy) {
|
|
10
|
+
super();
|
|
11
|
+
this.postboy = postboy;
|
|
12
|
+
this.layerName = '';
|
|
13
|
+
this._polygons = [];
|
|
14
|
+
}
|
|
15
|
+
set polygons(value) {
|
|
16
|
+
this._polygons = value;
|
|
17
|
+
this.putPolygons();
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.postboy
|
|
21
|
+
.subscribe(MapRenderedEvent.ID)
|
|
22
|
+
.pipe(filter((m) => !!m), first())
|
|
23
|
+
.subscribe(() => this.putPolygons());
|
|
24
|
+
}
|
|
25
|
+
putPolygons() {
|
|
26
|
+
if (!this._polygons?.length)
|
|
27
|
+
return;
|
|
28
|
+
this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._polygons.map((m) => m.feature)));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
PolygonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PolygonsComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
PolygonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PolygonsComponent, selector: "lib-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PolygonsComponent, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{ selector: 'lib-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; }, propDecorators: { layerName: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], polygons: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}] } });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2ZlYXR1cmVzL3BvbHlnb25zL3BvbHlnb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOzs7QUFTcEcsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHFCQUFxQjtJQUcxRCxZQUFvQixPQUEwQjtRQUM1QyxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBRnJDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFNeEIsY0FBUyxHQUFtQixFQUFFLENBQUM7SUFGL0IsQ0FBQztJQUlELElBQWEsUUFBUSxDQUFDLEtBQXFCO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNO1lBQUUsT0FBTztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDZixJQUFJLHlCQUF5QixDQUMzQixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQ3JDLENBQ0YsQ0FBQztJQUNKLENBQUM7OytHQWhDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixxSUFKbEIsRUFBRTs0RkFJRCxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsY0FBYyxZQUNkLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTt3R0FHdEMsU0FBUztzQkFBakIsS0FBSztnQkFRTyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgUG9seWdvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3BvbHlnb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItcG9seWdvbnMnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQb2x5Z29uc0NvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxheWVyTmFtZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgX3BvbHlnb25zOiBQb2x5Z29uTW9kZWxbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHNldCBwb2x5Z29ucyh2YWx1ZTogUG9seWdvbk1vZGVsW10pIHtcbiAgICB0aGlzLl9wb2x5Z29ucyA9IHZhbHVlO1xuICAgIHRoaXMucHV0UG9seWdvbnMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wdXRQb2x5Z29ucygpKTtcbiAgfVxuXG4gIHByaXZhdGUgcHV0UG9seWdvbnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9wb2x5Z29ucz8ubGVuZ3RoKSByZXR1cm47XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUoXG4gICAgICBuZXcgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZChcbiAgICAgICAgdGhpcy5sYXllck5hbWUsXG4gICAgICAgIHRoaXMuX3BvbHlnb25zLm1hcCgobSkgPT4gbS5mZWF0dXJlKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -7,6 +7,7 @@ import { OsmTileLayerComponent } from './map-plate/layers/osm-tile-layer/osm-til
|
|
|
7
7
|
import { FeatureLayerComponent } from './map-plate/layers/feature-layer/feature-layer.component';
|
|
8
8
|
import { MarkersComponent } from './map-plate/features/markers/markers.component';
|
|
9
9
|
import { TooltipComponent } from './map-plate/tooltips/tooltip/tooltip.component';
|
|
10
|
+
import { PolygonsComponent } from './map-plate/features/polygons/polygons.component';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
export class MapModule {
|
|
12
13
|
}
|
|
@@ -17,7 +18,13 @@ MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
|
|
|
17
18
|
OsmTileLayerComponent,
|
|
18
19
|
FeatureLayerComponent,
|
|
19
20
|
MarkersComponent,
|
|
20
|
-
TooltipComponent
|
|
21
|
+
TooltipComponent,
|
|
22
|
+
PolygonsComponent], imports: [CommonModule], exports: [MapPlateComponent,
|
|
23
|
+
FeatureLayerComponent,
|
|
24
|
+
MarkersComponent,
|
|
25
|
+
TileLayerComponent,
|
|
26
|
+
TooltipComponent,
|
|
27
|
+
PolygonsComponent] });
|
|
21
28
|
MapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, imports: [CommonModule] });
|
|
22
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, decorators: [{
|
|
23
30
|
type: NgModule,
|
|
@@ -31,8 +38,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
31
38
|
FeatureLayerComponent,
|
|
32
39
|
MarkersComponent,
|
|
33
40
|
TooltipComponent,
|
|
41
|
+
PolygonsComponent,
|
|
42
|
+
],
|
|
43
|
+
exports: [
|
|
44
|
+
MapPlateComponent,
|
|
45
|
+
FeatureLayerComponent,
|
|
46
|
+
MarkersComponent,
|
|
47
|
+
TileLayerComponent,
|
|
48
|
+
TooltipComponent,
|
|
49
|
+
PolygonsComponent,
|
|
34
50
|
],
|
|
35
|
-
exports: [MapPlateComponent, FeatureLayerComponent, MarkersComponent, TileLayerComponent, TooltipComponent],
|
|
36
51
|
}]
|
|
37
52
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELENBQUM7O0FBdUJyRixNQUFNLE9BQU8sU0FBUzs7dUdBQVQsU0FBUzt3R0FBVCxTQUFTLGlCQWxCbEIscUJBQXFCO1FBQ3JCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQixhQVRULFlBQVksYUFZcEIsaUJBQWlCO1FBQ2pCLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixpQkFBaUI7d0dBR1IsU0FBUyxZQXBCVixZQUFZOzRGQW9CWCxTQUFTO2tCQXJCckIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcFBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbWFwLXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPc21UaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvb3NtLXRpbGUtbGF5ZXIvb3NtLXRpbGUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZlYXR1cmVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcmtlcnNDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9mZWF0dXJlcy9tYXJrZXJzL21hcmtlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS90b29sdGlwcy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBvbHlnb25zQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvZmVhdHVyZXMvcG9seWdvbnMvcG9seWdvbnMuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERlc3RydWN0aWJsZUNvbXBvbmVudCxcbiAgICBNYXBQbGF0ZUNvbXBvbmVudCxcbiAgICBUaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgT3NtVGlsZUxheWVyQ29tcG9uZW50LFxuICAgIEZlYXR1cmVMYXllckNvbXBvbmVudCxcbiAgICBNYXJrZXJzQ29tcG9uZW50LFxuICAgIFRvb2x0aXBDb21wb25lbnQsXG4gICAgUG9seWdvbnNDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXBQbGF0ZUNvbXBvbmVudCxcbiAgICBGZWF0dXJlTGF5ZXJDb21wb25lbnQsXG4gICAgTWFya2Vyc0NvbXBvbmVudCxcbiAgICBUaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgVG9vbHRpcENvbXBvbmVudCxcbiAgICBQb2x5Z29uc0NvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './map-lyrs.enum';
|
|
2
2
|
export * from './map-settings';
|
|
3
3
|
export * from './marker-model';
|
|
4
|
-
|
|
4
|
+
export * from './polygon.model';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwLWx5cnMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL21hcmtlci1tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3BvbHlnb24ubW9kZWwnO1xuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { IdGenerator } from '../common/id.generator';
|
|
2
|
+
import { GeoJSON, WKT } from 'ol/format';
|
|
3
|
+
import { getCenter } from 'ol/extent';
|
|
4
|
+
export class PolygonModel {
|
|
5
|
+
static fromGeoJson(id, json, info) {
|
|
6
|
+
let feature = new GeoJSON().readFeature(json);
|
|
7
|
+
feature.setId(id);
|
|
8
|
+
return new PolygonModel(feature, id, info);
|
|
9
|
+
}
|
|
10
|
+
static fromWKT(id, wkt, info) {
|
|
11
|
+
let feature = new WKT().readFeature(wkt);
|
|
12
|
+
feature.setId(id);
|
|
13
|
+
return new PolygonModel(feature, id, info);
|
|
14
|
+
}
|
|
15
|
+
constructor(feature, id, info) {
|
|
16
|
+
this.info = info;
|
|
17
|
+
this.id = id == null ? IdGenerator.get() : id;
|
|
18
|
+
this._feature = feature;
|
|
19
|
+
[this.lng, this.lat] = getCenter(this._feature.getGeometry()?.getExtent());
|
|
20
|
+
}
|
|
21
|
+
get feature() {
|
|
22
|
+
return this._feature;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9wb2x5Z29uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRDLE1BQU0sT0FBTyxZQUFZO0lBTWhCLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBbUIsRUFBRSxJQUFZLEVBQUUsSUFBNEI7UUFDdkYsSUFBSSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixPQUFPLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBbUIsRUFBRSxHQUFXLEVBQUUsSUFBNEI7UUFDbEYsSUFBSSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixPQUFPLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQW9CLE9BQTBCLEVBQUUsRUFBb0IsRUFBUyxJQUE0QjtRQUE1QixTQUFJLEdBQUosSUFBSSxDQUF3QjtRQUN2RyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFHLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBHZW9KU09OLCBXS1QgfSBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IHsgZ2V0Q2VudGVyIH0gZnJvbSAnb2wvZXh0ZW50JztcblxuZXhwb3J0IGNsYXNzIFBvbHlnb25Nb2RlbCB7XG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nIHwgbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgbGF0OiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSBsbmc6IG51bWJlcjtcbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT47XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tR2VvSnNvbihpZDogc3RyaW5nIHwgbnVtYmVyLCBqc29uOiBzdHJpbmcsIGluZm8/OiB7IFtpZDogc3RyaW5nXTogYW55IH0pOiBQb2x5Z29uTW9kZWwge1xuICAgIGxldCBmZWF0dXJlID0gbmV3IEdlb0pTT04oKS5yZWFkRmVhdHVyZShqc29uKTtcbiAgICBmZWF0dXJlLnNldElkKGlkKTtcbiAgICByZXR1cm4gbmV3IFBvbHlnb25Nb2RlbChmZWF0dXJlLCBpZCwgaW5mbyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21XS1QoaWQ6IHN0cmluZyB8IG51bWJlciwgd2t0OiBzdHJpbmcsIGluZm8/OiB7IFtpZDogc3RyaW5nXTogYW55IH0pOiBQb2x5Z29uTW9kZWwge1xuICAgIGxldCBmZWF0dXJlID0gbmV3IFdLVCgpLnJlYWRGZWF0dXJlKHdrdCk7XG4gICAgZmVhdHVyZS5zZXRJZChpZCk7XG4gICAgcmV0dXJuIG5ldyBQb2x5Z29uTW9kZWwoZmVhdHVyZSwgaWQsIGluZm8pO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihmZWF0dXJlOiBGZWF0dXJlPEdlb21ldHJ5PiwgaWQ/OiBzdHJpbmcgfCBudW1iZXIsIHB1YmxpYyBpbmZvPzogeyBbaWQ6IHN0cmluZ106IGFueSB9KSB7XG4gICAgdGhpcy5pZCA9IGlkID09IG51bGwgPyBJZEdlbmVyYXRvci5nZXQoKSA6IGlkO1xuICAgIHRoaXMuX2ZlYXR1cmUgPSBmZWF0dXJlO1xuICAgIFt0aGlzLmxuZywgdGhpcy5sYXRdID0gZ2V0Q2VudGVyKHRoaXMuX2ZlYXR1cmUuZ2V0R2VvbWV0cnkoKT8uZ2V0RXh0ZW50KCkhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlPEdlb21ldHJ5PiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './marker-style.helper';
|
|
2
|
-
|
|
2
|
+
export * from './polygon-style.helper';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFya2VyLXN0eWxlLmhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3BvbHlnb24tc3R5bGUuaGVscGVyJztcbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import Style from 'ol/style/Style';
|
|
2
|
+
import { Fill, Stroke } from 'ol/style';
|
|
3
|
+
export class PolygonStyleHelper {
|
|
4
|
+
static simple(fill, stroke, strokeWidth = 1) {
|
|
5
|
+
return new Style({
|
|
6
|
+
fill: new Fill({
|
|
7
|
+
color: fill,
|
|
8
|
+
}),
|
|
9
|
+
stroke: new Stroke({
|
|
10
|
+
color: stroke,
|
|
11
|
+
width: strokeWidth,
|
|
12
|
+
}),
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3BvbHlnb24tc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhDLE1BQU0sT0FBTyxrQkFBa0I7SUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFZLEVBQUUsTUFBYyxFQUFFLGNBQXNCLENBQUM7UUFDeEUsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQztnQkFDYixLQUFLLEVBQUUsSUFBSTthQUNaLENBQUM7WUFDRixNQUFNLEVBQUUsSUFBSSxNQUFNLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxXQUFXO2FBQ25CLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3R5bGUgZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgRmlsbCwgU3Ryb2tlIH0gZnJvbSAnb2wvc3R5bGUnO1xuXG5leHBvcnQgY2xhc3MgUG9seWdvblN0eWxlSGVscGVyIHtcbiAgcHVibGljIHN0YXRpYyBzaW1wbGUoZmlsbDogc3RyaW5nLCBzdHJva2U6IHN0cmluZywgc3Ryb2tlV2lkdGg6IG51bWJlciA9IDEpOiBTdHlsZSB7XG4gICAgcmV0dXJuIG5ldyBTdHlsZSh7XG4gICAgICBmaWxsOiBuZXcgRmlsbCh7XG4gICAgICAgIGNvbG9yOiBmaWxsLFxuICAgICAgfSksXG4gICAgICBzdHJva2U6IG5ldyBTdHJva2Uoe1xuICAgICAgICBjb2xvcjogc3Ryb2tlLFxuICAgICAgICB3aWR0aDogc3Ryb2tlV2lkdGgsXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './markers/markers.component';
|
|
2
|
-
|
|
2
|
+
export * from './polygons/polygons.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvZmVhdHVyZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXJrZXJzL21hcmtlcnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcG9seWdvbnMvcG9seWdvbnMuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { DestructibleComponent } from '../../../common/destructible.component';
|
|
3
|
+
import { MapRenderedEvent } from '../../../messages';
|
|
4
|
+
import { filter, first } from 'rxjs/operators';
|
|
5
|
+
import { PlaceLayerFeaturesCommand } from '../../../messages/commands/place-layer-features.command';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../../services/map-postboy.service";
|
|
8
|
+
export class PolygonsComponent extends DestructibleComponent {
|
|
9
|
+
constructor(postboy) {
|
|
10
|
+
super();
|
|
11
|
+
this.postboy = postboy;
|
|
12
|
+
this.layerName = '';
|
|
13
|
+
this._polygons = [];
|
|
14
|
+
}
|
|
15
|
+
set polygons(value) {
|
|
16
|
+
this._polygons = value;
|
|
17
|
+
this.putPolygons();
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.postboy
|
|
21
|
+
.subscribe(MapRenderedEvent.ID)
|
|
22
|
+
.pipe(filter((m) => !!m), first())
|
|
23
|
+
.subscribe(() => this.putPolygons());
|
|
24
|
+
}
|
|
25
|
+
putPolygons() {
|
|
26
|
+
if (!this._polygons?.length)
|
|
27
|
+
return;
|
|
28
|
+
this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._polygons.map((m) => m.feature)));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
PolygonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PolygonsComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
PolygonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PolygonsComponent, selector: "lib-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PolygonsComponent, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{ selector: 'lib-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; }, propDecorators: { layerName: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], polygons: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}] } });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2ZlYXR1cmVzL3BvbHlnb25zL3BvbHlnb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOzs7QUFTcEcsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHFCQUFxQjtJQUcxRCxZQUFvQixPQUEwQjtRQUM1QyxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBRnJDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFNeEIsY0FBUyxHQUFtQixFQUFFLENBQUM7SUFGL0IsQ0FBQztJQUlELElBQWEsUUFBUSxDQUFDLEtBQXFCO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNO1lBQUUsT0FBTztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDZixJQUFJLHlCQUF5QixDQUMzQixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQ3JDLENBQ0YsQ0FBQztJQUNKLENBQUM7OytHQWhDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixxSUFKbEIsRUFBRTs0RkFJRCxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsY0FBYyxZQUNkLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTt3R0FHdEMsU0FBUztzQkFBakIsS0FBSztnQkFRTyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgUG9seWdvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3BvbHlnb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItcG9seWdvbnMnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQb2x5Z29uc0NvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxheWVyTmFtZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgX3BvbHlnb25zOiBQb2x5Z29uTW9kZWxbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHNldCBwb2x5Z29ucyh2YWx1ZTogUG9seWdvbk1vZGVsW10pIHtcbiAgICB0aGlzLl9wb2x5Z29ucyA9IHZhbHVlO1xuICAgIHRoaXMucHV0UG9seWdvbnMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wdXRQb2x5Z29ucygpKTtcbiAgfVxuXG4gIHByaXZhdGUgcHV0UG9seWdvbnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9wb2x5Z29ucz8ubGVuZ3RoKSByZXR1cm47XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUoXG4gICAgICBuZXcgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZChcbiAgICAgICAgdGhpcy5sYXllck5hbWUsXG4gICAgICAgIHRoaXMuX3BvbHlnb25zLm1hcCgobSkgPT4gbS5mZWF0dXJlKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -7,6 +7,7 @@ import { OsmTileLayerComponent } from './map-plate/layers/osm-tile-layer/osm-til
|
|
|
7
7
|
import { FeatureLayerComponent } from './map-plate/layers/feature-layer/feature-layer.component';
|
|
8
8
|
import { MarkersComponent } from './map-plate/features/markers/markers.component';
|
|
9
9
|
import { TooltipComponent } from './map-plate/tooltips/tooltip/tooltip.component';
|
|
10
|
+
import { PolygonsComponent } from './map-plate/features/polygons/polygons.component';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
export class MapModule {
|
|
12
13
|
}
|
|
@@ -17,7 +18,13 @@ MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
|
|
|
17
18
|
OsmTileLayerComponent,
|
|
18
19
|
FeatureLayerComponent,
|
|
19
20
|
MarkersComponent,
|
|
20
|
-
TooltipComponent
|
|
21
|
+
TooltipComponent,
|
|
22
|
+
PolygonsComponent], imports: [CommonModule], exports: [MapPlateComponent,
|
|
23
|
+
FeatureLayerComponent,
|
|
24
|
+
MarkersComponent,
|
|
25
|
+
TileLayerComponent,
|
|
26
|
+
TooltipComponent,
|
|
27
|
+
PolygonsComponent] });
|
|
21
28
|
MapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, imports: [CommonModule] });
|
|
22
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, decorators: [{
|
|
23
30
|
type: NgModule,
|
|
@@ -31,8 +38,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
31
38
|
FeatureLayerComponent,
|
|
32
39
|
MarkersComponent,
|
|
33
40
|
TooltipComponent,
|
|
41
|
+
PolygonsComponent,
|
|
42
|
+
],
|
|
43
|
+
exports: [
|
|
44
|
+
MapPlateComponent,
|
|
45
|
+
FeatureLayerComponent,
|
|
46
|
+
MarkersComponent,
|
|
47
|
+
TileLayerComponent,
|
|
48
|
+
TooltipComponent,
|
|
49
|
+
PolygonsComponent,
|
|
34
50
|
],
|
|
35
|
-
exports: [MapPlateComponent, FeatureLayerComponent, MarkersComponent, TileLayerComponent, TooltipComponent],
|
|
36
51
|
}]
|
|
37
52
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELENBQUM7O0FBdUJyRixNQUFNLE9BQU8sU0FBUzs7dUdBQVQsU0FBUzt3R0FBVCxTQUFTLGlCQWxCbEIscUJBQXFCO1FBQ3JCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQixhQVRULFlBQVksYUFZcEIsaUJBQWlCO1FBQ2pCLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixpQkFBaUI7d0dBR1IsU0FBUyxZQXBCVixZQUFZOzRGQW9CWCxTQUFTO2tCQXJCckIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcFBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbWFwLXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPc21UaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvb3NtLXRpbGUtbGF5ZXIvb3NtLXRpbGUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZlYXR1cmVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcmtlcnNDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9mZWF0dXJlcy9tYXJrZXJzL21hcmtlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS90b29sdGlwcy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBvbHlnb25zQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvZmVhdHVyZXMvcG9seWdvbnMvcG9seWdvbnMuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERlc3RydWN0aWJsZUNvbXBvbmVudCxcbiAgICBNYXBQbGF0ZUNvbXBvbmVudCxcbiAgICBUaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgT3NtVGlsZUxheWVyQ29tcG9uZW50LFxuICAgIEZlYXR1cmVMYXllckNvbXBvbmVudCxcbiAgICBNYXJrZXJzQ29tcG9uZW50LFxuICAgIFRvb2x0aXBDb21wb25lbnQsXG4gICAgUG9seWdvbnNDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXBQbGF0ZUNvbXBvbmVudCxcbiAgICBGZWF0dXJlTGF5ZXJDb21wb25lbnQsXG4gICAgTWFya2Vyc0NvbXBvbmVudCxcbiAgICBUaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgVG9vbHRpcENvbXBvbmVudCxcbiAgICBQb2x5Z29uc0NvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './map-lyrs.enum';
|
|
2
2
|
export * from './map-settings';
|
|
3
3
|
export * from './marker-model';
|
|
4
|
-
|
|
4
|
+
export * from './polygon.model';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwLWx5cnMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL21hcmtlci1tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3BvbHlnb24ubW9kZWwnO1xuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { IdGenerator } from '../common/id.generator';
|
|
2
|
+
import { GeoJSON, WKT } from 'ol/format';
|
|
3
|
+
import { getCenter } from 'ol/extent';
|
|
4
|
+
export class PolygonModel {
|
|
5
|
+
static fromGeoJson(id, json, info) {
|
|
6
|
+
let feature = new GeoJSON().readFeature(json);
|
|
7
|
+
feature.setId(id);
|
|
8
|
+
return new PolygonModel(feature, id, info);
|
|
9
|
+
}
|
|
10
|
+
static fromWKT(id, wkt, info) {
|
|
11
|
+
let feature = new WKT().readFeature(wkt);
|
|
12
|
+
feature.setId(id);
|
|
13
|
+
return new PolygonModel(feature, id, info);
|
|
14
|
+
}
|
|
15
|
+
constructor(feature, id, info) {
|
|
16
|
+
this.info = info;
|
|
17
|
+
this.id = id == null ? IdGenerator.get() : id;
|
|
18
|
+
this._feature = feature;
|
|
19
|
+
[this.lng, this.lat] = getCenter(this._feature.getGeometry()?.getExtent());
|
|
20
|
+
}
|
|
21
|
+
get feature() {
|
|
22
|
+
return this._feature;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9wb2x5Z29uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRDLE1BQU0sT0FBTyxZQUFZO0lBTWhCLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBbUIsRUFBRSxJQUFZLEVBQUUsSUFBNEI7UUFDdkYsSUFBSSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixPQUFPLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBbUIsRUFBRSxHQUFXLEVBQUUsSUFBNEI7UUFDbEYsSUFBSSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixPQUFPLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQW9CLE9BQTBCLEVBQUUsRUFBb0IsRUFBUyxJQUE0QjtRQUE1QixTQUFJLEdBQUosSUFBSSxDQUF3QjtRQUN2RyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFHLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBHZW9KU09OLCBXS1QgfSBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IHsgZ2V0Q2VudGVyIH0gZnJvbSAnb2wvZXh0ZW50JztcblxuZXhwb3J0IGNsYXNzIFBvbHlnb25Nb2RlbCB7XG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nIHwgbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgbGF0OiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSBsbmc6IG51bWJlcjtcbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT47XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tR2VvSnNvbihpZDogc3RyaW5nIHwgbnVtYmVyLCBqc29uOiBzdHJpbmcsIGluZm8/OiB7IFtpZDogc3RyaW5nXTogYW55IH0pOiBQb2x5Z29uTW9kZWwge1xuICAgIGxldCBmZWF0dXJlID0gbmV3IEdlb0pTT04oKS5yZWFkRmVhdHVyZShqc29uKTtcbiAgICBmZWF0dXJlLnNldElkKGlkKTtcbiAgICByZXR1cm4gbmV3IFBvbHlnb25Nb2RlbChmZWF0dXJlLCBpZCwgaW5mbyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21XS1QoaWQ6IHN0cmluZyB8IG51bWJlciwgd2t0OiBzdHJpbmcsIGluZm8/OiB7IFtpZDogc3RyaW5nXTogYW55IH0pOiBQb2x5Z29uTW9kZWwge1xuICAgIGxldCBmZWF0dXJlID0gbmV3IFdLVCgpLnJlYWRGZWF0dXJlKHdrdCk7XG4gICAgZmVhdHVyZS5zZXRJZChpZCk7XG4gICAgcmV0dXJuIG5ldyBQb2x5Z29uTW9kZWwoZmVhdHVyZSwgaWQsIGluZm8pO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihmZWF0dXJlOiBGZWF0dXJlPEdlb21ldHJ5PiwgaWQ/OiBzdHJpbmcgfCBudW1iZXIsIHB1YmxpYyBpbmZvPzogeyBbaWQ6IHN0cmluZ106IGFueSB9KSB7XG4gICAgdGhpcy5pZCA9IGlkID09IG51bGwgPyBJZEdlbmVyYXRvci5nZXQoKSA6IGlkO1xuICAgIHRoaXMuX2ZlYXR1cmUgPSBmZWF0dXJlO1xuICAgIFt0aGlzLmxuZywgdGhpcy5sYXRdID0gZ2V0Q2VudGVyKHRoaXMuX2ZlYXR1cmUuZ2V0R2VvbWV0cnkoKT8uZ2V0RXh0ZW50KCkhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlPEdlb21ldHJ5PiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,6 +4,8 @@ import * as i4 from '@angular/common';
|
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import { Feature } from 'ol';
|
|
6
6
|
import { Point } from 'ol/geom';
|
|
7
|
+
import { GeoJSON, WKT } from 'ol/format';
|
|
8
|
+
import { getCenter } from 'ol/extent';
|
|
7
9
|
import { useGeographic, get } from 'ol/proj';
|
|
8
10
|
import { Subject } from 'rxjs';
|
|
9
11
|
import { PostboyService, PostboyAbstractRegistrator } from '@artstesh/postboy';
|
|
@@ -140,6 +142,29 @@ class MarkerModel {
|
|
|
140
142
|
}
|
|
141
143
|
}
|
|
142
144
|
|
|
145
|
+
class PolygonModel {
|
|
146
|
+
static fromGeoJson(id, json, info) {
|
|
147
|
+
let feature = new GeoJSON().readFeature(json);
|
|
148
|
+
feature.setId(id);
|
|
149
|
+
return new PolygonModel(feature, id, info);
|
|
150
|
+
}
|
|
151
|
+
static fromWKT(id, wkt, info) {
|
|
152
|
+
let feature = new WKT().readFeature(wkt);
|
|
153
|
+
feature.setId(id);
|
|
154
|
+
return new PolygonModel(feature, id, info);
|
|
155
|
+
}
|
|
156
|
+
constructor(feature, id, info) {
|
|
157
|
+
var _a;
|
|
158
|
+
this.info = info;
|
|
159
|
+
this.id = id == null ? IdGenerator.get() : id;
|
|
160
|
+
this._feature = feature;
|
|
161
|
+
[this.lng, this.lat] = getCenter((_a = this._feature.getGeometry()) === null || _a === void 0 ? void 0 : _a.getExtent());
|
|
162
|
+
}
|
|
163
|
+
get feature() {
|
|
164
|
+
return this._feature;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
143
168
|
class GenericMessage {
|
|
144
169
|
}
|
|
145
170
|
class CallbackMessage extends GenericMessage {
|
|
@@ -900,6 +925,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
900
925
|
type: Input
|
|
901
926
|
}] } });
|
|
902
927
|
|
|
928
|
+
class PolygonsComponent extends DestructibleComponent {
|
|
929
|
+
constructor(postboy) {
|
|
930
|
+
super();
|
|
931
|
+
this.postboy = postboy;
|
|
932
|
+
this.layerName = '';
|
|
933
|
+
this._polygons = [];
|
|
934
|
+
}
|
|
935
|
+
set polygons(value) {
|
|
936
|
+
this._polygons = value;
|
|
937
|
+
this.putPolygons();
|
|
938
|
+
}
|
|
939
|
+
ngOnInit() {
|
|
940
|
+
this.postboy
|
|
941
|
+
.subscribe(MapRenderedEvent.ID)
|
|
942
|
+
.pipe(filter((m) => !!m), first())
|
|
943
|
+
.subscribe(() => this.putPolygons());
|
|
944
|
+
}
|
|
945
|
+
putPolygons() {
|
|
946
|
+
var _a;
|
|
947
|
+
if (!((_a = this._polygons) === null || _a === void 0 ? void 0 : _a.length))
|
|
948
|
+
return;
|
|
949
|
+
this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._polygons.map((m) => m.feature)));
|
|
950
|
+
}
|
|
951
|
+
}
|
|
952
|
+
PolygonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PolygonsComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
953
|
+
PolygonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PolygonsComponent, selector: "lib-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
954
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PolygonsComponent, decorators: [{
|
|
955
|
+
type: Component,
|
|
956
|
+
args: [{ selector: 'lib-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
|
|
957
|
+
}], ctorParameters: function () { return [{ type: MapPostboyService }]; }, propDecorators: { layerName: [{
|
|
958
|
+
type: Input
|
|
959
|
+
}], polygons: [{
|
|
960
|
+
type: Input
|
|
961
|
+
}] } });
|
|
962
|
+
|
|
903
963
|
class MapModule {
|
|
904
964
|
}
|
|
905
965
|
MapModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -909,7 +969,13 @@ MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
|
|
|
909
969
|
OsmTileLayerComponent,
|
|
910
970
|
FeatureLayerComponent,
|
|
911
971
|
MarkersComponent,
|
|
912
|
-
TooltipComponent
|
|
972
|
+
TooltipComponent,
|
|
973
|
+
PolygonsComponent], imports: [CommonModule], exports: [MapPlateComponent,
|
|
974
|
+
FeatureLayerComponent,
|
|
975
|
+
MarkersComponent,
|
|
976
|
+
TileLayerComponent,
|
|
977
|
+
TooltipComponent,
|
|
978
|
+
PolygonsComponent] });
|
|
913
979
|
MapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, imports: [CommonModule] });
|
|
914
980
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, decorators: [{
|
|
915
981
|
type: NgModule,
|
|
@@ -923,8 +989,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
923
989
|
FeatureLayerComponent,
|
|
924
990
|
MarkersComponent,
|
|
925
991
|
TooltipComponent,
|
|
992
|
+
PolygonsComponent,
|
|
993
|
+
],
|
|
994
|
+
exports: [
|
|
995
|
+
MapPlateComponent,
|
|
996
|
+
FeatureLayerComponent,
|
|
997
|
+
MarkersComponent,
|
|
998
|
+
TileLayerComponent,
|
|
999
|
+
TooltipComponent,
|
|
1000
|
+
PolygonsComponent,
|
|
926
1001
|
],
|
|
927
|
-
exports: [MapPlateComponent, FeatureLayerComponent, MarkersComponent, TileLayerComponent, TooltipComponent],
|
|
928
1002
|
}]
|
|
929
1003
|
}] });
|
|
930
1004
|
|
|
@@ -951,6 +1025,20 @@ class MarkerStyleHelper {
|
|
|
951
1025
|
}
|
|
952
1026
|
}
|
|
953
1027
|
|
|
1028
|
+
class PolygonStyleHelper {
|
|
1029
|
+
static simple(fill, stroke, strokeWidth = 1) {
|
|
1030
|
+
return new Style({
|
|
1031
|
+
fill: new Fill({
|
|
1032
|
+
color: fill,
|
|
1033
|
+
}),
|
|
1034
|
+
stroke: new Stroke({
|
|
1035
|
+
color: stroke,
|
|
1036
|
+
width: strokeWidth,
|
|
1037
|
+
}),
|
|
1038
|
+
});
|
|
1039
|
+
}
|
|
1040
|
+
}
|
|
1041
|
+
|
|
954
1042
|
/*
|
|
955
1043
|
* Public API Surface of maps
|
|
956
1044
|
*/
|
|
@@ -959,5 +1047,5 @@ class MarkerStyleHelper {
|
|
|
959
1047
|
* Generated bundle index. Do not edit.
|
|
960
1048
|
*/
|
|
961
1049
|
|
|
962
|
-
export { CallbackMessage, CloseTooltipCommand, FeatureLayerComponent, FeatureLayerSettings, GenericMessage, MapClickEvent, MapLyrs, MapLyrsLabel, MapModule, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, OsmTileLayerComponent, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings };
|
|
1050
|
+
export { CallbackMessage, CloseTooltipCommand, FeatureLayerComponent, FeatureLayerSettings, GenericMessage, MapClickEvent, MapLyrs, MapLyrsLabel, MapModule, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings };
|
|
963
1051
|
//# sourceMappingURL=maps-components-src-map.mjs.map
|