@artstesh/maps 7.0.0 → 9.0.0

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.
Files changed (407) hide show
  1. package/dist/fesm2022/maps-components-src-map.mjs +87 -87
  2. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  3. package/dist/fesm2022/maps-components.mjs +87 -87
  4. package/dist/fesm2022/maps-components.mjs.map +1 -1
  5. package/dist/index.d.ts +1720 -3
  6. package/dist/src/map/index.d.ts +1720 -3
  7. package/package.json +20 -20
  8. package/dist/esm2022/map/common/destructible.component.mjs +0 -18
  9. package/dist/esm2022/map/common/id.generator.mjs +0 -14
  10. package/dist/esm2022/map/helpers/index.mjs +0 -5
  11. package/dist/esm2022/map/helpers/marker-style.helper.mjs +0 -55
  12. package/dist/esm2022/map/helpers/polygon-style.helper.mjs +0 -54
  13. package/dist/esm2022/map/helpers/stringify-feature.helper.mjs +0 -61
  14. package/dist/esm2022/map/helpers/text-style.helper.mjs +0 -33
  15. package/dist/esm2022/map/map-plate/controls/index.mjs +0 -3
  16. package/dist/esm2022/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +0 -69
  17. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +0 -13
  18. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +0 -116
  19. package/dist/esm2022/map/map-plate/features/index.mjs +0 -3
  20. package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +0 -52
  21. package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +0 -56
  22. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +0 -59
  23. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +0 -60
  24. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +0 -38
  25. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +0 -145
  26. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.component.mjs +0 -52
  27. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +0 -28
  28. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +0 -139
  29. package/dist/esm2022/map/map-plate/layers/image-layer/image-layer-factory.mjs +0 -26
  30. package/dist/esm2022/map/map-plate/layers/image-layer/image-layer.component.mjs +0 -52
  31. package/dist/esm2022/map/map-plate/layers/image-layer/image-layer.settings.mjs +0 -134
  32. package/dist/esm2022/map/map-plate/layers/index.mjs +0 -12
  33. package/dist/esm2022/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +0 -67
  34. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.component.mjs +0 -52
  35. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +0 -74
  36. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +0 -165
  37. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.component.mjs +0 -52
  38. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +0 -68
  39. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +0 -139
  40. package/dist/esm2022/map/map-plate/map-plate.component.mjs +0 -125
  41. package/dist/esm2022/map/map-plate/map-plate.factory.service.mjs +0 -29
  42. package/dist/esm2022/map/map-plate/tooltips/index.mjs +0 -3
  43. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.component.mjs +0 -84
  44. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +0 -31
  45. package/dist/esm2022/map/messages/commands/add-control.command.mjs +0 -18
  46. package/dist/esm2022/map/messages/commands/add-image-layer.command.mjs +0 -10
  47. package/dist/esm2022/map/messages/commands/add-layer.command.mjs +0 -10
  48. package/dist/esm2022/map/messages/commands/add-raster-tile-command.mjs +0 -10
  49. package/dist/esm2022/map/messages/commands/add-tile.command.mjs +0 -10
  50. package/dist/esm2022/map/messages/commands/cancel-drawing.command.mjs +0 -8
  51. package/dist/esm2022/map/messages/commands/cancel-feature-modification.command.mjs +0 -8
  52. package/dist/esm2022/map/messages/commands/close-tooltip.command.mjs +0 -18
  53. package/dist/esm2022/map/messages/commands/draw-selection-area.command.mjs +0 -26
  54. package/dist/esm2022/map/messages/commands/fit-to-features.command.mjs +0 -12
  55. package/dist/esm2022/map/messages/commands/fit-to-polygons.command.mjs +0 -22
  56. package/dist/esm2022/map/messages/commands/modify-feature.command.mjs +0 -31
  57. package/dist/esm2022/map/messages/commands/place-layer-features.command.mjs +0 -12
  58. package/dist/esm2022/map/messages/commands/remove-control.command.mjs +0 -23
  59. package/dist/esm2022/map/messages/commands/remove-image-layer.command.mjs +0 -10
  60. package/dist/esm2022/map/messages/commands/remove-layer.command.mjs +0 -10
  61. package/dist/esm2022/map/messages/commands/remove-raster-tile.command.mjs +0 -10
  62. package/dist/esm2022/map/messages/commands/remove-tile.command.mjs +0 -10
  63. package/dist/esm2022/map/messages/commands/set-map-center.command.mjs +0 -23
  64. package/dist/esm2022/map/messages/commands/start-drawing.command.mjs +0 -25
  65. package/dist/esm2022/map/messages/events/drawing-finished.event.mjs +0 -5
  66. package/dist/esm2022/map/messages/events/map-click.event.mjs +0 -27
  67. package/dist/esm2022/map/messages/events/map-feature-hovered.event.mjs +0 -23
  68. package/dist/esm2022/map/messages/events/map-move-end.event.mjs +0 -16
  69. package/dist/esm2022/map/messages/events/map-pointer-move.event.mjs +0 -21
  70. package/dist/esm2022/map/messages/events/map-rendered.event.mjs +0 -18
  71. package/dist/esm2022/map/messages/executors/calculate-area.executor.mjs +0 -17
  72. package/dist/esm2022/map/messages/executors/filter-features-in-area.executor.mjs +0 -20
  73. package/dist/esm2022/map/messages/executors/filter-features-in-point.executor.mjs +0 -28
  74. package/dist/esm2022/map/messages/executors/generate-draw.executor.mjs +0 -14
  75. package/dist/esm2022/map/messages/executors/generate-zoom-control.executor.mjs +0 -10
  76. package/dist/esm2022/map/messages/executors/get-geometry-length.executor.mjs +0 -18
  77. package/dist/esm2022/map/messages/executors/get-map-position.executor.mjs +0 -13
  78. package/dist/esm2022/map/messages/executors/polygon-self-intersection.executor.mjs +0 -10
  79. package/dist/esm2022/map/messages/index.mjs +0 -25
  80. package/dist/esm2022/map/messages/queries/get-features-in-area.query.mjs +0 -22
  81. package/dist/esm2022/map/messages/queries/get-features-in-point.query.mjs +0 -25
  82. package/dist/esm2022/map/messages/queries/get-layer.query.mjs +0 -10
  83. package/dist/esm2022/map/models/drawing-type.enum.mjs +0 -22
  84. package/dist/esm2022/map/models/feature-format.enum.mjs +0 -15
  85. package/dist/esm2022/map/models/i-identified.mjs +0 -2
  86. package/dist/esm2022/map/models/index.mjs +0 -10
  87. package/dist/esm2022/map/models/map-control.mjs +0 -15
  88. package/dist/esm2022/map/models/map-lyrs.enum.mjs +0 -19
  89. package/dist/esm2022/map/models/map-position.model.mjs +0 -2
  90. package/dist/esm2022/map/models/map-settings.mjs +0 -124
  91. package/dist/esm2022/map/models/map.constants.mjs +0 -6
  92. package/dist/esm2022/map/models/marker-model.mjs +0 -29
  93. package/dist/esm2022/map/models/polygon.model.mjs +0 -40
  94. package/dist/esm2022/map/ol-proxy.mjs +0 -6
  95. package/dist/esm2022/map/public-api.mjs +0 -16
  96. package/dist/esm2022/map/services/controls/controls.service.mjs +0 -37
  97. package/dist/esm2022/map/services/drawing/drawing-generation.service.mjs +0 -25
  98. package/dist/esm2022/map/services/drawing/drawing.service.mjs +0 -99
  99. package/dist/esm2022/map/services/drawing/feature-modification.service.mjs +0 -105
  100. package/dist/esm2022/map/services/feature.service.mjs +0 -77
  101. package/dist/esm2022/map/services/map-click.service.mjs +0 -55
  102. package/dist/esm2022/map/services/map-feature.service.mjs +0 -75
  103. package/dist/esm2022/map/services/map-management.service.mjs +0 -143
  104. package/dist/esm2022/map/services/map-postboy.service.mjs +0 -14
  105. package/dist/esm2022/map/services/map-state.service.mjs +0 -48
  106. package/dist/esm2022/map/services/message-registrator.service.mjs +0 -105
  107. package/dist/esm2022/maps-components.mjs +0 -5
  108. package/dist/esm2022/public-api.mjs +0 -5
  109. package/dist/esm2022/src/map/common/destructible.component.mjs +0 -18
  110. package/dist/esm2022/src/map/common/id.generator.mjs +0 -14
  111. package/dist/esm2022/src/map/helpers/index.mjs +0 -5
  112. package/dist/esm2022/src/map/helpers/marker-style.helper.mjs +0 -55
  113. package/dist/esm2022/src/map/helpers/polygon-style.helper.mjs +0 -54
  114. package/dist/esm2022/src/map/helpers/stringify-feature.helper.mjs +0 -61
  115. package/dist/esm2022/src/map/helpers/text-style.helper.mjs +0 -33
  116. package/dist/esm2022/src/map/map-plate/controls/index.mjs +0 -3
  117. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +0 -69
  118. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +0 -13
  119. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +0 -116
  120. package/dist/esm2022/src/map/map-plate/features/index.mjs +0 -3
  121. package/dist/esm2022/src/map/map-plate/features/markers/markers.component.mjs +0 -52
  122. package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +0 -56
  123. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +0 -59
  124. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +0 -60
  125. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +0 -38
  126. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +0 -145
  127. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +0 -52
  128. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +0 -28
  129. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +0 -139
  130. package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer-factory.mjs +0 -26
  131. package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer.component.mjs +0 -52
  132. package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer.settings.mjs +0 -134
  133. package/dist/esm2022/src/map/map-plate/layers/index.mjs +0 -12
  134. package/dist/esm2022/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +0 -67
  135. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.component.mjs +0 -52
  136. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +0 -74
  137. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +0 -165
  138. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +0 -52
  139. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +0 -68
  140. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +0 -139
  141. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +0 -125
  142. package/dist/esm2022/src/map/map-plate/map-plate.factory.service.mjs +0 -29
  143. package/dist/esm2022/src/map/map-plate/tooltips/index.mjs +0 -3
  144. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.component.mjs +0 -84
  145. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +0 -31
  146. package/dist/esm2022/src/map/maps-components-src-map.mjs +0 -5
  147. package/dist/esm2022/src/map/messages/commands/add-control.command.mjs +0 -18
  148. package/dist/esm2022/src/map/messages/commands/add-image-layer.command.mjs +0 -10
  149. package/dist/esm2022/src/map/messages/commands/add-layer.command.mjs +0 -10
  150. package/dist/esm2022/src/map/messages/commands/add-raster-tile-command.mjs +0 -10
  151. package/dist/esm2022/src/map/messages/commands/add-tile.command.mjs +0 -10
  152. package/dist/esm2022/src/map/messages/commands/cancel-drawing.command.mjs +0 -8
  153. package/dist/esm2022/src/map/messages/commands/cancel-feature-modification.command.mjs +0 -8
  154. package/dist/esm2022/src/map/messages/commands/close-tooltip.command.mjs +0 -18
  155. package/dist/esm2022/src/map/messages/commands/draw-selection-area.command.mjs +0 -26
  156. package/dist/esm2022/src/map/messages/commands/fit-to-features.command.mjs +0 -12
  157. package/dist/esm2022/src/map/messages/commands/fit-to-polygons.command.mjs +0 -22
  158. package/dist/esm2022/src/map/messages/commands/modify-feature.command.mjs +0 -31
  159. package/dist/esm2022/src/map/messages/commands/place-layer-features.command.mjs +0 -12
  160. package/dist/esm2022/src/map/messages/commands/remove-control.command.mjs +0 -23
  161. package/dist/esm2022/src/map/messages/commands/remove-image-layer.command.mjs +0 -10
  162. package/dist/esm2022/src/map/messages/commands/remove-layer.command.mjs +0 -10
  163. package/dist/esm2022/src/map/messages/commands/remove-raster-tile.command.mjs +0 -10
  164. package/dist/esm2022/src/map/messages/commands/remove-tile.command.mjs +0 -10
  165. package/dist/esm2022/src/map/messages/commands/set-map-center.command.mjs +0 -23
  166. package/dist/esm2022/src/map/messages/commands/start-drawing.command.mjs +0 -25
  167. package/dist/esm2022/src/map/messages/events/drawing-finished.event.mjs +0 -5
  168. package/dist/esm2022/src/map/messages/events/map-click.event.mjs +0 -27
  169. package/dist/esm2022/src/map/messages/events/map-feature-hovered.event.mjs +0 -23
  170. package/dist/esm2022/src/map/messages/events/map-move-end.event.mjs +0 -16
  171. package/dist/esm2022/src/map/messages/events/map-pointer-move.event.mjs +0 -21
  172. package/dist/esm2022/src/map/messages/events/map-rendered.event.mjs +0 -18
  173. package/dist/esm2022/src/map/messages/executors/calculate-area.executor.mjs +0 -17
  174. package/dist/esm2022/src/map/messages/executors/filter-features-in-area.executor.mjs +0 -20
  175. package/dist/esm2022/src/map/messages/executors/filter-features-in-point.executor.mjs +0 -28
  176. package/dist/esm2022/src/map/messages/executors/generate-draw.executor.mjs +0 -14
  177. package/dist/esm2022/src/map/messages/executors/generate-zoom-control.executor.mjs +0 -10
  178. package/dist/esm2022/src/map/messages/executors/get-geometry-length.executor.mjs +0 -18
  179. package/dist/esm2022/src/map/messages/executors/get-map-position.executor.mjs +0 -13
  180. package/dist/esm2022/src/map/messages/executors/polygon-self-intersection.executor.mjs +0 -10
  181. package/dist/esm2022/src/map/messages/index.mjs +0 -25
  182. package/dist/esm2022/src/map/messages/queries/get-features-in-area.query.mjs +0 -22
  183. package/dist/esm2022/src/map/messages/queries/get-features-in-point.query.mjs +0 -25
  184. package/dist/esm2022/src/map/messages/queries/get-layer.query.mjs +0 -10
  185. package/dist/esm2022/src/map/models/drawing-type.enum.mjs +0 -22
  186. package/dist/esm2022/src/map/models/feature-format.enum.mjs +0 -15
  187. package/dist/esm2022/src/map/models/i-identified.mjs +0 -2
  188. package/dist/esm2022/src/map/models/index.mjs +0 -10
  189. package/dist/esm2022/src/map/models/map-control.mjs +0 -15
  190. package/dist/esm2022/src/map/models/map-lyrs.enum.mjs +0 -19
  191. package/dist/esm2022/src/map/models/map-position.model.mjs +0 -2
  192. package/dist/esm2022/src/map/models/map-settings.mjs +0 -124
  193. package/dist/esm2022/src/map/models/map.constants.mjs +0 -6
  194. package/dist/esm2022/src/map/models/marker-model.mjs +0 -29
  195. package/dist/esm2022/src/map/models/polygon.model.mjs +0 -40
  196. package/dist/esm2022/src/map/ol-proxy.mjs +0 -6
  197. package/dist/esm2022/src/map/public-api.mjs +0 -16
  198. package/dist/esm2022/src/map/services/controls/controls.service.mjs +0 -37
  199. package/dist/esm2022/src/map/services/drawing/drawing-generation.service.mjs +0 -25
  200. package/dist/esm2022/src/map/services/drawing/drawing.service.mjs +0 -99
  201. package/dist/esm2022/src/map/services/drawing/feature-modification.service.mjs +0 -105
  202. package/dist/esm2022/src/map/services/feature.service.mjs +0 -77
  203. package/dist/esm2022/src/map/services/map-click.service.mjs +0 -55
  204. package/dist/esm2022/src/map/services/map-feature.service.mjs +0 -75
  205. package/dist/esm2022/src/map/services/map-management.service.mjs +0 -143
  206. package/dist/esm2022/src/map/services/map-postboy.service.mjs +0 -14
  207. package/dist/esm2022/src/map/services/map-state.service.mjs +0 -48
  208. package/dist/esm2022/src/map/services/message-registrator.service.mjs +0 -105
  209. package/dist/map/common/destructible.component.d.ts +0 -10
  210. package/dist/map/common/id.generator.d.ts +0 -4
  211. package/dist/map/helpers/index.d.ts +0 -4
  212. package/dist/map/helpers/marker-style.helper.d.ts +0 -33
  213. package/dist/map/helpers/polygon-style.helper.d.ts +0 -26
  214. package/dist/map/helpers/stringify-feature.helper.d.ts +0 -26
  215. package/dist/map/helpers/text-style.helper.d.ts +0 -19
  216. package/dist/map/map-plate/controls/index.d.ts +0 -2
  217. package/dist/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +0 -36
  218. package/dist/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +0 -5
  219. package/dist/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +0 -85
  220. package/dist/map/map-plate/features/index.d.ts +0 -2
  221. package/dist/map/map-plate/features/markers/markers.component.d.ts +0 -26
  222. package/dist/map/map-plate/features/polygons/polygons.component.d.ts +0 -26
  223. package/dist/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +0 -11
  224. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +0 -29
  225. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +0 -13
  226. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +0 -100
  227. package/dist/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +0 -22
  228. package/dist/map/map-plate/layers/feature-layer/feature-layer.factory.d.ts +0 -9
  229. package/dist/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +0 -103
  230. package/dist/map/map-plate/layers/image-layer/image-layer-factory.d.ts +0 -9
  231. package/dist/map/map-plate/layers/image-layer/image-layer.component.d.ts +0 -22
  232. package/dist/map/map-plate/layers/image-layer/image-layer.settings.d.ts +0 -97
  233. package/dist/map/map-plate/layers/index.d.ts +0 -11
  234. package/dist/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +0 -21
  235. package/dist/map/map-plate/layers/raster-tile/raster-tile-layer.component.d.ts +0 -21
  236. package/dist/map/map-plate/layers/raster-tile/raster-tile-layer.factory.d.ts +0 -12
  237. package/dist/map/map-plate/layers/raster-tile/raster-tile-layer.settings.d.ts +0 -119
  238. package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +0 -21
  239. package/dist/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +0 -12
  240. package/dist/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +0 -103
  241. package/dist/map/map-plate/map-plate.component.d.ts +0 -30
  242. package/dist/map/map-plate/map-plate.factory.service.d.ts +0 -8
  243. package/dist/map/map-plate/tooltips/index.d.ts +0 -2
  244. package/dist/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +0 -27
  245. package/dist/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +0 -11
  246. package/dist/map/messages/commands/add-control.command.d.ts +0 -15
  247. package/dist/map/messages/commands/add-image-layer.command.d.ts +0 -8
  248. package/dist/map/messages/commands/add-layer.command.d.ts +0 -9
  249. package/dist/map/messages/commands/add-raster-tile-command.d.ts +0 -8
  250. package/dist/map/messages/commands/add-tile.command.d.ts +0 -8
  251. package/dist/map/messages/commands/cancel-drawing.command.d.ts +0 -7
  252. package/dist/map/messages/commands/cancel-feature-modification.command.d.ts +0 -7
  253. package/dist/map/messages/commands/close-tooltip.command.d.ts +0 -14
  254. package/dist/map/messages/commands/draw-selection-area.command.d.ts +0 -24
  255. package/dist/map/messages/commands/fit-to-features.command.d.ts +0 -9
  256. package/dist/map/messages/commands/fit-to-polygons.command.d.ts +0 -18
  257. package/dist/map/messages/commands/modify-feature.command.d.ts +0 -25
  258. package/dist/map/messages/commands/place-layer-features.command.d.ts +0 -9
  259. package/dist/map/messages/commands/remove-control.command.d.ts +0 -20
  260. package/dist/map/messages/commands/remove-image-layer.command.d.ts +0 -8
  261. package/dist/map/messages/commands/remove-layer.command.d.ts +0 -7
  262. package/dist/map/messages/commands/remove-raster-tile.command.d.ts +0 -8
  263. package/dist/map/messages/commands/remove-tile.command.d.ts +0 -8
  264. package/dist/map/messages/commands/set-map-center.command.d.ts +0 -17
  265. package/dist/map/messages/commands/start-drawing.command.d.ts +0 -20
  266. package/dist/map/messages/events/drawing-finished.event.d.ts +0 -4
  267. package/dist/map/messages/events/map-click.event.d.ts +0 -32
  268. package/dist/map/messages/events/map-feature-hovered.event.d.ts +0 -19
  269. package/dist/map/messages/events/map-move-end.event.d.ts +0 -13
  270. package/dist/map/messages/events/map-pointer-move.event.d.ts +0 -17
  271. package/dist/map/messages/events/map-rendered.event.d.ts +0 -15
  272. package/dist/map/messages/executors/calculate-area.executor.d.ts +0 -16
  273. package/dist/map/messages/executors/filter-features-in-area.executor.d.ts +0 -17
  274. package/dist/map/messages/executors/filter-features-in-point.executor.d.ts +0 -24
  275. package/dist/map/messages/executors/generate-draw.executor.d.ts +0 -13
  276. package/dist/map/messages/executors/generate-zoom-control.executor.d.ts +0 -8
  277. package/dist/map/messages/executors/get-geometry-length.executor.d.ts +0 -11
  278. package/dist/map/messages/executors/get-map-position.executor.d.ts +0 -11
  279. package/dist/map/messages/executors/polygon-self-intersection.executor.d.ts +0 -7
  280. package/dist/map/messages/index.d.ts +0 -24
  281. package/dist/map/messages/queries/get-features-in-area.query.d.ts +0 -20
  282. package/dist/map/messages/queries/get-features-in-point.query.d.ts +0 -21
  283. package/dist/map/messages/queries/get-layer.query.d.ts +0 -9
  284. package/dist/map/models/drawing-type.enum.d.ts +0 -20
  285. package/dist/map/models/feature-format.enum.d.ts +0 -13
  286. package/dist/map/models/i-identified.d.ts +0 -3
  287. package/dist/map/models/index.d.ts +0 -9
  288. package/dist/map/models/map-control.d.ts +0 -13
  289. package/dist/map/models/map-lyrs.enum.d.ts +0 -10
  290. package/dist/map/models/map-position.model.d.ts +0 -18
  291. package/dist/map/models/map-settings.d.ts +0 -81
  292. package/dist/map/models/map.constants.d.ts +0 -5
  293. package/dist/map/models/marker-model.d.ts +0 -16
  294. package/dist/map/models/polygon.model.d.ts +0 -22
  295. package/dist/map/ol-proxy.d.ts +0 -7
  296. package/dist/map/public-api.d.ts +0 -12
  297. package/dist/map/services/controls/controls.service.d.ts +0 -14
  298. package/dist/map/services/drawing/drawing-generation.service.d.ts +0 -6
  299. package/dist/map/services/drawing/drawing.service.d.ts +0 -19
  300. package/dist/map/services/drawing/feature-modification.service.d.ts +0 -22
  301. package/dist/map/services/feature.service.d.ts +0 -16
  302. package/dist/map/services/map-click.service.d.ts +0 -16
  303. package/dist/map/services/map-feature.service.d.ts +0 -17
  304. package/dist/map/services/map-management.service.d.ts +0 -22
  305. package/dist/map/services/map-postboy.service.d.ts +0 -7
  306. package/dist/map/services/map-state.service.d.ts +0 -15
  307. package/dist/map/services/message-registrator.service.d.ts +0 -18
  308. package/dist/public-api.d.ts +0 -1
  309. package/dist/src/map/common/destructible.component.d.ts +0 -10
  310. package/dist/src/map/common/id.generator.d.ts +0 -4
  311. package/dist/src/map/helpers/index.d.ts +0 -4
  312. package/dist/src/map/helpers/marker-style.helper.d.ts +0 -33
  313. package/dist/src/map/helpers/polygon-style.helper.d.ts +0 -26
  314. package/dist/src/map/helpers/stringify-feature.helper.d.ts +0 -26
  315. package/dist/src/map/helpers/text-style.helper.d.ts +0 -19
  316. package/dist/src/map/map-plate/controls/index.d.ts +0 -2
  317. package/dist/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +0 -36
  318. package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +0 -5
  319. package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +0 -85
  320. package/dist/src/map/map-plate/features/index.d.ts +0 -2
  321. package/dist/src/map/map-plate/features/markers/markers.component.d.ts +0 -26
  322. package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +0 -26
  323. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +0 -11
  324. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +0 -29
  325. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +0 -13
  326. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +0 -100
  327. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +0 -22
  328. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.factory.d.ts +0 -9
  329. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +0 -103
  330. package/dist/src/map/map-plate/layers/image-layer/image-layer-factory.d.ts +0 -9
  331. package/dist/src/map/map-plate/layers/image-layer/image-layer.component.d.ts +0 -22
  332. package/dist/src/map/map-plate/layers/image-layer/image-layer.settings.d.ts +0 -97
  333. package/dist/src/map/map-plate/layers/index.d.ts +0 -11
  334. package/dist/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +0 -21
  335. package/dist/src/map/map-plate/layers/raster-tile/raster-tile-layer.component.d.ts +0 -21
  336. package/dist/src/map/map-plate/layers/raster-tile/raster-tile-layer.factory.d.ts +0 -12
  337. package/dist/src/map/map-plate/layers/raster-tile/raster-tile-layer.settings.d.ts +0 -119
  338. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +0 -21
  339. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +0 -12
  340. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +0 -103
  341. package/dist/src/map/map-plate/map-plate.component.d.ts +0 -30
  342. package/dist/src/map/map-plate/map-plate.factory.service.d.ts +0 -8
  343. package/dist/src/map/map-plate/tooltips/index.d.ts +0 -2
  344. package/dist/src/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +0 -27
  345. package/dist/src/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +0 -11
  346. package/dist/src/map/messages/commands/add-control.command.d.ts +0 -15
  347. package/dist/src/map/messages/commands/add-image-layer.command.d.ts +0 -8
  348. package/dist/src/map/messages/commands/add-layer.command.d.ts +0 -9
  349. package/dist/src/map/messages/commands/add-raster-tile-command.d.ts +0 -8
  350. package/dist/src/map/messages/commands/add-tile.command.d.ts +0 -8
  351. package/dist/src/map/messages/commands/cancel-drawing.command.d.ts +0 -7
  352. package/dist/src/map/messages/commands/cancel-feature-modification.command.d.ts +0 -7
  353. package/dist/src/map/messages/commands/close-tooltip.command.d.ts +0 -14
  354. package/dist/src/map/messages/commands/draw-selection-area.command.d.ts +0 -24
  355. package/dist/src/map/messages/commands/fit-to-features.command.d.ts +0 -9
  356. package/dist/src/map/messages/commands/fit-to-polygons.command.d.ts +0 -18
  357. package/dist/src/map/messages/commands/modify-feature.command.d.ts +0 -25
  358. package/dist/src/map/messages/commands/place-layer-features.command.d.ts +0 -9
  359. package/dist/src/map/messages/commands/remove-control.command.d.ts +0 -20
  360. package/dist/src/map/messages/commands/remove-image-layer.command.d.ts +0 -8
  361. package/dist/src/map/messages/commands/remove-layer.command.d.ts +0 -7
  362. package/dist/src/map/messages/commands/remove-raster-tile.command.d.ts +0 -8
  363. package/dist/src/map/messages/commands/remove-tile.command.d.ts +0 -8
  364. package/dist/src/map/messages/commands/set-map-center.command.d.ts +0 -17
  365. package/dist/src/map/messages/commands/start-drawing.command.d.ts +0 -20
  366. package/dist/src/map/messages/events/drawing-finished.event.d.ts +0 -4
  367. package/dist/src/map/messages/events/map-click.event.d.ts +0 -32
  368. package/dist/src/map/messages/events/map-feature-hovered.event.d.ts +0 -19
  369. package/dist/src/map/messages/events/map-move-end.event.d.ts +0 -13
  370. package/dist/src/map/messages/events/map-pointer-move.event.d.ts +0 -17
  371. package/dist/src/map/messages/events/map-rendered.event.d.ts +0 -15
  372. package/dist/src/map/messages/executors/calculate-area.executor.d.ts +0 -16
  373. package/dist/src/map/messages/executors/filter-features-in-area.executor.d.ts +0 -17
  374. package/dist/src/map/messages/executors/filter-features-in-point.executor.d.ts +0 -24
  375. package/dist/src/map/messages/executors/generate-draw.executor.d.ts +0 -13
  376. package/dist/src/map/messages/executors/generate-zoom-control.executor.d.ts +0 -8
  377. package/dist/src/map/messages/executors/get-geometry-length.executor.d.ts +0 -11
  378. package/dist/src/map/messages/executors/get-map-position.executor.d.ts +0 -11
  379. package/dist/src/map/messages/executors/polygon-self-intersection.executor.d.ts +0 -7
  380. package/dist/src/map/messages/index.d.ts +0 -24
  381. package/dist/src/map/messages/queries/get-features-in-area.query.d.ts +0 -20
  382. package/dist/src/map/messages/queries/get-features-in-point.query.d.ts +0 -21
  383. package/dist/src/map/messages/queries/get-layer.query.d.ts +0 -9
  384. package/dist/src/map/models/drawing-type.enum.d.ts +0 -20
  385. package/dist/src/map/models/feature-format.enum.d.ts +0 -13
  386. package/dist/src/map/models/i-identified.d.ts +0 -3
  387. package/dist/src/map/models/index.d.ts +0 -9
  388. package/dist/src/map/models/map-control.d.ts +0 -13
  389. package/dist/src/map/models/map-lyrs.enum.d.ts +0 -10
  390. package/dist/src/map/models/map-position.model.d.ts +0 -18
  391. package/dist/src/map/models/map-settings.d.ts +0 -81
  392. package/dist/src/map/models/map.constants.d.ts +0 -5
  393. package/dist/src/map/models/marker-model.d.ts +0 -16
  394. package/dist/src/map/models/polygon.model.d.ts +0 -22
  395. package/dist/src/map/ol-proxy.d.ts +0 -7
  396. package/dist/src/map/public-api.d.ts +0 -12
  397. package/dist/src/map/services/controls/controls.service.d.ts +0 -14
  398. package/dist/src/map/services/drawing/drawing-generation.service.d.ts +0 -6
  399. package/dist/src/map/services/drawing/drawing.service.d.ts +0 -19
  400. package/dist/src/map/services/drawing/feature-modification.service.d.ts +0 -22
  401. package/dist/src/map/services/feature.service.d.ts +0 -16
  402. package/dist/src/map/services/map-click.service.d.ts +0 -16
  403. package/dist/src/map/services/map-feature.service.d.ts +0 -17
  404. package/dist/src/map/services/map-management.service.d.ts +0 -22
  405. package/dist/src/map/services/map-postboy.service.d.ts +0 -7
  406. package/dist/src/map/services/map-state.service.d.ts +0 -15
  407. package/dist/src/map/services/message-registrator.service.d.ts +0 -18
