@artstesh/maps 3.1.3 → 3.1.5

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.
@@ -11,6 +11,7 @@ import { get, useGeographic, transform } from 'ol/proj';
11
11
  import { PostboyGenericMessage, PostboyCallbackMessage, PostboyExecutor, PostboyService, PostboyAbstractRegistrator } from '@artstesh/postboy';
12
12
  import { Draw, Modify, Translate } from 'ol/interaction';
13
13
  import { createRegularPolygon, createBox } from 'ol/interaction/Draw';
14
+ import * as Sphere from 'ol/sphere';
14
15
  import { first, filter, auditTime } from 'rxjs/operators';
15
16
  import { Vector, XYZ } from 'ol/source';
16
17
  import TileLayer from 'ol/layer/Tile';
@@ -159,6 +160,8 @@ class PolygonModel {
159
160
  this.info = info;
160
161
  this.id = id == null ? IdGenerator.get() : id;
161
162
  this._feature = feature;
163
+ if (this.info)
164
+ this._feature?.set(MapConstants.FeatureInfo, this.info);
162
165
  [this.lng, this.lat] = getCenter(this._feature.getGeometry()?.getExtent());
163
166
  }
164
167
  static fromGeoJson(id, json, info) {
@@ -404,6 +407,17 @@ class SetMapCenterCommand extends PostboyGenericMessage {
404
407
  }
405
408
  SetMapCenterCommand.ID = 'd50e89c9-6707-4f8c-ab57-65fcef232182';
406
409
 
410
+ class CalculateAreaExecutor extends PostboyExecutor {
411
+ constructor(polygon) {
412
+ super();
413
+ this.polygon = polygon;
414
+ }
415
+ get id() {
416
+ return CalculateAreaExecutor.ID;
417
+ }
418
+ }
419
+ CalculateAreaExecutor.ID = '172ecf46-86b5-4f46-a5f1-96ba2cbb1694';
420
+
407
421
  class AddLayerCommand extends PostboyGenericMessage {
408
422
  constructor(layer) {
409
423
  super();
@@ -529,6 +543,11 @@ class FeatureService {
529
543
  return g1.intersectsCoordinate(g2.getInteriorPoint().getCoordinates());
530
544
  return false;
531
545
  }
546
+ static calculateArea(g) {
547
+ if (!g)
548
+ return 0;
549
+ return Sphere.getArea(g, { projection: 'EPSG:4326' });
550
+ }
532
551
  }
533
552
 
534
553
  class GetFeaturesInAreaQuery extends PostboyCallbackMessage {
@@ -1035,6 +1054,7 @@ class MessageRegistratorService extends PostboyAbstractRegistrator {
1035
1054
  }
1036
1055
  setExecutors() {
1037
1056
  this.registerExecutor(FilterFeaturesInAreaExecutor.ID, (e) => FeatureService.filterFeaturesInArea(e));
1057
+ this.registerExecutor(CalculateAreaExecutor.ID, (e) => FeatureService.calculateArea(e.polygon?.feature?.getGeometry()));
1038
1058
  this.registerExecutor(GenerateDrawExecutor.ID, (e) => DrawingGenerationService.getDraw(e));
1039
1059
  this.registerExecutor(GenerateZoomControlExecutor.ID, (e) => ZoomControlFactory.build(e.settings));
1040
1060
  }
@@ -2093,5 +2113,5 @@ class StringifyFeatureHelper {
2093
2113
  * Generated bundle index. Do not edit.
2094
2114
  */
2095
2115
 
2096
- export { AddControlCommand, CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, Dictionary, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, MapClickEvent, MapControl, MapControlZoomComponent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, RemoveControlCommand, SetMapCenterCommand, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings, ZoomControlSettings };
2116
+ export { AddControlCommand, CalculateAreaExecutor, CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, Dictionary, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, MapClickEvent, MapControl, MapControlZoomComponent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, RemoveControlCommand, SetMapCenterCommand, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings, ZoomControlSettings };
2097
2117
  //# sourceMappingURL=maps-components-src-map.mjs.map