@@ -1,29 +0,0 @@
1
- import { IdGenerator } from '../common/id.generator';
2
- import { Feature } from 'ol';
3
- import { Point } from 'ol/geom';
4
- import { MapConstants } from './map.constants';
5
- export class MarkerModel {
6
- lat;
7
- lng;
8
- info;
9
- id;
10
- constructor(lat, lng, id, info) {
11
- this.lat = lat;
12
- this.lng = lng;
13
- this.info = info;
14
- this.id = id == null ? IdGenerator.get() : id;
15
- this._feature = this.getFeature();
16
- }
17
- _feature;
18
- get feature() {
19
- return this._feature;
20
- }
21
- getFeature() {
22
- const feature = new Feature(new Point([this.lng, this.lat]));
23
- feature.setId(this.id);
24
- if (this.info)
25
- feature.set(MapConstants.FeatureInfo, this.info);
26
- return feature;
27
- }
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbW9kZWxzL21hcmtlci1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3QixPQUFPLEVBQVksS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sV0FBVztJQUlKO0lBQ0E7SUFFVDtJQU5PLEVBQUUsQ0FBa0I7SUFFcEMsWUFDa0IsR0FBVyxFQUNYLEdBQVcsRUFDM0IsRUFBb0IsRUFDYixJQUVOO1FBTGUsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFFcEIsU0FBSSxHQUFKLElBQUksQ0FFVjtRQUVELElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVPLFFBQVEsQ0FBb0I7SUFFcEMsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRSxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IEdlb21ldHJ5LCBQb2ludCB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi9tYXAuY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIE1hcmtlck1vZGVsIHtcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGxhdDogbnVtYmVyLFxuICAgIHB1YmxpYyByZWFkb25seSBsbmc6IG51bWJlcixcbiAgICBpZD86IHN0cmluZyB8IG51bWJlcixcbiAgICBwdWJsaWMgaW5mbz86IHtcbiAgICAgIFtpZDogc3RyaW5nXTogYW55O1xuICAgIH0sXG4gICkge1xuICAgIHRoaXMuaWQgPSBpZCA9PSBudWxsID8gSWRHZW5lcmF0b3IuZ2V0KCkgOiBpZDtcbiAgICB0aGlzLl9mZWF0dXJlID0gdGhpcy5nZXRGZWF0dXJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9mZWF0dXJlOiBGZWF0dXJlPEdlb21ldHJ5PjtcblxuICBwdWJsaWMgZ2V0IGZlYXR1cmUoKTogRmVhdHVyZTxHZW9tZXRyeT4ge1xuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGZWF0dXJlKCk6IEZlYXR1cmU8R2VvbWV0cnk+IHtcbiAgICBjb25zdCBmZWF0dXJlID0gbmV3IEZlYXR1cmUobmV3IFBvaW50KFt0aGlzLmxuZywgdGhpcy5sYXRdKSk7XG4gICAgZmVhdHVyZS5zZXRJZCh0aGlzLmlkKTtcbiAgICBpZiAodGhpcy5pbmZvKSBmZWF0dXJlLnNldChNYXBDb25zdGFudHMuRmVhdHVyZUluZm8sIHRoaXMuaW5mbyk7XG4gICAgcmV0dXJuIGZlYXR1cmU7XG4gIH1cbn1cbiJdfQ==
@@ -1,40 +0,0 @@
1
- import { IdGenerator } from '../common/id.generator';
2
- import { Feature } from 'ol';
3
- import { GeoJSON, WKT } from 'ol/format';
4
- import { getCenter } from 'ol/extent';
5
- import { MapConstants } from './map.constants';
6
- import { circular } from 'ol/geom/Polygon';
7
- export class PolygonModel {
8
- info;
9
- id;
10
- lat;
11
- lng;
12
- constructor(feature, id, info) {
13
- this.info = info;
14
- this.id = id == null ? IdGenerator.get() : id;
15
- this._feature = feature;
16
- if (this.info)
17
- this._feature?.set(MapConstants.FeatureInfo, this.info);
18
- [this.lng, this.lat] = getCenter(this._feature.getGeometry()?.getExtent());
19
- }
20
- _feature;
21
- get feature() {
22
- return this._feature;
23
- }
24
- static fromGeoJson(id, json, info) {
25
- let feature = new GeoJSON().readFeature(json);
26
- feature.setId(id);
27
- return new PolygonModel(feature, id, info);
28
- }
29
- static fromWKT(id, wkt, info) {
30
- let feature = new WKT().readFeature(wkt);
31
- feature.setId(id);
32
- return new PolygonModel(feature, id, info);
33
- }
34
- static circle(id, lat, lng, radius, vertices = 32, info) {
35
- let feature = new Feature(circular([lng, lat], radius, vertices));
36
- feature.setId(id);
37
- return new PolygonModel(feature, id, info);
38
- }
39
- }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9wb2x5Z29uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsTUFBTSxPQUFPLFlBQVk7SUFLc0Q7SUFKN0QsRUFBRSxDQUFrQjtJQUNwQixHQUFHLENBQVM7SUFDWixHQUFHLENBQVM7SUFFNUIsWUFBb0IsT0FBMEIsRUFBRSxFQUFvQixFQUFTLElBQTRCO1FBQTVCLFNBQUksR0FBSixJQUFJLENBQXdCO1FBQ3ZHLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFHLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8sUUFBUSxDQUFvQjtJQUVwQyxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQW1CLEVBQUUsSUFBWSxFQUFFLElBQTRCO1FBQ3ZGLElBQUksT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBc0IsQ0FBQztRQUNuRSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFtQixFQUFFLEdBQVcsRUFBRSxJQUE0QjtRQUNsRixJQUFJLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FDbEIsRUFBbUIsRUFDbkIsR0FBVyxFQUNYLEdBQVcsRUFDWCxNQUFjLEVBQ2QsV0FBbUIsRUFBRSxFQUNyQixJQUE0QjtRQUU1QixJQUFJLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBVyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDNUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixPQUFPLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRHZW5lcmF0b3IgfSBmcm9tICcuLi9jb21tb24vaWQuZ2VuZXJhdG9yJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBDaXJjbGUsIEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBHZW9KU09OLCBXS1QgfSBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IHsgZ2V0Q2VudGVyIH0gZnJvbSAnb2wvZXh0ZW50JztcbmltcG9ydCB7IE1hcENvbnN0YW50cyB9IGZyb20gJy4vbWFwLmNvbnN0YW50cyc7XG5pbXBvcnQgUG9seWdvbiwgeyBjaXJjdWxhciB9IGZyb20gJ29sL2dlb20vUG9seWdvbic7XG5cbmV4cG9ydCBjbGFzcyBQb2x5Z29uTW9kZWwge1xuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgcHVibGljIHJlYWRvbmx5IGxhdDogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgbG5nOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihmZWF0dXJlOiBGZWF0dXJlPEdlb21ldHJ5PiwgaWQ/OiBzdHJpbmcgfCBudW1iZXIsIHB1YmxpYyBpbmZvPzogeyBbaWQ6IHN0cmluZ106IGFueSB9KSB7XG4gICAgdGhpcy5pZCA9IGlkID09IG51bGwgPyBJZEdlbmVyYXRvci5nZXQoKSA6IGlkO1xuICAgIHRoaXMuX2ZlYXR1cmUgPSBmZWF0dXJlO1xuICAgIGlmICh0aGlzLmluZm8pIHRoaXMuX2ZlYXR1cmU/LnNldChNYXBDb25zdGFudHMuRmVhdHVyZUluZm8sIHRoaXMuaW5mbyk7XG4gICAgW3RoaXMubG5nLCB0aGlzLmxhdF0gPSBnZXRDZW50ZXIodGhpcy5fZmVhdHVyZS5nZXRHZW9tZXRyeSgpPy5nZXRFeHRlbnQoKSEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT47XG5cbiAgcHVibGljIGdldCBmZWF0dXJlKCk6IEZlYXR1cmU8R2VvbWV0cnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUdlb0pzb24oaWQ6IHN0cmluZyB8IG51bWJlciwganNvbjogc3RyaW5nLCBpbmZvPzogeyBbaWQ6IHN0cmluZ106IGFueSB9KTogUG9seWdvbk1vZGVsIHtcbiAgICBsZXQgZmVhdHVyZSA9IG5ldyBHZW9KU09OKCkucmVhZEZlYXR1cmUoanNvbikgYXMgRmVhdHVyZTxHZW9tZXRyeT47XG4gICAgZmVhdHVyZS5zZXRJZChpZCk7XG4gICAgcmV0dXJuIG5ldyBQb2x5Z29uTW9kZWwoZmVhdHVyZSwgaWQsIGluZm8pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tV0tUKGlkOiBzdHJpbmcgfCBudW1iZXIsIHdrdDogc3RyaW5nLCBpbmZvPzogeyBbaWQ6IHN0cmluZ106IGFueSB9KTogUG9seWdvbk1vZGVsIHtcbiAgICBsZXQgZmVhdHVyZSA9IG5ldyBXS1QoKS5yZWFkRmVhdHVyZSh3a3QpO1xuICAgIGZlYXR1cmUuc2V0SWQoaWQpO1xuICAgIHJldHVybiBuZXcgUG9seWdvbk1vZGVsKGZlYXR1cmUsIGlkLCBpbmZvKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY2lyY2xlKFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXIsXG4gICAgbGF0OiBudW1iZXIsXG4gICAgbG5nOiBudW1iZXIsXG4gICAgcmFkaXVzOiBudW1iZXIsXG4gICAgdmVydGljZXM6IG51bWJlciA9IDMyLFxuICAgIGluZm8/OiB7IFtpZDogc3RyaW5nXTogYW55IH0sXG4gICk6IFBvbHlnb25Nb2RlbCB7XG4gICAgbGV0IGZlYXR1cmUgPSBuZXcgRmVhdHVyZTxHZW9tZXRyeT4oY2lyY3VsYXIoW2xuZywgbGF0XSwgcmFkaXVzLCB2ZXJ0aWNlcykpO1xuICAgIGZlYXR1cmUuc2V0SWQoaWQpO1xuICAgIHJldHVybiBuZXcgUG9seWdvbk1vZGVsKGZlYXR1cmUsIGlkLCBpbmZvKTtcbiAgfVxufVxuIl19
@@ -1,6 +0,0 @@
1
- export { Feature } from 'ol';
2
- export { Style } from 'ol/style';
3
- export { Fill, RegularShape, Stroke, Text } from 'ol/style';
4
- export { Geometry, LineString, Point } from 'ol/geom';
5
- export * as CircleStyle from 'ol/style/Circle';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2wtcHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9vbC1wcm94eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEQsT0FBTyxLQUFLLFdBQVcsTUFBTSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZlYXR1cmVMaWtlIH0gZnJvbSAnb2wvRmVhdHVyZSc7XG5leHBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnb2wnO1xuZXhwb3J0IHsgU3R5bGUgfSBmcm9tICdvbC9zdHlsZSc7XG5leHBvcnQgeyBGaWxsLCBSZWd1bGFyU2hhcGUsIFN0cm9rZSwgVGV4dCB9IGZyb20gJ29sL3N0eWxlJztcbmV4cG9ydCB7IFN0eWxlTGlrZSB9IGZyb20gJ29sL3N0eWxlL1N0eWxlJztcbmV4cG9ydCB7IEdlb21ldHJ5LCBMaW5lU3RyaW5nLCBQb2ludCB9IGZyb20gJ29sL2dlb20nO1xuZXhwb3J0ICogYXMgQ2lyY2xlU3R5bGUgZnJvbSAnb2wvc3R5bGUvQ2lyY2xlJztcbiJdfQ==
@@ -1,16 +0,0 @@
1
- /*
2
- * Public API Surface of maps
3
- */
4
- export * from './models/index';
5
- export * from './map-plate/map-plate.component';
6
- export * from './services/map-postboy.service';
7
- export * from './messages/index';
8
- export * from './map-plate/layers/index';
9
- export * from './map-plate/features/index';
10
- export * from './services/map-postboy.service';
11
- export * from './services/message-registrator.service';
12
- export * from './helpers/index';
13
- export * from './map-plate/controls/index';
14
- export * from './map-plate/tooltips/index';
15
- export * from './ol-proxy';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG1hcHNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1wbGF0ZS9mZWF0dXJlcy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9tZXNzYWdlLXJlZ2lzdHJhdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwLXBsYXRlL2NvbnRyb2xzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwLXBsYXRlL3Rvb2x0aXBzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vb2wtcHJveHknO1xuIl19
@@ -1,37 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { AddControlCommand, MapRenderedEvent, RemoveControlCommand } from '../../messages';
3
- import { first } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../map-postboy.service";
6
- export class ControlsService {
7
- postboy;
8
- map;
9
- constructor(postboy) {
10
- this.postboy = postboy;
11
- }
12
- up() {
13
- this.observeMapRender();
14
- }
15
- observeMapRender() {
16
- this.postboy
17
- .sub(MapRenderedEvent)
18
- .pipe(first())
19
- .subscribe((m) => {
20
- this.map = m.map;
21
- this.observeAdding();
22
- this.observeRemoving();
23
- });
24
- }
25
- observeAdding() {
26
- this.postboy.sub(AddControlCommand).subscribe((c) => this.map?.addControl(c.item));
27
- }
28
- observeRemoving() {
29
- this.postboy.sub(RemoveControlCommand).subscribe((c) => this.map?.removeControl(c.item));
30
- }
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ControlsService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
32
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ControlsService });
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ControlsService, decorators: [{
35
- type: Injectable
36
- }], ctorParameters: () => [{ type: i1.MapPostboyService }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL2NvbnRyb2xzL2NvbnRyb2xzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUd2QyxNQUFNLE9BQU8sZUFBZTtJQUdOO0lBRlosR0FBRyxDQUFPO0lBRWxCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsT0FBTzthQUNULEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQzthQUNyQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNqQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGFBQWE7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDO3dHQTFCVSxlQUFlOzRHQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWRkQ29udHJvbENvbW1hbmQsIE1hcFJlbmRlcmVkRXZlbnQsIFJlbW92ZUNvbnRyb2xDb21tYW5kIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb250cm9sc1NlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIG1hcD86IE1hcDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YihNYXBSZW5kZXJlZEV2ZW50KVxuICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgICAgdGhpcy5tYXAgPSBtLm1hcDtcbiAgICAgICAgdGhpcy5vYnNlcnZlQWRkaW5nKCk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZVJlbW92aW5nKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUFkZGluZygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKEFkZENvbnRyb2xDb21tYW5kKS5zdWJzY3JpYmUoKGMpID0+IHRoaXMubWFwPy5hZGRDb250cm9sKGMuaXRlbSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlUmVtb3ZpbmcoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihSZW1vdmVDb250cm9sQ29tbWFuZCkuc3Vic2NyaWJlKChjKSA9PiB0aGlzLm1hcD8ucmVtb3ZlQ29udHJvbChjLml0ZW0pKTtcbiAgfVxufVxuIl19
@@ -1,25 +0,0 @@
1
- import { Draw } from 'ol/interaction';
2
- import { DrawingType } from '../../models';
3
- import { createBox, createRegularPolygon } from 'ol/interaction/Draw';
4
- export class DrawingGenerationService {
5
- static getDraw(ev) {
6
- return new Draw({
7
- source: ev.layer.getSource(),
8
- type: ev.type === DrawingType.Polygon ? 'Polygon' : ev.type === DrawingType.LineString ? 'LineString' : 'Circle',
9
- style: ev.style,
10
- geometryFunction: DrawingGenerationService.geometryFunc(ev.type),
11
- });
12
- }
13
- static geometryFunc(type) {
14
- switch (type) {
15
- case DrawingType.Circle:
16
- return createRegularPolygon(32);
17
- case DrawingType.Box:
18
- return createBox();
19
- case DrawingType.Square:
20
- return createRegularPolygon(4);
21
- }
22
- return undefined;
23
- }
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy1nZW5lcmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9kcmF3aW5nL2RyYXdpbmctZ2VuZXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFHeEYsTUFBTSxPQUFPLHdCQUF3QjtJQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQXdCO1FBQzVDLE9BQU8sSUFBSSxJQUFJLENBQUM7WUFDZCxNQUFNLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUc7WUFDN0IsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUTtZQUNoSCxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUs7WUFDZixnQkFBZ0IsRUFBRSx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztTQUNqRSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFpQjtRQUMzQyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ2IsS0FBSyxXQUFXLENBQUMsTUFBTTtnQkFDckIsT0FBTyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsQyxLQUFLLFdBQVcsQ0FBQyxHQUFHO2dCQUNsQixPQUFPLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLEtBQUssV0FBVyxDQUFDLE1BQU07Z0JBQ3JCLE9BQU8sb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyYXcgfSBmcm9tICdvbC9pbnRlcmFjdGlvbic7XG5pbXBvcnQgeyBEcmF3aW5nVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBjcmVhdGVCb3gsIGNyZWF0ZVJlZ3VsYXJQb2x5Z29uLCBHZW9tZXRyeUZ1bmN0aW9uIH0gZnJvbSAnb2wvaW50ZXJhY3Rpb24vRHJhdyc7XG5pbXBvcnQgeyBHZW5lcmF0ZURyYXdFeGVjdXRvciB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9nZW5lcmF0ZS1kcmF3LmV4ZWN1dG9yJztcblxuZXhwb3J0IGNsYXNzIERyYXdpbmdHZW5lcmF0aW9uU2VydmljZSB7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0RHJhdyhldjogR2VuZXJhdGVEcmF3RXhlY3V0b3IpIHtcbiAgICByZXR1cm4gbmV3IERyYXcoe1xuICAgICAgc291cmNlOiBldi5sYXllci5nZXRTb3VyY2UoKSEsXG4gICAgICB0eXBlOiBldi50eXBlID09PSBEcmF3aW5nVHlwZS5Qb2x5Z29uID8gJ1BvbHlnb24nIDogZXYudHlwZSA9PT0gRHJhd2luZ1R5cGUuTGluZVN0cmluZyA/ICdMaW5lU3RyaW5nJyA6ICdDaXJjbGUnLFxuICAgICAgc3R5bGU6IGV2LnN0eWxlLFxuICAgICAgZ2VvbWV0cnlGdW5jdGlvbjogRHJhd2luZ0dlbmVyYXRpb25TZXJ2aWNlLmdlb21ldHJ5RnVuYyhldi50eXBlKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdlb21ldHJ5RnVuYyh0eXBlOiBEcmF3aW5nVHlwZSk6IEdlb21ldHJ5RnVuY3Rpb24gfCB1bmRlZmluZWQge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBEcmF3aW5nVHlwZS5DaXJjbGU6XG4gICAgICAgIHJldHVybiBjcmVhdGVSZWd1bGFyUG9seWdvbigzMik7XG4gICAgICBjYXNlIERyYXdpbmdUeXBlLkJveDpcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUJveCgpO1xuICAgICAgY2FzZSBEcmF3aW5nVHlwZS5TcXVhcmU6XG4gICAgICAgIHJldHVybiBjcmVhdGVSZWd1bGFyUG9seWdvbig0KTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -1,99 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { StartDrawingCommand } from '../../messages/commands/start-drawing.command';
3
- import { CancelDrawingCommand } from '../../messages/commands/cancel-drawing.command';
4
- import { first } from 'rxjs/operators';
5
- import { DrawingFinishedEvent } from '../../messages/events/drawing-finished.event';
6
- import { MapClickEvent, MapRenderedEvent } from '../../messages';
7
- import { GetLayerQuery } from '../../messages/queries/get-layer.query';
8
- import { MapConstants } from '../../models/map.constants';
9
- import { Vector as Source } from 'ol/source';
10
- import { FeatureOutputFormat, PolygonModel } from '../../models';
11
- import { GeoJSON, WKT } from 'ol/format';
12
- import { DrawSelectionAreaCommand } from '../../messages/commands/draw-selection-area.command';
13
- import { GetFeaturesInAreaQuery } from '../../messages/queries/get-features-in-area.query';
14
- import { GenerateDrawExecutor } from '../../messages/executors/generate-draw.executor';
15
- import { Dictionary } from '@artstesh/collections';
16
- import * as i0 from "@angular/core";
17
- import * as i1 from "../map-postboy.service";
18
- export class DrawingService {
19
- postboy;
20
- drawInteraction;
21
- map;
22
- constructor(postboy) {
23
- this.postboy = postboy;
24
- }
25
- up() {
26
- this.observeDrawing();
27
- this.observeSelectArea();
28
- this.observeMapRender();
29
- }
30
- observeSelectArea() {
31
- this.postboy.sub(DrawSelectionAreaCommand).subscribe((ev) => {
32
- this.postboy.lock(MapClickEvent);
33
- this.postboy.fireCallback(new StartDrawingCommand(ev.type, ev.style), (r) => {
34
- if (!r) {
35
- ev.finish(new Dictionary());
36
- return;
37
- }
38
- const area = PolygonModel.fromGeoJson(1, r).feature.getGeometry();
39
- this.postboy.fireCallback(new GetFeaturesInAreaQuery(area, ev.ignore), (result) => ev.finish(result));
40
- });
41
- });
42
- }
43
- observeDrawing() {
44
- this.postboy.sub(StartDrawingCommand).subscribe((ev) => {
45
- this.draw((l) => {
46
- if (!l || !this.map) {
47
- this.clearInteraction(l);
48
- return;
49
- }
50
- const cancelSub = this.observeCancelation(ev, l);
51
- this.drawInteraction = this.postboy.exec(new GenerateDrawExecutor(l, ev.style, ev.type));
52
- this.map?.addInteraction(this.drawInteraction);
53
- this.drawInteraction.on('drawend', (evt) => {
54
- cancelSub.unsubscribe();
55
- this.onEnd(evt, ev, l);
56
- });
57
- });
58
- });
59
- }
60
- onEnd(evt, command, layer) {
61
- command.finish(command.format === FeatureOutputFormat.GeoJson
62
- ? new GeoJSON().writeFeature(evt.feature)
63
- : command.format === FeatureOutputFormat.WKT
64
- ? new WKT().writeFeature(evt.feature)
65
- : new GeoJSON().writeGeometry(evt.feature.getGeometry()));
66
- this.clearInteraction(layer);
67
- }
68
- observeMapRender() {
69
- this.postboy.sub(MapRenderedEvent).subscribe((m) => {
70
- this.map = m.map;
71
- });
72
- }
73
- draw(action) {
74
- this.postboy.fireCallback(new GetLayerQuery(MapConstants.DrawingLayerId), (l) => action(l));
75
- }
76
- observeCancelation(ev, layer) {
77
- return this.postboy
78
- .sub(CancelDrawingCommand)
79
- .pipe(first())
80
- .subscribe(() => {
81
- ev.finish(null);
82
- this.clearInteraction(layer);
83
- });
84
- }
85
- clearInteraction(layer) {
86
- if (!!this.drawInteraction) {
87
- this.map?.removeInteraction(this.drawInteraction);
88
- layer?.setSource(new Source({}));
89
- }
90
- this.postboy.unlock(MapClickEvent);
91
- setTimeout(() => this.postboy.fire(new DrawingFinishedEvent()), 300);
92
- }
93
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawingService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
94
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawingService });
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawingService, decorators: [{
97
- type: Injectable
98
- }], ctorParameters: () => [{ type: i1.MapPostboyService }] });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZHJhd2luZy9kcmF3aW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHMUQsT0FBTyxFQUFFLE1BQU0sSUFBSSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUlqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUUzRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUluRCxNQUFNLE9BQU8sY0FBYztJQUlMO0lB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QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDbEQsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkUsQ0FBQzt3R0FsRlUsY0FBYzs0R0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXJ0RHJhd2luZ0NvbW1hbmQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9zdGFydC1kcmF3aW5nLmNvbW1hbmQnO1xuaW1wb3J0IHsgQ2FuY2VsRHJhd2luZ0NvbW1hbmQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9jYW5jZWwtZHJhd2luZy5jb21tYW5kJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRHJhd2luZ0ZpbmlzaGVkRXZlbnQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9ldmVudHMvZHJhd2luZy1maW5pc2hlZC5ldmVudCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hcENsaWNrRXZlbnQsIE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBHZXRMYXllclF1ZXJ5IH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvcXVlcmllcy9nZXQtbGF5ZXIucXVlcnknO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIExheWVyIH0gZnJvbSAnb2wvbGF5ZXInO1xuaW1wb3J0IFZlY3RvclNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcbmltcG9ydCB7IFZlY3RvciBhcyBTb3VyY2UgfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IHsgRHJhdyB9IGZyb20gJ29sL2ludGVyYWN0aW9uJztcbmltcG9ydCB7IEZlYXR1cmVPdXRwdXRGb3JtYXQsIFBvbHlnb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBEcmF3RXZlbnQgfSBmcm9tICdvbC9pbnRlcmFjdGlvbi9EcmF3JztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBHZW9KU09OLCBXS1QgfSBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IHsgRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kJztcbmltcG9ydCB7IEdldEZlYXR1cmVzSW5BcmVhUXVlcnkgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5JztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ktaWRlbnRpZmllZCc7XG5pbXBvcnQgeyBHZW5lcmF0ZURyYXdFeGVjdXRvciB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9nZW5lcmF0ZS1kcmF3LmV4ZWN1dG9yJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdAYXJ0c3Rlc2gvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHtGZWF0dXJlTGlrZX0gZnJvbSBcIm9sL0ZlYXR1cmVcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERyYXdpbmdTZXJ2aWNlIGltcGxlbWVudHMgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBkcmF3SW50ZXJhY3Rpb24/OiBEcmF3O1xuICBwcml2YXRlIG1hcD86IE1hcDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZURyYXdpbmcoKTtcbiAgICB0aGlzLm9ic2VydmVTZWxlY3RBcmVhKCk7XG4gICAgdGhpcy5vYnNlcnZlTWFwUmVuZGVyKCk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVTZWxlY3RBcmVhKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kKS5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICB0aGlzLnBvc3Rib3kubG9jayhNYXBDbGlja0V2ZW50KTtcbiAgICAgIHRoaXMucG9zdGJveS5maXJlQ2FsbGJhY2sobmV3IFN0YXJ0RHJhd2luZ0NvbW1hbmQoZXYudHlwZSwgZXYuc3R5bGUpLCAocikgPT4ge1xuICAgICAgICBpZiAoIXIpIHtcbiAgICAgICAgICBldi5maW5pc2gobmV3IERpY3Rpb25hcnk8SUlkZW50aWZpZWRbXT4oKSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFyZWEgPSBQb2x5Z29uTW9kZWwuZnJvbUdlb0pzb24oMSwgcikuZmVhdHVyZS5nZXRHZW9tZXRyeSgpITtcbiAgICAgICAgdGhpcy5wb3N0Ym95LmZpcmVDYWxsYmFjayhuZXcgR2V0RmVhdHVyZXNJbkFyZWFRdWVyeShhcmVhLCBldi5pZ25vcmUpLCAocmVzdWx0KSA9PiBldi5maW5pc2gocmVzdWx0KSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZURyYXdpbmcoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihTdGFydERyYXdpbmdDb21tYW5kKS5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICB0aGlzLmRyYXcoKGwpID0+IHtcbiAgICAgICAgaWYgKCFsIHx8ICF0aGlzLm1hcCkge1xuICAgICAgICAgIHRoaXMuY2xlYXJJbnRlcmFjdGlvbihsKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2FuY2VsU3ViID0gdGhpcy5vYnNlcnZlQ2FuY2VsYXRpb24oZXYsIGwpO1xuICAgICAgICB0aGlzLmRyYXdJbnRlcmFjdGlvbiA9IHRoaXMucG9zdGJveS5leGVjKG5ldyBHZW5lcmF0ZURyYXdFeGVjdXRvcihsLCBldi5zdHlsZSwgZXYudHlwZSkpITtcbiAgICAgICAgdGhpcy5tYXA/LmFkZEludGVyYWN0aW9uKHRoaXMuZHJhd0ludGVyYWN0aW9uKTtcbiAgICAgICAgdGhpcy5kcmF3SW50ZXJhY3Rpb24ub24oJ2RyYXdlbmQnLCAoZXZ0OiBEcmF3RXZlbnQpID0+IHtcbiAgICAgICAgICBjYW5jZWxTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB0aGlzLm9uRW5kKGV2dCwgZXYsIGwpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkVuZChldnQ6IERyYXdFdmVudCwgY29tbWFuZDogU3RhcnREcmF3aW5nQ29tbWFuZCwgbGF5ZXI6IExheWVyPFNvdXJjZTxGZWF0dXJlTGlrZT4+KTogdm9pZCB7XG4gICAgY29tbWFuZC5maW5pc2goXG4gICAgICBjb21tYW5kLmZvcm1hdCA9PT0gRmVhdHVyZU91dHB1dEZvcm1hdC5HZW9Kc29uXG4gICAgICAgID8gbmV3IEdlb0pTT04oKS53cml0ZUZlYXR1cmUoZXZ0LmZlYXR1cmUpXG4gICAgICAgIDogY29tbWFuZC5mb3JtYXQgPT09IEZlYXR1cmVPdXRwdXRGb3JtYXQuV0tUXG4gICAgICAgID8gbmV3IFdLVCgpLndyaXRlRmVhdHVyZShldnQuZmVhdHVyZSlcbiAgICAgICAgOiBuZXcgR2VvSlNPTigpLndyaXRlR2VvbWV0cnkoZXZ0LmZlYXR1cmUuZ2V0R2VvbWV0cnkoKSEpLFxuICAgICk7XG4gICAgdGhpcy5jbGVhckludGVyYWN0aW9uKGxheWVyKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcFJlbmRlcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKE1hcFJlbmRlcmVkRXZlbnQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgdGhpcy5tYXAgPSBtLm1hcDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhdyhhY3Rpb246IChsYXllcjogTGF5ZXI8VmVjdG9yU291cmNlPGFueT4+IHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveS5maXJlQ2FsbGJhY2sobmV3IEdldExheWVyUXVlcnkoTWFwQ29uc3RhbnRzLkRyYXdpbmdMYXllcklkKSwgKGwpID0+IGFjdGlvbihsKSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVDYW5jZWxhdGlvbihldjogU3RhcnREcmF3aW5nQ29tbWFuZCwgbGF5ZXI6IExheWVyPFZlY3RvclNvdXJjZTxhbnk+PiB8IG51bGwpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWIoQ2FuY2VsRHJhd2luZ0NvbW1hbmQpXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGV2LmZpbmlzaChudWxsKTtcbiAgICAgICAgdGhpcy5jbGVhckludGVyYWN0aW9uKGxheWVyKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckludGVyYWN0aW9uKGxheWVyOiBMYXllcjxTb3VyY2U8RmVhdHVyZUxpa2U+PiB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoISF0aGlzLmRyYXdJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5tYXA/LnJlbW92ZUludGVyYWN0aW9uKHRoaXMuZHJhd0ludGVyYWN0aW9uKTtcbiAgICAgIGxheWVyPy5zZXRTb3VyY2UobmV3IFNvdXJjZSh7fSkpO1xuICAgIH1cbiAgICB0aGlzLnBvc3Rib3kudW5sb2NrKE1hcENsaWNrRXZlbnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5wb3N0Ym95LmZpcmUobmV3IERyYXdpbmdGaW5pc2hlZEV2ZW50KCkpLCAzMDApO1xuICB9XG59XG4iXX0=
@@ -1,105 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Modify, Translate } from 'ol/interaction';
3
- import { Collection } from 'ol';
4
- import { MapRenderedEvent } from '../../messages';
5
- import { FeatureOutputFormat } from '../../models';
6
- import { GeoJSON, WKT } from 'ol/format';
7
- import { GetLayerQuery } from '../../messages/queries/get-layer.query';
8
- import { MapConstants } from '../../models/map.constants';
9
- import { first } from 'rxjs/operators';
10
- import { CancelFeatureModificationCommand } from '../../messages/commands/cancel-feature-modification.command';
11
- import { ModifyFeatureCommand } from '../../messages/commands/modify-feature.command';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "../map-postboy.service";
14
- export class FeatureModificationService {
15
- postboy;
16
- modify;
17
- translate;
18
- map;
19
- constructor(postboy) {
20
- this.postboy = postboy;
21
- }
22
- up() {
23
- this.observeModification();
24
- this.observeMapRender();
25
- }
26
- observeModification() {
27
- this.postboy.sub(ModifyFeatureCommand).subscribe((ev) => {
28
- this.defineLayer((l) => {
29
- if (!l || !this.map) {
30
- this.clearInteraction(l);
31
- return;
32
- }
33
- this.observeCancelation(ev, l);
34
- this.initFeature(l, ev.model.feature);
35
- this.addModify(ev);
36
- if (ev.draggable)
37
- this.addDragging(ev);
38
- });
39
- });
40
- }
41
- initFeature(layer, feature) {
42
- layer.getSource()?.clear();
43
- layer.getSource()?.addFeature(feature);
44
- }
45
- addModify(command) {
46
- this.modify = new Modify({
47
- features: new Collection([command.model.feature]),
48
- style: command.style,
49
- });
50
- this.modify.on('modifyend', () => {
51
- this.onModified(command);
52
- command.model.feature.changed();
53
- });
54
- this.map?.addInteraction(this.modify);
55
- }
56
- addDragging(command) {
57
- this.translate = new Translate({
58
- features: new Collection([command.model.feature]),
59
- condition: (ev) => {
60
- const clone = command.model.feature.clone();
61
- clone.getGeometry()?.scale(0.999);
62
- return clone.getGeometry().intersectsCoordinate(ev.coordinate);
63
- },
64
- });
65
- this.translate.on('translateend', () => this.onModified(command));
66
- this.map?.addInteraction(this.translate);
67
- }
68
- onModified(command) {
69
- command.next(command.format === FeatureOutputFormat.GeoJson
70
- ? new GeoJSON().writeFeature(command.model.feature)
71
- : command.format === FeatureOutputFormat.WKT
72
- ? new WKT().writeFeature(command.model.feature)
73
- : new GeoJSON().writeGeometry(command.model.feature.getGeometry()));
74
- }
75
- observeMapRender() {
76
- this.postboy.sub(MapRenderedEvent).subscribe((m) => {
77
- this.map = m.map;
78
- });
79
- }
80
- defineLayer(action) {
81
- this.postboy.fireCallback(new GetLayerQuery(MapConstants.DrawingLayerId), (l) => action(l));
82
- }
83
- observeCancelation(ev, layer) {
84
- return this.postboy
85
- .sub(CancelFeatureModificationCommand)
86
- .pipe(first())
87
- .subscribe(() => {
88
- ev.finish(null);
89
- this.clearInteraction(layer);
90
- });
91
- }
92
- clearInteraction(layer) {
93
- layer?.getSource()?.clear();
94
- if (this.modify)
95
- this.map?.removeInteraction(this.modify);
96
- if (this.translate)
97
- this.map?.removeInteraction(this.translate);
98
- }
99
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeatureModificationService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
100
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeatureModificationService });
101
- }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeatureModificationService, decorators: [{
103
- type: Injectable
104
- }], ctorParameters: () => [{ type: i1.MapPostboyService }] });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tb2RpZmljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL2RyYXdpbmcvZmVhdHVyZS1tb2RpZmljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxJQUFJLENBQUM7QUFFOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSW5ELE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7QUFJdEYsTUFBTSxPQUFPLDBCQUEwQjtJQUtqQjtJQUpaLE1BQU0sQ0FBVTtJQUNoQixTQUFTLENBQWE7SUFDdEIsR0FBRyxDQUFPO0lBRWxCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFF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QUFnQixDQUFDLEtBQXdDO1FBQy9ELEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUQsSUFBSSxJQUFJLENBQUMsU0FBUztZQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7d0dBM0ZVLDBCQUEwQjs0R0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgTW9kaWZ5LCBUcmFuc2xhdGUgfSBmcm9tICdvbC9pbnRlcmFjdGlvbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBGZWF0dXJlLCBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IEZlYXR1cmVPdXRwdXRGb3JtYXQgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIExheWVyIH0gZnJvbSAnb2wvbGF5ZXInO1xuaW1wb3J0IFZlY3RvclNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBHZW9KU09OLCBXS1QgfSBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IHsgR2V0TGF5ZXJRdWVyeSB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWxheWVyLnF1ZXJ5JztcbmltcG9ydCB7IE1hcENvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9tYXAuY29uc3RhbnRzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgU291cmNlIH0gZnJvbSAnb2wvc291cmNlJztcbmltcG9ydCB7IENhbmNlbEZlYXR1cmVNb2RpZmljYXRpb25Db21tYW5kIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvY2FuY2VsLWZlYXR1cmUtbW9kaWZpY2F0aW9uLmNvbW1hbmQnO1xuaW1wb3J0IHsgTW9kaWZ5RmVhdHVyZUNvbW1hbmQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9tb2RpZnktZmVhdHVyZS5jb21tYW5kJztcbmltcG9ydCB7RmVhdHVyZUxpa2V9IGZyb20gXCJvbC9GZWF0dXJlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGZWF0dXJlTW9kaWZpY2F0aW9uU2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgbW9kaWZ5PzogTW9kaWZ5O1xuICBwcml2YXRlIHRyYW5zbGF0ZT86IFRyYW5zbGF0ZTtcbiAgcHJpdmF0ZSBtYXA/OiBNYXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVNb2RpZmljYXRpb24oKTtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1vZGlmaWNhdGlvbigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKE1vZGlmeUZlYXR1cmVDb21tYW5kKS5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICB0aGlzLmRlZmluZUxheWVyKChsKSA9PiB7XG4gICAgICAgIGlmICghbCB8fCAhdGhpcy5tYXApIHtcbiAgICAgICAgICB0aGlzLmNsZWFySW50ZXJhY3Rpb24obCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub2JzZXJ2ZUNhbmNlbGF0aW9uKGV2LCBsKTtcbiAgICAgICAgdGhpcy5pbml0RmVhdHVyZShsLCBldi5tb2RlbC5mZWF0dXJlKTtcbiAgICAgICAgdGhpcy5hZGRNb2RpZnkoZXYpO1xuICAgICAgICBpZiAoZXYuZHJhZ2dhYmxlKSB0aGlzLmFkZERyYWdnaW5nKGV2KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RmVhdHVyZShsYXllcjogTGF5ZXI8VmVjdG9yU291cmNlPEZlYXR1cmVMaWtlPj4sIGZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+KTogdm9pZCB7XG4gICAgbGF5ZXIuZ2V0U291cmNlKCk/LmNsZWFyKCk7XG4gICAgbGF5ZXIuZ2V0U291cmNlKCk/LmFkZEZlYXR1cmUoZmVhdHVyZSk7XG4gIH1cblxuICBwcml2YXRlIGFkZE1vZGlmeShjb21tYW5kOiBNb2RpZnlGZWF0dXJlQ29tbWFuZCk6IHZvaWQge1xuICAgIHRoaXMubW9kaWZ5ID0gbmV3IE1vZGlmeSh7XG4gICAgICBmZWF0dXJlczogbmV3IENvbGxlY3Rpb24oW2NvbW1hbmQubW9kZWwuZmVhdHVyZV0pLFxuICAgICAgc3R5bGU6IGNvbW1hbmQuc3R5bGUsXG4gICAgfSk7XG4gICAgdGhpcy5tb2RpZnkub24oJ21vZGlmeWVuZCcsICgpID0+IHtcbiAgICAgIHRoaXMub25Nb2RpZmllZChjb21tYW5kKTtcbiAgICAgIGNvbW1hbmQubW9kZWwuZmVhdHVyZS5jaGFuZ2VkKCk7XG4gICAgfSk7XG4gICAgdGhpcy5tYXA/LmFkZEludGVyYWN0aW9uKHRoaXMubW9kaWZ5KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRHJhZ2dpbmcoY29tbWFuZDogTW9kaWZ5RmVhdHVyZUNvbW1hbmQpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zbGF0ZSA9IG5ldyBUcmFuc2xhdGUoe1xuICAgICAgZmVhdHVyZXM6IG5ldyBDb2xsZWN0aW9uKFtjb21tYW5kLm1vZGVsLmZlYXR1cmVdKSxcbiAgICAgIGNvbmRpdGlvbjogKGV2KSA9PiB7XG4gICAgICAgIGNvbnN0IGNsb25lID0gY29tbWFuZC5tb2RlbC5mZWF0dXJlLmNsb25lKCk7XG4gICAgICAgIGNsb25lLmdldEdlb21ldHJ5KCk/LnNjYWxlKDAuOTk5KTtcbiAgICAgICAgcmV0dXJuIGNsb25lLmdldEdlb21ldHJ5KCkhLmludGVyc2VjdHNDb29yZGluYXRlKGV2LmNvb3JkaW5hdGUpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLnRyYW5zbGF0ZS5vbigndHJhbnNsYXRlZW5kJywgKCkgPT4gdGhpcy5vbk1vZGlmaWVkKGNvbW1hbmQpKTtcbiAgICB0aGlzLm1hcD8uYWRkSW50ZXJhY3Rpb24odGhpcy50cmFuc2xhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vZGlmaWVkKGNvbW1hbmQ6IE1vZGlmeUZlYXR1cmVDb21tYW5kKTogdm9pZCB7XG4gICAgY29tbWFuZC5uZXh0KFxuICAgICAgY29tbWFuZC5mb3JtYXQgPT09IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvblxuICAgICAgICA/IG5ldyBHZW9KU09OKCkud3JpdGVGZWF0dXJlKGNvbW1hbmQubW9kZWwuZmVhdHVyZSlcbiAgICAgICAgOiBjb21tYW5kLmZvcm1hdCA9PT0gRmVhdHVyZU91dHB1dEZvcm1hdC5XS1RcbiAgICAgICAgPyBuZXcgV0tUKCkud3JpdGVGZWF0dXJlKGNvbW1hbmQubW9kZWwuZmVhdHVyZSlcbiAgICAgICAgOiBuZXcgR2VvSlNPTigpLndyaXRlR2VvbWV0cnkoY29tbWFuZC5tb2RlbC5mZWF0dXJlLmdldEdlb21ldHJ5KCkhKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoTWFwUmVuZGVyZWRFdmVudCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWZpbmVMYXllcihhY3Rpb246IChsYXllcjogTGF5ZXI8VmVjdG9yU291cmNlPGFueT4+IHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveS5maXJlQ2FsbGJhY2sobmV3IEdldExheWVyUXVlcnkoTWFwQ29uc3RhbnRzLkRyYXdpbmdMYXllcklkKSwgKGwpID0+IGFjdGlvbihsKSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVDYW5jZWxhdGlvbihldjogTW9kaWZ5RmVhdHVyZUNvbW1hbmQsIGxheWVyOiBMYXllcjxWZWN0b3JTb3VyY2U8YW55Pj4gfCBudWxsKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5wb3N0Ym95XG4gICAgICAuc3ViKENhbmNlbEZlYXR1cmVNb2RpZmljYXRpb25Db21tYW5kKVxuICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBldi5maW5pc2gobnVsbCk7XG4gICAgICAgIHRoaXMuY2xlYXJJbnRlcmFjdGlvbihsYXllcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJJbnRlcmFjdGlvbihsYXllcjogTGF5ZXI8U291cmNlPEZlYXR1cmVMaWtlPj4gfCBudWxsKTogdm9pZCB7XG4gICAgbGF5ZXI/LmdldFNvdXJjZSgpPy5jbGVhcigpO1xuICAgIGlmICh0aGlzLm1vZGlmeSkgdGhpcy5tYXA/LnJlbW92ZUludGVyYWN0aW9uKHRoaXMubW9kaWZ5KTtcbiAgICBpZiAodGhpcy50cmFuc2xhdGUpIHRoaXMubWFwPy5yZW1vdmVJbnRlcmFjdGlvbih0aGlzLnRyYW5zbGF0ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,77 +0,0 @@
1
- import { LineString, Point } from 'ol/geom';
2
- import * as Sphere from 'ol/sphere';
3
- export class FeatureService {
4
- constructor() { }
5
- static filterFeaturesInArea(query) {
6
- return query.features.filter((f) => FeatureService.booleanIntersects(query.area, f.getGeometry()));
7
- }
8
- static filterFeaturesInPoint(query) {
9
- return query.features.filter((f) => FeatureService.booleanIntersects(f.getGeometry(), new Point([query.lng, query.lat])));
10
- }
11
- static calculateArea(g) {
12
- if (!g)
13
- return 0;
14
- return Sphere.getArea(g, { projection: 'EPSG:4326' });
15
- }
16
- static polygonSelfIntersects(feature) {
17
- if (feature.getGeometry().getType() !== 'Polygon')
18
- return false;
19
- let intersections = 0;
20
- const segments = FeatureService.getSegmentsFromCoordinates(feature.getGeometry());
21
- for (let i = 0; i < segments.length; i++) {
22
- for (let z = i + 1; z < segments.length; z++) {
23
- if (!intersections && this.segmentIntersection(segments[i].getCoordinates(), segments[z].getCoordinates())) {
24
- intersections++;
25
- }
26
- }
27
- }
28
- return intersections !== 0;
29
- }
30
- static booleanIntersects(g1, g2) {
31
- if (g2.getType() === 'Point')
32
- return g1.intersectsCoordinate(g2.getCoordinates());
33
- if (g2.getType() === 'Circle')
34
- return g1.intersectsCoordinate(g2.getCenter());
35
- if (g2.getType() === 'Polygon')
36
- return g1.intersectsCoordinate(g2.getInteriorPoint().getCoordinates());
37
- return false;
38
- }
39
- static getSegmentsFromCoordinates(geom) {
40
- if (!geom)
41
- return [];
42
- const coords = geom.getCoordinates();
43
- const line = new LineString(coords[0]);
44
- const segments = [];
45
- line.forEachSegment((s1, s2) => {
46
- const l = new LineString([s1, s2]);
47
- l.scale(0.999); // bug of the OL, as I see
48
- segments.push(l);
49
- });
50
- return segments;
51
- }
52
- static segmentIntersection(s1, s2) {
53
- const a = s1[0], b = s1[1], c = s2[0], d = s2[1];
54
- const o1 = this.orientation(a, b, c);
55
- const o2 = this.orientation(a, b, d);
56
- const o3 = this.orientation(c, d, a);
57
- const o4 = this.orientation(c, d, b);
58
- return ((o1 != o2 && o3 != o4) ||
59
- (o1 == 0 && this.onSegment(a, d, b)) ||
60
- (o2 == 0 && this.onSegment(a, d, b)) ||
61
- (o3 == 0 && this.onSegment(d, a, d)) ||
62
- (o4 == 0 && this.onSegment(d, b, d)));
63
- }
64
- static orientation(p, q, r) {
65
- const val = (q[1] - p[1]) * (r[0] - q[0]) - (q[0] - p[0]) * (r[1] - q[1]);
66
- if (val == 0)
67
- return 0; // collinear
68
- return val > 0 ? 1 : 2; // clock or counterclock wise
69
- }
70
- static onSegment(p, q, r) {
71
- return (q[0] <= (p[0] > r[0] ? p[0] : r[0]) &&
72
- q[0] >= (p[0] < r[0] ? p[0] : r[0]) &&
73
- q[1] <= (p[1] > r[1] ? p[1] : r[1]) &&
74
- q[1] >= (p[1] < r[1] ? p[1] : r[1]));
75
- }
76
- }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZmVhdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0MsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUdsRixPQUFPLEtBQUssTUFBTSxNQUFNLFdBQVcsQ0FBQztBQUlwQyxNQUFNLE9BQU8sY0FBYztJQUN6QixnQkFBZSxDQUFDO0lBRVQsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEtBQW1DO1FBQ3BFLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFvQztRQUN0RSxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDakMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUcsRUFBRSxJQUFJLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDdEYsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQXVCO1FBQ2pELElBQUksQ0FBQyxDQUFDO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDakIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxNQUFNLENBQUMscUJBQXFCLENB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QUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FDTCxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN0QixDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3JDLENBQUM7SUFDSixDQUFDO0lBRU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFXLEVBQUUsQ0FBVyxFQUFFLENBQVc7UUFDOUQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUUsSUFBSSxHQUFHLElBQUksQ0FBQztZQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsWUFBWTtRQUNwQyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsNkJBQTZCO0lBQ3ZELENBQUM7SUFFTyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQVcsRUFBRSxDQUFXLEVBQUUsQ0FBVztRQUM1RCxPQUFPLENBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDcEMsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENpcmNsZSwgR2VvbWV0cnksIEdlb21ldHJ5Q29sbGVjdGlvbiwgTGluZVN0cmluZywgUG9pbnQgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCBQb2x5Z29uLCB7IGZyb21DaXJjbGUgfSBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCAqIGFzIFNwaGVyZSBmcm9tICdvbC9zcGhlcmUnO1xuaW1wb3J0IHsgRmlsdGVyRmVhdHVyZXNJbkFyZWFFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9maWx0ZXItZmVhdHVyZXMtaW4tYXJlYS5leGVjdXRvcic7XG5pbXBvcnQgeyBGaWx0ZXJGZWF0dXJlc0luUG9pbnRFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzJztcblxuZXhwb3J0IGNsYXNzIEZlYXR1cmVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBzdGF0aWMgZmlsdGVyRmVhdHVyZXNJbkFyZWEocXVlcnk6IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IpOiBGZWF0dXJlPEdlb21ldHJ5PltdIHtcbiAgICByZXR1cm4gcXVlcnkuZmVhdHVyZXMuZmlsdGVyKChmKSA9PiBGZWF0dXJlU2VydmljZS5ib29sZWFuSW50ZXJzZWN0cyhxdWVyeS5hcmVhLCBmLmdldEdlb21ldHJ5KCkhKSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZpbHRlckZlYXR1cmVzSW5Qb2ludChxdWVyeTogRmlsdGVyRmVhdHVyZXNJblBvaW50RXhlY3V0b3IpOiBGZWF0dXJlPEdlb21ldHJ5PltdIHtcbiAgICByZXR1cm4gcXVlcnkuZmVhdHVyZXMuZmlsdGVyKChmKSA9PlxuICAgICAgRmVhdHVyZVNlcnZpY2UuYm9vbGVhbkludGVyc2VjdHMoZi5nZXRHZW9tZXRyeSgpISwgbmV3IFBvaW50KFtxdWVyeS5sbmcsIHF1ZXJ5LmxhdF0pKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjYWxjdWxhdGVBcmVhKGc6IEdlb21ldHJ5IHwgdW5kZWZpbmVkKTogbnVtYmVyIHtcbiAgICBpZiAoIWcpIHJldHVybiAwO1xuICAgIHJldHVybiBTcGhlcmUuZ2V0QXJlYShnLCB7IHByb2plY3Rpb246ICdFUFNHOjQzMjYnIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwb2x5Z29uU2VsZkludGVyc2VjdHMoZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT4pOiBib29sZWFuIHtcbiAgICBpZiAoZmVhdHVyZS5nZXRHZW9tZXRyeSgpIS5nZXRUeXBlKCkgIT09ICdQb2x5Z29uJykgcmV0dXJuIGZhbHNlO1xuICAgIGxldCBpbnRlcnNlY3Rpb25zID0gMDtcbiAgICBjb25zdCBzZWdtZW50cyA9IEZlYXR1cmVTZXJ2aWNlLmdldFNlZ21lbnRzRnJvbUNvb3JkaW5hdGVzKGZlYXR1cmUuZ2V0R2VvbWV0cnkoKSEpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VnbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZvciAobGV0IHogPSBpICsgMTsgeiA8IHNlZ21lbnRzLmxlbmd0aDsgeisrKSB7XG4gICAgICAgIGlmICghaW50ZXJzZWN0aW9ucyAmJiB0aGlzLnNlZ21lbnRJbnRlcnNlY3Rpb24oc2VnbWVudHNbaV0uZ2V0Q29vcmRpbmF0ZXMoKSwgc2VnbWVudHNbel0uZ2V0Q29vcmRpbmF0ZXMoKSkpIHtcbiAgICAgICAgICBpbnRlcnNlY3Rpb25zKys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGludGVyc2VjdGlvbnMgIT09IDA7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBib29sZWFuSW50ZXJzZWN0cyhnMTogR2VvbWV0cnksIGcyOiBHZW9tZXRyeSk6IGJvb2xlYW4ge1xuICAgIGlmIChnMi5nZXRUeXBlKCkgPT09ICdQb2ludCcpIHJldHVybiBnMS5pbnRlcnNlY3RzQ29vcmRpbmF0ZSgoZzIgYXMgUG9pbnQpLmdldENvb3JkaW5hdGVzKCkpO1xuICAgIGlmIChnMi5nZXRUeXBlKCkgPT09ICdDaXJjbGUnKSByZXR1cm4gZzEuaW50ZXJzZWN0c0Nvb3JkaW5hdGUoKGcyIGFzIENpcmNsZSkuZ2V0Q2VudGVyKCkpO1xuICAgIGlmIChnMi5nZXRUeXBlKCkgPT09ICdQb2x5Z29uJykgcmV0dXJuIGcxLmludGVyc2VjdHNDb29yZGluYXRlKChnMiBhcyBQb2x5Z29uKS5nZXRJbnRlcmlvclBvaW50KCkuZ2V0Q29vcmRpbmF0ZXMoKSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0U2VnbWVudHNGcm9tQ29vcmRpbmF0ZXMoZ2VvbTogR2VvbWV0cnkpOiBMaW5lU3RyaW5nW10ge1xuICAgIGlmICghZ2VvbSkgcmV0dXJuIFtdO1xuICAgIGNvbnN0IGNvb3JkcyA9IChnZW9tIGFzIGFueSkuZ2V0Q29vcmRpbmF0ZXMoKTtcbiAgICBjb25zdCBsaW5lID0gbmV3IExpbmVTdHJpbmcoY29vcmRzWzBdKTtcbiAgICBjb25zdCBzZWdtZW50czogTGluZVN0cmluZ1tdID0gW107XG4gICAgbGluZS5mb3JFYWNoU2VnbWVudCgoczEsIHMyKSA9PiB7XG4gICAgICBjb25zdCBsID0gbmV3IExpbmVTdHJpbmcoW3MxLCBzMl0pO1xuICAgICAgbC5zY2FsZSgwLjk5OSk7IC8vIGJ1ZyBvZiB0aGUgT0wsIGFzIEkgc2VlXG4gICAgICBzZWdtZW50cy5wdXNoKGwpO1xuICAgIH0pO1xuICAgIHJldHVybiBzZWdtZW50cztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHNlZ21lbnRJbnRlcnNlY3Rpb24oczE6IG51bWJlcltdW10sIHMyOiBudW1iZXJbXVtdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYSA9IHMxWzBdLFxuICAgICAgYiA9IHMxWzFdLFxuICAgICAgYyA9IHMyWzBdLFxuICAgICAgZCA9IHMyWzFdO1xuICAgIGNvbnN0IG8xID0gdGhpcy5vcmllbnRhdGlvbihhLCBiLCBjKTtcbiAgICBjb25zdCBvMiA9IHRoaXMub3JpZW50YXRpb24oYSwgYiwgZCk7XG4gICAgY29uc3QgbzMgPSB0aGlzLm9yaWVudGF0aW9uKGMsIGQsIGEpO1xuICAgIGNvbnN0IG80ID0gdGhpcy5vcmllbnRhdGlvbihjLCBkLCBiKTtcbiAgICByZXR1cm4gKFxuICAgICAgKG8xICE9IG8yICYmIG8zICE9IG80KSB8fFxuICAgICAgKG8xID09IDAgJiYgdGhpcy5vblNlZ21lbnQoYSwgZCwgYikpIHx8XG4gICAgICAobzIgPT0gMCAmJiB0aGlzLm9uU2VnbWVudChhLCBkLCBiKSkgfHxcbiAgICAgIChvMyA9PSAwICYmIHRoaXMub25TZWdtZW50KGQsIGEsIGQpKSB8fFxuICAgICAgKG80ID09IDAgJiYgdGhpcy5vblNlZ21lbnQoZCwgYiwgZCkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG9yaWVudGF0aW9uKHA6IG51bWJlcltdLCBxOiBudW1iZXJbXSwgcjogbnVtYmVyW10pOiBudW1iZXIge1xuICAgIGNvbnN0IHZhbCA9IChxWzFdIC0gcFsxXSkgKiAoclswXSAtIHFbMF0pIC0gKHFbMF0gLSBwWzBdKSAqIChyWzFdIC0gcVsxXSk7XG4gICAgaWYgKHZhbCA9PSAwKSByZXR1cm4gMDsgLy8gY29sbGluZWFyXG4gICAgcmV0dXJuIHZhbCA+IDAgPyAxIDogMjsgLy8gY2xvY2sgb3IgY291bnRlcmNsb2NrIHdpc2VcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG9uU2VnbWVudChwOiBudW1iZXJbXSwgcTogbnVtYmVyW10sIHI6IG51bWJlcltdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHFbMF0gPD0gKHBbMF0gPiByWzBdID8gcFswXSA6IHJbMF0pICYmXG4gICAgICBxWzBdID49IChwWzBdIDwgclswXSA/IHBbMF0gOiByWzBdKSAmJlxuICAgICAgcVsxXSA8PSAocFsxXSA+IHJbMV0gPyBwWzFdIDogclsxXSkgJiZcbiAgICAgIHFbMV0gPj0gKHBbMV0gPCByWzFdID8gcFsxXSA6IHJbMV0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,55 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { MapRenderedEvent } from '../messages';
3
- import { MapClickEvent } from '../messages/events/map-click.event';
4
- import { MapConstants } from '../models/map.constants';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./map-postboy.service";
7
- export class MapClickService {
8
- postboy;
9
- map;
10
- constructor(postboy) {
11
- this.postboy = postboy;
12
- }
13
- up() {
14
- this.observeMapRender();
15
- }
16
- onClick(ev) {
17
- const model = new MapClickEvent(ev.coordinate, {}, {});
18
- this.map?.forEachFeatureAtPixel(ev.pixel, (f, l) => {
19
- this.getFeatureCollectionWithInner([f])
20
- .filter((f) => f.getId() != null && !!l)
21
- .forEach((fs) => {
22
- let layerName = l.get('name');
23
- if (!model.entities[layerName])
24
- model.entities[layerName] = [];
25
- if (!model.features[layerName])
26
- model.features[layerName] = [];
27
- model.entities[layerName].push({ id: fs.getId(), ...fs.get(MapConstants.FeatureInfo) });
28
- model.features[layerName].push(fs);
29
- });
30
- });
31
- return model;
32
- }
33
- observeMapRender() {
34
- this.postboy.sub(MapRenderedEvent).subscribe((m) => {
35
- this.map = m.map;
36
- this.map?.on('singleclick', (e) => {
37
- this.postboy.fire(this.onClick(e));
38
- });
39
- });
40
- }
41
- getFeatureCollectionWithInner(features) {
42
- const result = [];
43
- features?.forEach((f) => {
44
- const innerFeatures = f.get('features');
45
- innerFeatures?.length ? result.push(...innerFeatures) : result.push(f);
46
- });
47
- return result;
48
- }
49
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MapClickService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
50
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MapClickService });
51
- }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MapClickService, decorators: [{
53
- type: Injectable
54
- }], ctorParameters: () => [{ type: i1.MapPostboyService }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNsaWNrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9tYXAtY2xpY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFHdkQsTUFBTSxPQUFPLGVBQWU7SUFHTjtJQUZaLEdBQUcsQ0FBTztJQUVsQixZQUFvQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUFHLENBQUM7SUFFbEQsRUFBRTtRQUNBLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPLENBQUMsRUFBaUM7UUFDdkMsTUFBTSxLQUFLLEdBQWtCLElBQUksYUFBYSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFzQixDQUFDLENBQUM7aUJBQ3pELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUN2QyxPQUFPLENBQUMsQ0FBQyxFQUFxQixFQUFFLEVBQUU7Z0JBQ2pDLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztvQkFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDL0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO29CQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUMvRCxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3pGLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNqRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDakIsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBa0MsQ0FBQyxDQUFDLENBQUM7WUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyw2QkFBNkIsQ0FBQyxRQUE2QjtRQUNqRSxNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBQ3ZDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0QixNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBd0IsQ0FBQztZQUMvRCxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO3dHQXpDVSxlQUFlOzRHQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBGZWF0dXJlLCBNYXAsIE1hcEJyb3dzZXJFdmVudCB9IGZyb20gJ29sJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBNYXBDbGlja0V2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1jbGljay5ldmVudCc7XG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFwQ2xpY2tTZXJ2aWNlIGltcGxlbWVudHMgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtYXA/OiBNYXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgfVxuXG4gIG9uQ2xpY2soZXY6IE1hcEJyb3dzZXJFdmVudDxQb2ludGVyRXZlbnQ+KTogTWFwQ2xpY2tFdmVudCB7XG4gICAgY29uc3QgbW9kZWw6IE1hcENsaWNrRXZlbnQgPSBuZXcgTWFwQ2xpY2tFdmVudChldi5jb29yZGluYXRlLCB7fSwge30pO1xuICAgIHRoaXMubWFwPy5mb3JFYWNoRmVhdHVyZUF0UGl4ZWwoZXYucGl4ZWwsIChmLCBsKSA9PiB7XG4gICAgICB0aGlzLmdldEZlYXR1cmVDb2xsZWN0aW9uV2l0aElubmVyKFtmIGFzIEZlYXR1cmU8R2VvbWV0cnk+XSlcbiAgICAgICAgLmZpbHRlcigoZikgPT4gZi5nZXRJZCgpICE9IG51bGwgJiYgISFsKVxuICAgICAgICAuZm9yRWFjaCgoZnM6IEZlYXR1cmU8R2VvbWV0cnk+KSA9PiB7XG4gICAgICAgICAgbGV0IGxheWVyTmFtZSA9IGwuZ2V0KCduYW1lJyk7XG4gICAgICAgICAgaWYgKCFtb2RlbC5lbnRpdGllc1tsYXllck5hbWVdKSBtb2RlbC5lbnRpdGllc1tsYXllck5hbWVdID0gW107XG4gICAgICAgICAgaWYgKCFtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdKSBtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdID0gW107XG4gICAgICAgICAgbW9kZWwuZW50aXRpZXNbbGF5ZXJOYW1lXS5wdXNoKHsgaWQ6IGZzLmdldElkKCkhLCAuLi5mcy5nZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvKSB9KTtcbiAgICAgICAgICBtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdLnB1c2goZnMpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVNYXBSZW5kZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihNYXBSZW5kZXJlZEV2ZW50KS5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgICB0aGlzLm1hcD8ub24oJ3NpbmdsZWNsaWNrJywgKGUpID0+IHtcbiAgICAgICAgdGhpcy5wb3N0Ym95LmZpcmUodGhpcy5vbkNsaWNrKGUgYXMgTWFwQnJvd3NlckV2ZW50PFBvaW50ZXJFdmVudD4pKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGZWF0dXJlQ29sbGVjdGlvbldpdGhJbm5lcihmZWF0dXJlczogRmVhdHVyZTxHZW9tZXRyeT5bXSk6IEZlYXR1cmU8R2VvbWV0cnk+W10ge1xuICAgIGNvbnN0IHJlc3VsdDogRmVhdHVyZTxHZW9tZXRyeT5bXSA9IFtdO1xuICAgIGZlYXR1cmVzPy5mb3JFYWNoKChmKSA9PiB7XG4gICAgICBjb25zdCBpbm5lckZlYXR1cmVzID0gZi5nZXQoJ2ZlYXR1cmVzJykgYXMgRmVhdHVyZTxHZW9tZXRyeT5bXTtcbiAgICAgIGlubmVyRmVhdHVyZXM/Lmxlbmd0aCA/IHJlc3VsdC5wdXNoKC4uLmlubmVyRmVhdHVyZXMpIDogcmVzdWx0LnB1c2goZik7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19