@artstesh/maps 5.1.8 → 6.0.2

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 (338) hide show
  1. package/README.md +13 -13
  2. package/dist/README.md +24 -24
  3. package/dist/esm2022/map/common/destructible.component.mjs +18 -18
  4. package/dist/esm2022/map/common/id.generator.mjs +14 -14
  5. package/dist/esm2022/map/helpers/index.mjs +4 -4
  6. package/dist/esm2022/map/helpers/marker-style.helper.mjs +54 -54
  7. package/dist/esm2022/map/helpers/polygon-style.helper.mjs +53 -53
  8. package/dist/esm2022/map/helpers/stringify-feature.helper.mjs +61 -61
  9. package/dist/esm2022/map/helpers/text-style.helper.mjs +24 -24
  10. package/dist/esm2022/map/map-plate/controls/index.mjs +2 -2
  11. package/dist/esm2022/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +69 -69
  12. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +12 -12
  13. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +115 -115
  14. package/dist/esm2022/map/map-plate/features/index.mjs +2 -2
  15. package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +52 -52
  16. package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +52 -52
  17. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -59
  18. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +60 -60
  19. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +38 -38
  20. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +144 -144
  21. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.component.mjs +52 -52
  22. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +28 -28
  23. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +111 -111
  24. package/dist/esm2022/map/map-plate/layers/index.mjs +7 -7
  25. package/dist/esm2022/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +57 -57
  26. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.component.mjs +52 -52
  27. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +50 -50
  28. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +119 -119
  29. package/dist/esm2022/map/map-plate/map-plate.component.mjs +102 -102
  30. package/dist/esm2022/map/map-plate/map-plate.factory.service.mjs +27 -27
  31. package/dist/esm2022/map/map-plate/tooltips/index.mjs +2 -2
  32. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.component.mjs +81 -81
  33. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +30 -30
  34. package/dist/esm2022/map/map.module.mjs +63 -63
  35. package/dist/esm2022/map/messages/commands/add-control.command.mjs +12 -12
  36. package/dist/esm2022/map/messages/commands/add-layer.command.mjs +12 -12
  37. package/dist/esm2022/map/messages/commands/add-tile.command.mjs +12 -12
  38. package/dist/esm2022/map/messages/commands/cancel-drawing.command.mjs +7 -7
  39. package/dist/esm2022/map/messages/commands/cancel-feature-modification.command.mjs +7 -7
  40. package/dist/esm2022/map/messages/commands/close-tooltip.command.mjs +12 -12
  41. package/dist/esm2022/map/messages/commands/draw-selection-area.command.mjs +16 -16
  42. package/dist/esm2022/map/messages/commands/fit-to-features.command.mjs +14 -14
  43. package/dist/esm2022/map/messages/commands/fit-to-polygons.command.mjs +14 -14
  44. package/dist/esm2022/map/messages/commands/modify-feature.command.mjs +17 -17
  45. package/dist/esm2022/map/messages/commands/place-layer-features.command.mjs +14 -14
  46. package/dist/esm2022/map/messages/commands/remove-control.command.mjs +12 -12
  47. package/dist/esm2022/map/messages/commands/remove-layer.command.mjs +12 -12
  48. package/dist/esm2022/map/messages/commands/remove-tile.command.mjs +12 -12
  49. package/dist/esm2022/map/messages/commands/set-map-center.command.mjs +25 -25
  50. package/dist/esm2022/map/messages/commands/start-drawing.command.mjs +17 -17
  51. package/dist/esm2022/map/messages/events/drawing-finished.event.mjs +10 -10
  52. package/dist/esm2022/map/messages/events/map-click.event.mjs +16 -16
  53. package/dist/esm2022/map/messages/events/map-move-end.event.mjs +14 -14
  54. package/dist/esm2022/map/messages/events/map-rendered.event.mjs +12 -12
  55. package/dist/esm2022/map/messages/executors/calculate-area.executor.mjs +12 -12
  56. package/dist/esm2022/map/messages/executors/filter-features-in-area.executor.mjs +14 -14
  57. package/dist/esm2022/map/messages/executors/generate-draw.executor.mjs +16 -16
  58. package/dist/esm2022/map/messages/executors/generate-zoom-control.executor.mjs +12 -12
  59. package/dist/esm2022/map/messages/index.mjs +14 -14
  60. package/dist/esm2022/map/messages/queries/get-features-in-area.query.mjs +14 -14
  61. package/dist/esm2022/map/messages/queries/get-layer.query.mjs +12 -12
  62. package/dist/esm2022/map/models/drawing-type.enum.mjs +7 -7
  63. package/dist/esm2022/map/models/feature-format.enum.mjs +5 -5
  64. package/dist/esm2022/map/models/i-identified.mjs +1 -1
  65. package/dist/esm2022/map/models/index.mjs +7 -7
  66. package/dist/esm2022/map/models/map-control.mjs +14 -14
  67. package/dist/esm2022/map/models/map-lyrs.enum.mjs +18 -18
  68. package/dist/esm2022/map/models/map-settings.mjs +50 -50
  69. package/dist/esm2022/map/models/map.constants.mjs +4 -4
  70. package/dist/esm2022/map/models/marker-model.mjs +28 -28
  71. package/dist/esm2022/map/models/polygon.model.mjs +32 -32
  72. package/dist/esm2022/map/public-api.mjs +15 -15
  73. package/dist/esm2022/map/services/controls/controls.service.mjs +39 -39
  74. package/dist/esm2022/map/services/drawing/drawing-generation.service.mjs +25 -25
  75. package/dist/esm2022/map/services/drawing/drawing.service.mjs +101 -101
  76. package/dist/esm2022/map/services/drawing/feature-modification.service.mjs +103 -103
  77. package/dist/esm2022/map/services/feature.service.mjs +21 -21
  78. package/dist/esm2022/map/services/map-click.service.mjs +55 -55
  79. package/dist/esm2022/map/services/map-feature.service.mjs +55 -55
  80. package/dist/esm2022/map/services/map-management.service.mjs +103 -103
  81. package/dist/esm2022/map/services/map-postboy.service.mjs +18 -18
  82. package/dist/esm2022/map/services/map-state.service.mjs +42 -42
  83. package/dist/esm2022/map/services/message-registrator.service.mjs +82 -82
  84. package/dist/esm2022/maps-components.mjs +4 -4
  85. package/dist/esm2022/public-api.mjs +4 -4
  86. package/dist/esm2022/src/map/common/destructible.component.mjs +18 -18
  87. package/dist/esm2022/src/map/common/id.generator.mjs +14 -14
  88. package/dist/esm2022/src/map/helpers/index.mjs +4 -4
  89. package/dist/esm2022/src/map/helpers/marker-style.helper.mjs +54 -54
  90. package/dist/esm2022/src/map/helpers/polygon-style.helper.mjs +53 -53
  91. package/dist/esm2022/src/map/helpers/stringify-feature.helper.mjs +61 -61
  92. package/dist/esm2022/src/map/helpers/text-style.helper.mjs +24 -24
  93. package/dist/esm2022/src/map/map-plate/controls/index.mjs +2 -2
  94. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +69 -69
  95. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +12 -12
  96. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +115 -115
  97. package/dist/esm2022/src/map/map-plate/features/index.mjs +2 -2
  98. package/dist/esm2022/src/map/map-plate/features/markers/markers.component.mjs +52 -52
  99. package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +52 -52
  100. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -59
  101. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +60 -60
  102. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +38 -38
  103. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +144 -144
  104. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +52 -52
  105. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +28 -28
  106. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +111 -111
  107. package/dist/esm2022/src/map/map-plate/layers/index.mjs +7 -7
  108. package/dist/esm2022/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +57 -57
  109. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +52 -52
  110. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +50 -50
  111. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +119 -119
  112. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +102 -102
  113. package/dist/esm2022/src/map/map-plate/map-plate.factory.service.mjs +27 -27
  114. package/dist/esm2022/src/map/map-plate/tooltips/index.mjs +2 -2
  115. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.component.mjs +81 -81
  116. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +30 -30
  117. package/dist/esm2022/src/map/map.module.mjs +63 -63
  118. package/dist/esm2022/src/map/maps-components-src-map.mjs +4 -4
  119. package/dist/esm2022/src/map/messages/commands/add-control.command.mjs +12 -12
  120. package/dist/esm2022/src/map/messages/commands/add-layer.command.mjs +12 -12
  121. package/dist/esm2022/src/map/messages/commands/add-tile.command.mjs +12 -12
  122. package/dist/esm2022/src/map/messages/commands/cancel-drawing.command.mjs +7 -7
  123. package/dist/esm2022/src/map/messages/commands/cancel-feature-modification.command.mjs +7 -7
  124. package/dist/esm2022/src/map/messages/commands/close-tooltip.command.mjs +12 -12
  125. package/dist/esm2022/src/map/messages/commands/draw-selection-area.command.mjs +16 -16
  126. package/dist/esm2022/src/map/messages/commands/fit-to-features.command.mjs +14 -14
  127. package/dist/esm2022/src/map/messages/commands/fit-to-polygons.command.mjs +14 -14
  128. package/dist/esm2022/src/map/messages/commands/modify-feature.command.mjs +17 -17
  129. package/dist/esm2022/src/map/messages/commands/place-layer-features.command.mjs +14 -14
  130. package/dist/esm2022/src/map/messages/commands/remove-control.command.mjs +12 -12
  131. package/dist/esm2022/src/map/messages/commands/remove-layer.command.mjs +12 -12
  132. package/dist/esm2022/src/map/messages/commands/remove-tile.command.mjs +12 -12
  133. package/dist/esm2022/src/map/messages/commands/set-map-center.command.mjs +25 -25
  134. package/dist/esm2022/src/map/messages/commands/start-drawing.command.mjs +17 -17
  135. package/dist/esm2022/src/map/messages/events/drawing-finished.event.mjs +10 -10
  136. package/dist/esm2022/src/map/messages/events/map-click.event.mjs +16 -16
  137. package/dist/esm2022/src/map/messages/events/map-move-end.event.mjs +14 -14
  138. package/dist/esm2022/src/map/messages/events/map-rendered.event.mjs +12 -12
  139. package/dist/esm2022/src/map/messages/executors/calculate-area.executor.mjs +12 -12
  140. package/dist/esm2022/src/map/messages/executors/filter-features-in-area.executor.mjs +14 -14
  141. package/dist/esm2022/src/map/messages/executors/generate-draw.executor.mjs +16 -16
  142. package/dist/esm2022/src/map/messages/executors/generate-zoom-control.executor.mjs +12 -12
  143. package/dist/esm2022/src/map/messages/index.mjs +14 -14
  144. package/dist/esm2022/src/map/messages/queries/get-features-in-area.query.mjs +14 -14
  145. package/dist/esm2022/src/map/messages/queries/get-layer.query.mjs +12 -12
  146. package/dist/esm2022/src/map/models/drawing-type.enum.mjs +7 -7
  147. package/dist/esm2022/src/map/models/feature-format.enum.mjs +5 -5
  148. package/dist/esm2022/src/map/models/i-identified.mjs +1 -1
  149. package/dist/esm2022/src/map/models/index.mjs +7 -7
  150. package/dist/esm2022/src/map/models/map-control.mjs +14 -14
  151. package/dist/esm2022/src/map/models/map-lyrs.enum.mjs +18 -18
  152. package/dist/esm2022/src/map/models/map-settings.mjs +50 -50
  153. package/dist/esm2022/src/map/models/map.constants.mjs +4 -4
  154. package/dist/esm2022/src/map/models/marker-model.mjs +28 -28
  155. package/dist/esm2022/src/map/models/polygon.model.mjs +32 -32
  156. package/dist/esm2022/src/map/public-api.mjs +15 -15
  157. package/dist/esm2022/src/map/services/controls/controls.service.mjs +39 -39
  158. package/dist/esm2022/src/map/services/drawing/drawing-generation.service.mjs +25 -25
  159. package/dist/esm2022/src/map/services/drawing/drawing.service.mjs +101 -101
  160. package/dist/esm2022/src/map/services/drawing/feature-modification.service.mjs +103 -103
  161. package/dist/esm2022/src/map/services/feature.service.mjs +21 -21
  162. package/dist/esm2022/src/map/services/map-click.service.mjs +55 -55
  163. package/dist/esm2022/src/map/services/map-feature.service.mjs +55 -55
  164. package/dist/esm2022/src/map/services/map-management.service.mjs +103 -103
  165. package/dist/esm2022/src/map/services/map-postboy.service.mjs +18 -18
  166. package/dist/esm2022/src/map/services/map-state.service.mjs +42 -42
  167. package/dist/esm2022/src/map/services/message-registrator.service.mjs +82 -82
  168. package/dist/fesm2022/maps-components-src-map.mjs +2460 -2460
  169. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  170. package/dist/fesm2022/maps-components.mjs +2462 -2462
  171. package/dist/fesm2022/maps-components.mjs.map +1 -1
  172. package/dist/index.d.ts +5 -5
  173. package/dist/map/common/destructible.component.d.ts +10 -10
  174. package/dist/map/common/id.generator.d.ts +4 -4
  175. package/dist/map/helpers/index.d.ts +4 -4
  176. package/dist/map/helpers/marker-style.helper.d.ts +33 -33
  177. package/dist/map/helpers/polygon-style.helper.d.ts +26 -26
  178. package/dist/map/helpers/stringify-feature.helper.d.ts +26 -26
  179. package/dist/map/helpers/text-style.helper.d.ts +15 -15
  180. package/dist/map/map-plate/controls/index.d.ts +2 -2
  181. package/dist/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +36 -36
  182. package/dist/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -5
  183. package/dist/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +85 -85
  184. package/dist/map/map-plate/features/index.d.ts +2 -2
  185. package/dist/map/map-plate/features/markers/markers.component.d.ts +26 -26
  186. package/dist/map/map-plate/features/polygons/polygons.component.d.ts +26 -26
  187. package/dist/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -11
  188. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +29 -29
  189. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +13 -13
  190. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +100 -100
  191. package/dist/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +22 -22
  192. package/dist/map/map-plate/layers/feature-layer/feature-layer.factory.d.ts +9 -9
  193. package/dist/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +81 -81
  194. package/dist/map/map-plate/layers/index.d.ts +7 -7
  195. package/dist/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +19 -19
  196. package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +21 -21
  197. package/dist/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -11
  198. package/dist/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +89 -89
  199. package/dist/map/map-plate/map-plate.component.d.ts +27 -27
  200. package/dist/map/map-plate/map-plate.factory.service.d.ts +8 -8
  201. package/dist/map/map-plate/tooltips/index.d.ts +2 -2
  202. package/dist/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +26 -26
  203. package/dist/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +11 -11
  204. package/dist/map/map.module.d.ts +17 -17
  205. package/dist/map/messages/commands/add-control.command.d.ts +8 -8
  206. package/dist/map/messages/commands/add-layer.command.d.ts +10 -10
  207. package/dist/map/messages/commands/add-tile.command.d.ts +9 -9
  208. package/dist/map/messages/commands/cancel-drawing.command.d.ts +5 -5
  209. package/dist/map/messages/commands/cancel-feature-modification.command.d.ts +5 -5
  210. package/dist/map/messages/commands/close-tooltip.command.d.ts +7 -7
  211. package/dist/map/messages/commands/draw-selection-area.command.d.ts +13 -13
  212. package/dist/map/messages/commands/fit-to-features.command.d.ts +10 -10
  213. package/dist/map/messages/commands/fit-to-polygons.command.d.ts +9 -9
  214. package/dist/map/messages/commands/modify-feature.command.d.ts +11 -11
  215. package/dist/map/messages/commands/place-layer-features.command.d.ts +10 -10
  216. package/dist/map/messages/commands/remove-control.command.d.ts +8 -8
  217. package/dist/map/messages/commands/remove-layer.command.d.ts +8 -8
  218. package/dist/map/messages/commands/remove-tile.command.d.ts +9 -9
  219. package/dist/map/messages/commands/set-map-center.command.d.ts +18 -18
  220. package/dist/map/messages/commands/start-drawing.command.d.ts +11 -11
  221. package/dist/map/messages/events/drawing-finished.event.d.ts +6 -6
  222. package/dist/map/messages/events/map-click.event.d.ts +20 -20
  223. package/dist/map/messages/events/map-move-end.event.d.ts +8 -8
  224. package/dist/map/messages/events/map-rendered.event.d.ts +8 -8
  225. package/dist/map/messages/executors/calculate-area.executor.d.ts +10 -10
  226. package/dist/map/messages/executors/filter-features-in-area.executor.d.ts +10 -10
  227. package/dist/map/messages/executors/generate-draw.executor.d.ts +14 -14
  228. package/dist/map/messages/executors/generate-zoom-control.executor.d.ts +9 -9
  229. package/dist/map/messages/index.d.ts +14 -14
  230. package/dist/map/messages/queries/get-features-in-area.query.d.ts +11 -11
  231. package/dist/map/messages/queries/get-layer.query.d.ts +10 -10
  232. package/dist/map/models/drawing-type.enum.d.ts +6 -6
  233. package/dist/map/models/feature-format.enum.d.ts +4 -4
  234. package/dist/map/models/i-identified.d.ts +3 -3
  235. package/dist/map/models/index.d.ts +7 -7
  236. package/dist/map/models/map-control.d.ts +13 -13
  237. package/dist/map/models/map-lyrs.enum.d.ts +10 -10
  238. package/dist/map/models/map-settings.d.ts +17 -17
  239. package/dist/map/models/map.constants.d.ts +4 -4
  240. package/dist/map/models/marker-model.d.ts +16 -16
  241. package/dist/map/models/polygon.model.d.ts +19 -19
  242. package/dist/map/public-api.d.ts +12 -12
  243. package/dist/map/services/controls/controls.service.d.ts +14 -14
  244. package/dist/map/services/drawing/drawing-generation.service.d.ts +6 -6
  245. package/dist/map/services/drawing/drawing.service.d.ts +19 -19
  246. package/dist/map/services/drawing/feature-modification.service.d.ts +22 -22
  247. package/dist/map/services/feature.service.d.ts +9 -9
  248. package/dist/map/services/map-click.service.d.ts +16 -16
  249. package/dist/map/services/map-feature.service.d.ts +16 -16
  250. package/dist/map/services/map-management.service.d.ts +20 -20
  251. package/dist/map/services/map-postboy.service.d.ts +7 -7
  252. package/dist/map/services/map-state.service.d.ts +13 -13
  253. package/dist/map/services/message-registrator.service.d.ts +17 -17
  254. package/dist/public-api.d.ts +1 -1
  255. package/dist/src/map/common/destructible.component.d.ts +10 -10
  256. package/dist/src/map/common/id.generator.d.ts +4 -4
  257. package/dist/src/map/helpers/index.d.ts +4 -4
  258. package/dist/src/map/helpers/marker-style.helper.d.ts +33 -33
  259. package/dist/src/map/helpers/polygon-style.helper.d.ts +26 -26
  260. package/dist/src/map/helpers/stringify-feature.helper.d.ts +26 -26
  261. package/dist/src/map/helpers/text-style.helper.d.ts +15 -15
  262. package/dist/src/map/index.d.ts +5 -5
  263. package/dist/src/map/map-plate/controls/index.d.ts +2 -2
  264. package/dist/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +36 -36
  265. package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -5
  266. package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +85 -85
  267. package/dist/src/map/map-plate/features/index.d.ts +2 -2
  268. package/dist/src/map/map-plate/features/markers/markers.component.d.ts +26 -26
  269. package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +26 -26
  270. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -11
  271. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +29 -29
  272. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +13 -13
  273. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +100 -100
  274. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +22 -22
  275. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.factory.d.ts +9 -9
  276. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +81 -81
  277. package/dist/src/map/map-plate/layers/index.d.ts +7 -7
  278. package/dist/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +19 -19
  279. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +21 -21
  280. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -11
  281. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +89 -89
  282. package/dist/src/map/map-plate/map-plate.component.d.ts +27 -27
  283. package/dist/src/map/map-plate/map-plate.factory.service.d.ts +8 -8
  284. package/dist/src/map/map-plate/tooltips/index.d.ts +2 -2
  285. package/dist/src/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +26 -26
  286. package/dist/src/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +11 -11
  287. package/dist/src/map/map.module.d.ts +17 -17
  288. package/dist/src/map/messages/commands/add-control.command.d.ts +8 -8
  289. package/dist/src/map/messages/commands/add-layer.command.d.ts +10 -10
  290. package/dist/src/map/messages/commands/add-tile.command.d.ts +9 -9
  291. package/dist/src/map/messages/commands/cancel-drawing.command.d.ts +5 -5
  292. package/dist/src/map/messages/commands/cancel-feature-modification.command.d.ts +5 -5
  293. package/dist/src/map/messages/commands/close-tooltip.command.d.ts +7 -7
  294. package/dist/src/map/messages/commands/draw-selection-area.command.d.ts +13 -13
  295. package/dist/src/map/messages/commands/fit-to-features.command.d.ts +10 -10
  296. package/dist/src/map/messages/commands/fit-to-polygons.command.d.ts +9 -9
  297. package/dist/src/map/messages/commands/modify-feature.command.d.ts +11 -11
  298. package/dist/src/map/messages/commands/place-layer-features.command.d.ts +10 -10
  299. package/dist/src/map/messages/commands/remove-control.command.d.ts +8 -8
  300. package/dist/src/map/messages/commands/remove-layer.command.d.ts +8 -8
  301. package/dist/src/map/messages/commands/remove-tile.command.d.ts +9 -9
  302. package/dist/src/map/messages/commands/set-map-center.command.d.ts +18 -18
  303. package/dist/src/map/messages/commands/start-drawing.command.d.ts +11 -11
  304. package/dist/src/map/messages/events/drawing-finished.event.d.ts +6 -6
  305. package/dist/src/map/messages/events/map-click.event.d.ts +20 -20
  306. package/dist/src/map/messages/events/map-move-end.event.d.ts +8 -8
  307. package/dist/src/map/messages/events/map-rendered.event.d.ts +8 -8
  308. package/dist/src/map/messages/executors/calculate-area.executor.d.ts +10 -10
  309. package/dist/src/map/messages/executors/filter-features-in-area.executor.d.ts +10 -10
  310. package/dist/src/map/messages/executors/generate-draw.executor.d.ts +14 -14
  311. package/dist/src/map/messages/executors/generate-zoom-control.executor.d.ts +9 -9
  312. package/dist/src/map/messages/index.d.ts +14 -14
  313. package/dist/src/map/messages/queries/get-features-in-area.query.d.ts +11 -11
  314. package/dist/src/map/messages/queries/get-layer.query.d.ts +10 -10
  315. package/dist/src/map/models/drawing-type.enum.d.ts +6 -6
  316. package/dist/src/map/models/feature-format.enum.d.ts +4 -4
  317. package/dist/src/map/models/i-identified.d.ts +3 -3
  318. package/dist/src/map/models/index.d.ts +7 -7
  319. package/dist/src/map/models/map-control.d.ts +13 -13
  320. package/dist/src/map/models/map-lyrs.enum.d.ts +10 -10
  321. package/dist/src/map/models/map-settings.d.ts +17 -17
  322. package/dist/src/map/models/map.constants.d.ts +4 -4
  323. package/dist/src/map/models/marker-model.d.ts +16 -16
  324. package/dist/src/map/models/polygon.model.d.ts +19 -19
  325. package/dist/src/map/public-api.d.ts +12 -12
  326. package/dist/src/map/services/controls/controls.service.d.ts +14 -14
  327. package/dist/src/map/services/drawing/drawing-generation.service.d.ts +6 -6
  328. package/dist/src/map/services/drawing/drawing.service.d.ts +19 -19
  329. package/dist/src/map/services/drawing/feature-modification.service.d.ts +22 -22
  330. package/dist/src/map/services/feature.service.d.ts +9 -9
  331. package/dist/src/map/services/map-click.service.d.ts +16 -16
  332. package/dist/src/map/services/map-feature.service.d.ts +16 -16
  333. package/dist/src/map/services/map-management.service.d.ts +20 -20
  334. package/dist/src/map/services/map-postboy.service.d.ts +7 -7
  335. package/dist/src/map/services/map-state.service.d.ts +13 -13
  336. package/dist/src/map/services/message-registrator.service.d.ts +17 -17
  337. package/package.json +23 -24
  338. package/dist/package.json +0 -35
@@ -1,112 +1,112 @@
1
- import { IdGenerator } from '../../../common/id.generator';
2
- /**
3
- * A layer that is responsible for showing and styling main features on the map, such as markers and polygons
4
- */
5
- export class FeatureLayerSettings {
6
- /**
7
- * The identifier of the field, it is autogenerated by default, but can be set manually
8
- */
9
- name = IdGenerator.get();
10
- /**
11
- * The priority of showing - layers with higher zIndex cover others in case of collisions
12
- */
13
- zIndex = 1;
14
- /**
15
- The maximum view zoom level (inclusive) at which this layer will be visible.
16
-
17
- @type {number}
18
- @default 19
19
- */
20
- maxZoom = 19;
21
- /**
22
- The minimum view zoom level (exclusive) at which this layer will be visible.
23
-
24
- @type {number}
25
- */
26
- minZoom = 0;
27
- /**
28
- * The styling definition of layer's features. The easiest way is to use {@link PolygonStyleHelper},{@link MarkerStyleHelper}
29
- */
30
- style;
31
- /**
32
- * Copies the given FeatureLayerSettings object
33
- *
34
- * @param {FeatureLayerSettings} model - The FeatureLayerSettings object to be copied
35
- * @returns {FeatureLayerSettings} - A copy of the FeatureLayerSettings object
36
- */
37
- static copy(model) {
38
- const result = new FeatureLayerSettings();
39
- result.name = model.name;
40
- result.maxZoom = model.maxZoom;
41
- result.minZoom = model.minZoom;
42
- result.zIndex = model.zIndex;
43
- result.style = model.style;
44
- return result;
45
- }
46
- /**
47
- * Sets the z-index value for the FeatureLayerSettings object.
48
- *
49
- * @param {number} zIndex - The new z-index value.
50
- * @return {FeatureLayerSettings} - The updated FeatureLayerSettings object.
51
- */
52
- setZIndex(zIndex) {
53
- return FeatureLayerSettings.copy({ ...this, zIndex });
54
- }
55
- /**
56
- * Sets the name of the FeatureLayerSettings.
57
- *
58
- * @param {string} name - The name to set for the FeatureLayerSettings.
59
- *
60
- * @return {FeatureLayerSettings} - The updated FeatureLayerSettings object with the new name.
61
- */
62
- setName(name) {
63
- return FeatureLayerSettings.copy({ ...this, name });
64
- }
65
- /**
66
- * Sets the maximum zoom level for the FeatureLayerSettings.
67
- *
68
- * @param {number} maxZoom - The maximum zoom level.
69
- * @return {FeatureLayerSettings} - The updated FeatureLayerSettings object.
70
- */
71
- setMaxZoom(maxZoom) {
72
- return FeatureLayerSettings.copy({ ...this, maxZoom });
73
- }
74
- /**
75
- * Sets the minimum zoom level for the feature layer.
76
- *
77
- * @param {number} minZoom The minimum zoom level to be set.
78
- * @returns {FeatureLayerSettings} The updated feature layer settings object.
79
- */
80
- setMinZoom(minZoom) {
81
- return FeatureLayerSettings.copy({ ...this, minZoom });
82
- }
83
- /**
84
- * Sets the style for the FeatureLayerSettings object.
85
- *
86
- * @param {Style | StyleFunction} style - The new style to set. It can be either a Style object or a StyleFunction.
87
- * @return {FeatureLayerSettings} - The updated FeatureLayerSettings object with the new style.
88
- */
89
- setStyle(style) {
90
- return FeatureLayerSettings.copy({ ...this, style });
91
- }
92
- /**
93
- * Checks if the given FeatureLayerSettings object is identical to the current object.
94
- *
95
- * @param {FeatureLayerSettings} model - The FeatureLayerSettings object to compare with.
96
- * @return {boolean} - Returns true if the given object is identical to the current object, otherwise false.
97
- */
98
- isSame(model) {
99
- if (this.maxZoom !== model.maxZoom)
100
- return false;
101
- if (this.minZoom !== model.minZoom)
102
- return false;
103
- if (this.zIndex !== model.zIndex)
104
- return false;
105
- if (this.name !== model.name)
106
- return false;
107
- if (this.style !== model.style)
108
- return false;
109
- return true;
110
- }
111
- }
1
+ import { IdGenerator } from '../../../common/id.generator';
2
+ /**
3
+ * A layer that is responsible for showing and styling main features on the map, such as markers and polygons
4
+ */
5
+ export class FeatureLayerSettings {
6
+ /**
7
+ * The identifier of the field, it is autogenerated by default, but can be set manually
8
+ */
9
+ name = IdGenerator.get();
10
+ /**
11
+ * The priority of showing - layers with higher zIndex cover others in case of collisions
12
+ */
13
+ zIndex = 1;
14
+ /**
15
+ The maximum view zoom level (inclusive) at which this layer will be visible.
16
+
17
+ @type {number}
18
+ @default 19
19
+ */
20
+ maxZoom = 19;
21
+ /**
22
+ The minimum view zoom level (exclusive) at which this layer will be visible.
23
+
24
+ @type {number}
25
+ */
26
+ minZoom = 0;
27
+ /**
28
+ * The styling definition of layer's features. The easiest way is to use {@link PolygonStyleHelper},{@link MarkerStyleHelper}
29
+ */
30
+ style;
31
+ /**
32
+ * Copies the given FeatureLayerSettings object
33
+ *
34
+ * @param {FeatureLayerSettings} model - The FeatureLayerSettings object to be copied
35
+ * @returns {FeatureLayerSettings} - A copy of the FeatureLayerSettings object
36
+ */
37
+ static copy(model) {
38
+ const result = new FeatureLayerSettings();
39
+ result.name = model.name;
40
+ result.maxZoom = model.maxZoom;
41
+ result.minZoom = model.minZoom;
42
+ result.zIndex = model.zIndex;
43
+ result.style = model.style;
44
+ return result;
45
+ }
46
+ /**
47
+ * Sets the z-index value for the FeatureLayerSettings object.
48
+ *
49
+ * @param {number} zIndex - The new z-index value.
50
+ * @return {FeatureLayerSettings} - The updated FeatureLayerSettings object.
51
+ */
52
+ setZIndex(zIndex) {
53
+ return FeatureLayerSettings.copy({ ...this, zIndex });
54
+ }
55
+ /**
56
+ * Sets the name of the FeatureLayerSettings.
57
+ *
58
+ * @param {string} name - The name to set for the FeatureLayerSettings.
59
+ *
60
+ * @return {FeatureLayerSettings} - The updated FeatureLayerSettings object with the new name.
61
+ */
62
+ setName(name) {
63
+ return FeatureLayerSettings.copy({ ...this, name });
64
+ }
65
+ /**
66
+ * Sets the maximum zoom level for the FeatureLayerSettings.
67
+ *
68
+ * @param {number} maxZoom - The maximum zoom level.
69
+ * @return {FeatureLayerSettings} - The updated FeatureLayerSettings object.
70
+ */
71
+ setMaxZoom(maxZoom) {
72
+ return FeatureLayerSettings.copy({ ...this, maxZoom });
73
+ }
74
+ /**
75
+ * Sets the minimum zoom level for the feature layer.
76
+ *
77
+ * @param {number} minZoom The minimum zoom level to be set.
78
+ * @returns {FeatureLayerSettings} The updated feature layer settings object.
79
+ */
80
+ setMinZoom(minZoom) {
81
+ return FeatureLayerSettings.copy({ ...this, minZoom });
82
+ }
83
+ /**
84
+ * Sets the style for the FeatureLayerSettings object.
85
+ *
86
+ * @param {Style | StyleFunction} style - The new style to set. It can be either a Style object or a StyleFunction.
87
+ * @return {FeatureLayerSettings} - The updated FeatureLayerSettings object with the new style.
88
+ */
89
+ setStyle(style) {
90
+ return FeatureLayerSettings.copy({ ...this, style });
91
+ }
92
+ /**
93
+ * Checks if the given FeatureLayerSettings object is identical to the current object.
94
+ *
95
+ * @param {FeatureLayerSettings} model - The FeatureLayerSettings object to compare with.
96
+ * @return {boolean} - Returns true if the given object is identical to the current object, otherwise false.
97
+ */
98
+ isSame(model) {
99
+ if (this.maxZoom !== model.maxZoom)
100
+ return false;
101
+ if (this.minZoom !== model.minZoom)
102
+ return false;
103
+ if (this.zIndex !== model.zIndex)
104
+ return false;
105
+ if (this.name !== model.name)
106
+ return false;
107
+ if (this.style !== model.style)
108
+ return false;
109
+ return true;
110
+ }
111
+ }
112
112
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvZmVhdHVyZS1sYXllci9mZWF0dXJlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRDs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFDL0I7O09BRUc7SUFDSCxJQUFJLEdBQVcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2pDOztPQUVHO0lBQ0gsTUFBTSxHQUFXLENBQUMsQ0FBQztJQUNuQjs7Ozs7T0FLRztJQUNILE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckI7Ozs7T0FJRztJQUNILE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEI7O09BRUc7SUFDSCxLQUFLLENBQXlCO0lBRTlCOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUEyQjtRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDMUMsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMzQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsTUFBYztRQUN0QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsQ0FBQyxLQUE0QjtRQUNuQyxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQTJCO1FBQ3ZDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0eWxlLCB7IFN0eWxlRnVuY3Rpb24gfSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuXG4vKipcbiAqIEEgbGF5ZXIgdGhhdCBpcyByZXNwb25zaWJsZSBmb3Igc2hvd2luZyBhbmQgc3R5bGluZyBtYWluIGZlYXR1cmVzIG9uIHRoZSBtYXAsIHN1Y2ggYXMgbWFya2VycyBhbmQgcG9seWdvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBmaWVsZCwgaXQgaXMgYXV0b2dlbmVyYXRlZCBieSBkZWZhdWx0LCBidXQgY2FuIGJlIHNldCBtYW51YWxseVxuICAgKi9cbiAgbmFtZTogc3RyaW5nID0gSWRHZW5lcmF0b3IuZ2V0KCk7XG4gIC8qKlxuICAgKiBUaGUgcHJpb3JpdHkgb2Ygc2hvd2luZyAtIGxheWVycyB3aXRoIGhpZ2hlciB6SW5kZXggY292ZXIgb3RoZXJzIGluIGNhc2Ugb2YgY29sbGlzaW9uc1xuICAgKi9cbiAgekluZGV4OiBudW1iZXIgPSAxO1xuICAvKipcbiAgIFRoZSBtYXhpbXVtIHZpZXcgem9vbSBsZXZlbCAoaW5jbHVzaXZlKSBhdCB3aGljaCB0aGlzIGxheWVyIHdpbGwgYmUgdmlzaWJsZS5cblxuICAgQHR5cGUge251bWJlcn1cbiAgIEBkZWZhdWx0IDE5XG4gICAqL1xuICBtYXhab29tOiBudW1iZXIgPSAxOTtcbiAgLyoqXG4gICBUaGUgbWluaW11bSB2aWV3IHpvb20gbGV2ZWwgKGV4Y2x1c2l2ZSkgYXQgd2hpY2ggdGhpcyBsYXllciB3aWxsIGJlIHZpc2libGUuXG5cbiAgIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBtaW5ab29tOiBudW1iZXIgPSAwO1xuICAvKipcbiAgICogVGhlIHN0eWxpbmcgZGVmaW5pdGlvbiBvZiBsYXllcidzIGZlYXR1cmVzLiBUaGUgZWFzaWVzdCB3YXkgaXMgdG8gdXNlIHtAbGluayBQb2x5Z29uU3R5bGVIZWxwZXJ9LHtAbGluayBNYXJrZXJTdHlsZUhlbHBlcn1cbiAgICovXG4gIHN0eWxlPzogU3R5bGUgfCBTdHlsZUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBDb3BpZXMgdGhlIGdpdmVuIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdFxuICAgKlxuICAgKiBAcGFyYW0ge0ZlYXR1cmVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3QgdG8gYmUgY29waWVkXG4gICAqIEByZXR1cm5zIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gLSBBIGNvcHkgb2YgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb3B5KG1vZGVsOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyk6IEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRmVhdHVyZUxheWVyU2V0dGluZ3MoKTtcbiAgICByZXN1bHQubmFtZSA9IG1vZGVsLm5hbWU7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQuekluZGV4ID0gbW9kZWwuekluZGV4O1xuICAgIHJlc3VsdC5zdHlsZSA9IG1vZGVsLnN0eWxlO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgei1pbmRleCB2YWx1ZSBmb3IgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHpJbmRleCAtIFRoZSBuZXcgei1pbmRleCB2YWx1ZS5cbiAgICogQHJldHVybiB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0WkluZGV4KHpJbmRleDogbnVtYmVyKTogRmVhdHVyZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBGZWF0dXJlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgekluZGV4IH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5hbWUgb2YgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFRoZSBuYW1lIHRvIHNldCBmb3IgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcmV0dXJuIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3Qgd2l0aCB0aGUgbmV3IG5hbWUuXG4gICAqL1xuICBzZXROYW1lKG5hbWU6IHN0cmluZyk6IEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gRmVhdHVyZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWF4aW11bSB6b29tIGxldmVsIGZvciB0aGUgRmVhdHVyZUxheWVyU2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhab29tIC0gVGhlIG1heGltdW0gem9vbSBsZXZlbC5cbiAgICogQHJldHVybiB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0TWF4Wm9vbShtYXhab29tOiBudW1iZXIpOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEZlYXR1cmVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtYXhab29tIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1pbmltdW0gem9vbSBsZXZlbCBmb3IgdGhlIGZlYXR1cmUgbGF5ZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtaW5ab29tIFRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJucyB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IFRoZSB1cGRhdGVkIGZlYXR1cmUgbGF5ZXIgc2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0TWluWm9vbShtaW5ab29tOiBudW1iZXIpOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEZlYXR1cmVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtaW5ab29tIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0eWxlIGZvciB0aGUgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge1N0eWxlIHwgU3R5bGVGdW5jdGlvbn0gc3R5bGUgLSBUaGUgbmV3IHN0eWxlIHRvIHNldC4gSXQgY2FuIGJlIGVpdGhlciBhIFN0eWxlIG9iamVjdCBvciBhIFN0eWxlRnVuY3Rpb24uXG4gICAqIEByZXR1cm4ge0ZlYXR1cmVMYXllclNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdCB3aXRoIHRoZSBuZXcgc3R5bGUuXG4gICAqL1xuICBzZXRTdHlsZShzdHlsZTogU3R5bGUgfCBTdHlsZUZ1bmN0aW9uKTogRmVhdHVyZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBGZWF0dXJlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgc3R5bGUgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3QgaXMgaWRlbnRpY2FsIHRvIHRoZSBjdXJyZW50IG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gbW9kZWwgLSBUaGUgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0IHRvIGNvbXBhcmUgd2l0aC5cbiAgICogQHJldHVybiB7Ym9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIG9iamVjdCBpcyBpZGVudGljYWwgdG8gdGhlIGN1cnJlbnQgb2JqZWN0LCBvdGhlcndpc2UgZmFsc2UuXG4gICAqL1xuICBwdWJsaWMgaXNTYW1lKG1vZGVsOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm1heFpvb20gIT09IG1vZGVsLm1heFpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5taW5ab29tICE9PSBtb2RlbC5taW5ab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuekluZGV4ICE9PSBtb2RlbC56SW5kZXgpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5uYW1lICE9PSBtb2RlbC5uYW1lKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuc3R5bGUgIT09IG1vZGVsLnN0eWxlKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -1,8 +1,8 @@
1
- export * from './tile-layer/tile-layer.component';
2
- export * from './tile-layer/tile-layer.settings';
3
- export * from './osm-tile-layer/osm-tile-layer.component';
4
- export * from './feature-layer/feature-layer.settings';
5
- export * from './feature-layer/feature-layer.component';
6
- export * from './cluster-layer/cluster-layer.component';
7
- export * from './cluster-layer/cluster-layer.settings';
1
+ export * from './tile-layer/tile-layer.component';
2
+ export * from './tile-layer/tile-layer.settings';
3
+ export * from './osm-tile-layer/osm-tile-layer.component';
4
+ export * from './feature-layer/feature-layer.settings';
5
+ export * from './feature-layer/feature-layer.component';
6
+ export * from './cluster-layer/cluster-layer.component';
7
+ export * from './cluster-layer/cluster-layer.settings';
8
8
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90aWxlLWxheWVyL3RpbGUtbGF5ZXIuc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9vc20tdGlsZS1sYXllci9vc20tdGlsZS1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2x1c3Rlci1sYXllci9jbHVzdGVyLWxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5zZXR0aW5ncyc7XG4iXX0=
@@ -1,57 +1,57 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { DestructibleComponent } from '../../../common/destructible.component';
3
- import TileLayer from 'ol/layer/Tile';
4
- import OSM from 'ol/source/OSM';
5
- import * as i0 from "@angular/core";
6
- export class OsmTileLayerComponent extends DestructibleComponent {
7
- layer;
8
- constructor() {
9
- super();
10
- }
11
- _url = '';
12
- set url(value) {
13
- if (!value || this._url === value)
14
- return;
15
- this._url = value;
16
- this.initLayer();
17
- }
18
- _map;
19
- set map(value) {
20
- if (!value || this._map === value)
21
- return;
22
- this._map = value;
23
- this.initLayer();
24
- }
25
- ngOnInit() { }
26
- ngOnDestroy() {
27
- if (this.layer) {
28
- this._map?.removeLayer(this.layer);
29
- }
30
- // @ts-ignore
31
- this.layer?.setMap(null);
32
- }
33
- initLayer() {
34
- if (!this._url || !this._map)
35
- return;
36
- if (this.layer)
37
- this._map.removeLayer(this.layer);
38
- this.layer = new TileLayer({
39
- source: new OSM({
40
- url: this._url,
41
- }),
42
- });
43
- this.layer.set('name', 'osm-tile-layer');
44
- this._map.addLayer(this.layer);
45
- }
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OsmTileLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: { url: "url", map: "map" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OsmTileLayerComponent, decorators: [{
50
- type: Component,
51
- args: [{ selector: 'art-osm-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
52
- }], ctorParameters: function () { return []; }, propDecorators: { url: [{
53
- type: Input
54
- }], map: [{
55
- type: Input
56
- }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NtLXRpbGUtbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9vc20tdGlsZS1sYXllci9vc20tdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxTQUFTLE1BQU0sZUFBZSxDQUFDO0FBRXRDLE9BQU8sR0FBRyxNQUFNLGVBQWUsQ0FBQzs7QUFTaEMsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHFCQUFxQjtJQUN2RCxLQUFLLENBQXlCO0lBRXJDO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRU8sSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUUxQixJQUFhLEdBQUcsQ0FBQyxLQUF5QjtRQUN4QyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSztZQUFFLE9BQU87UUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTyxJQUFJLENBQU87SUFFbkIsSUFBYSxHQUFHLENBQUMsS0FBc0I7UUFDckMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUs7WUFBRSxPQUFPO1FBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQztRQUNELGFBQWE7UUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3JDLElBQUksSUFBSSxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUN6QixNQUFNLEVBQUUsSUFBSSxHQUFHLENBQUM7Z0JBQ2QsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQ2YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO3dHQTNDVSxxQkFBcUI7NEZBQXJCLHFCQUFxQixxSEFKdEIsRUFBRTs7NEZBSUQscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLG9CQUFvQixZQUNwQixFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU07MEVBV2xDLEdBQUc7c0JBQWYsS0FBSztnQkFRTyxHQUFHO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgVGlsZUxheWVyIGZyb20gJ29sL2xheWVyL1RpbGUnO1xuaW1wb3J0IFRpbGVTb3VyY2UgZnJvbSAnb2wvc291cmNlL1RpbGUnO1xuaW1wb3J0IE9TTSBmcm9tICdvbC9zb3VyY2UvT1NNJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ29sJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJ0LW9zbS10aWxlLWxheWVyJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgT3NtVGlsZUxheWVyQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGxheWVyPzogVGlsZUxheWVyPFRpbGVTb3VyY2U+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcml2YXRlIF91cmw6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpIHNldCB1cmwodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fdXJsID09PSB2YWx1ZSkgcmV0dXJuO1xuICAgIHRoaXMuX3VybCA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdExheWVyKCk7XG4gIH1cblxuICBwcml2YXRlIF9tYXA/OiBNYXA7XG5cbiAgQElucHV0KCkgc2V0IG1hcCh2YWx1ZTogTWFwIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9tYXAgPT09IHZhbHVlKSByZXR1cm47XG4gICAgdGhpcy5fbWFwID0gdmFsdWU7XG4gICAgdGhpcy5pbml0TGF5ZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sYXllcikge1xuICAgICAgdGhpcy5fbWFwPy5yZW1vdmVMYXllcih0aGlzLmxheWVyKTtcbiAgICB9XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMubGF5ZXI/LnNldE1hcChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdExheWVyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fdXJsIHx8ICF0aGlzLl9tYXApIHJldHVybjtcbiAgICBpZiAodGhpcy5sYXllcikgdGhpcy5fbWFwLnJlbW92ZUxheWVyKHRoaXMubGF5ZXIpO1xuICAgIHRoaXMubGF5ZXIgPSBuZXcgVGlsZUxheWVyKHtcbiAgICAgIHNvdXJjZTogbmV3IE9TTSh7XG4gICAgICAgIHVybDogdGhpcy5fdXJsLFxuICAgICAgfSksXG4gICAgfSk7XG4gICAgdGhpcy5sYXllci5zZXQoJ25hbWUnLCAnb3NtLXRpbGUtbGF5ZXInKTtcbiAgICB0aGlzLl9tYXAuYWRkTGF5ZXIodGhpcy5sYXllcik7XG4gIH1cbn1cbiJdfQ==
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { DestructibleComponent } from '../../../common/destructible.component';
3
+ import TileLayer from 'ol/layer/Tile';
4
+ import OSM from 'ol/source/OSM';
5
+ import * as i0 from "@angular/core";
6
+ export class OsmTileLayerComponent extends DestructibleComponent {
7
+ layer;
8
+ constructor() {
9
+ super();
10
+ }
11
+ _url = '';
12
+ set url(value) {
13
+ if (!value || this._url === value)
14
+ return;
15
+ this._url = value;
16
+ this.initLayer();
17
+ }
18
+ _map;
19
+ set map(value) {
20
+ if (!value || this._map === value)
21
+ return;
22
+ this._map = value;
23
+ this.initLayer();
24
+ }
25
+ ngOnInit() { }
26
+ ngOnDestroy() {
27
+ if (this.layer) {
28
+ this._map?.removeLayer(this.layer);
29
+ }
30
+ // @ts-ignore
31
+ this.layer?.setMap(null);
32
+ }
33
+ initLayer() {
34
+ if (!this._url || !this._map)
35
+ return;
36
+ if (this.layer)
37
+ this._map.removeLayer(this.layer);
38
+ this.layer = new TileLayer({
39
+ source: new OSM({
40
+ url: this._url,
41
+ }),
42
+ });
43
+ this.layer.set('name', 'osm-tile-layer');
44
+ this._map.addLayer(this.layer);
45
+ }
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OsmTileLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: { url: "url", map: "map" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OsmTileLayerComponent, decorators: [{
50
+ type: Component,
51
+ args: [{ selector: 'art-osm-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
52
+ }], ctorParameters: () => [], propDecorators: { url: [{
53
+ type: Input
54
+ }], map: [{
55
+ type: Input
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NtLXRpbGUtbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9vc20tdGlsZS1sYXllci9vc20tdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxTQUFTLE1BQU0sZUFBZSxDQUFDO0FBRXRDLE9BQU8sR0FBRyxNQUFNLGVBQWUsQ0FBQzs7QUFTaEMsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHFCQUFxQjtJQUN2RCxLQUFLLENBQXlCO0lBRXJDO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRU8sSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUUxQixJQUFhLEdBQUcsQ0FBQyxLQUF5QjtRQUN4QyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSztZQUFFLE9BQU87UUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTyxJQUFJLENBQU87SUFFbkIsSUFBYSxHQUFHLENBQUMsS0FBc0I7UUFDckMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUs7WUFBRSxPQUFPO1FBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxhQUFhO1FBQ2IsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUNyQyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDekIsTUFBTSxFQUFFLElBQUksR0FBRyxDQUFDO2dCQUNkLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSTthQUNmLENBQUM7U0FDSCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzt1R0EzQ1UscUJBQXFCOzJGQUFyQixxQkFBcUIscUhBSnRCLEVBQUU7OzJGQUlELHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxvQkFBb0IsWUFDcEIsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3dEQVdsQyxHQUFHO3NCQUFmLEtBQUs7Z0JBUU8sR0FBRztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcbmltcG9ydCBUaWxlU291cmNlIGZyb20gJ29sL3NvdXJjZS9UaWxlJztcbmltcG9ydCBPU00gZnJvbSAnb2wvc291cmNlL09TTSc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1vc20tdGlsZS1sYXllcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE9zbVRpbGVMYXllckNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBsYXllcj86IFRpbGVMYXllcjxUaWxlU291cmNlPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXJsOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBzZXQgdXJsKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuX3VybCA9PT0gdmFsdWUpIHJldHVybjtcbiAgICB0aGlzLl91cmwgPSB2YWx1ZTtcbiAgICB0aGlzLmluaXRMYXllcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbWFwPzogTWFwO1xuXG4gIEBJbnB1dCgpIHNldCBtYXAodmFsdWU6IE1hcCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fbWFwID09PSB2YWx1ZSkgcmV0dXJuO1xuICAgIHRoaXMuX21hcCA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdExheWVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGF5ZXIpIHtcbiAgICAgIHRoaXMuX21hcD8ucmVtb3ZlTGF5ZXIodGhpcy5sYXllcik7XG4gICAgfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0aGlzLmxheWVyPy5zZXRNYXAobnVsbCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRMYXllcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3VybCB8fCAhdGhpcy5fbWFwKSByZXR1cm47XG4gICAgaWYgKHRoaXMubGF5ZXIpIHRoaXMuX21hcC5yZW1vdmVMYXllcih0aGlzLmxheWVyKTtcbiAgICB0aGlzLmxheWVyID0gbmV3IFRpbGVMYXllcih7XG4gICAgICBzb3VyY2U6IG5ldyBPU00oe1xuICAgICAgICB1cmw6IHRoaXMuX3VybCxcbiAgICAgIH0pLFxuICAgIH0pO1xuICAgIHRoaXMubGF5ZXIuc2V0KCduYW1lJywgJ29zbS10aWxlLWxheWVyJyk7XG4gICAgdGhpcy5fbWFwLmFkZExheWVyKHRoaXMubGF5ZXIpO1xuICB9XG59XG4iXX0=
@@ -1,52 +1,52 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { DestructibleComponent } from '../../../common/destructible.component';
3
- import { MapRenderedEvent } from '../../../messages';
4
- import { filter, first } from 'rxjs/operators';
5
- import { TileLayerSettings } from './tile-layer.settings';
6
- import { AddTileCommand } from '../../../messages/commands/add-tile.command';
7
- import { RemoveTileCommand } from '../../../messages/commands/remove-tile.command';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../../../services/map-postboy.service";
10
- import * as i2 from "./tile-layer.factory";
11
- export class TileLayerComponent extends DestructibleComponent {
12
- postboy;
13
- factory;
14
- layer;
15
- constructor(postboy, factory) {
16
- super();
17
- this.postboy = postboy;
18
- this.factory = factory;
19
- }
20
- _settings = new TileLayerSettings();
21
- set settings(value) {
22
- if (!value || this._settings.isSame(value))
23
- return;
24
- this._settings = value;
25
- this.initLayer();
26
- }
27
- ngOnInit() {
28
- this.postboy
29
- .subscribe(MapRenderedEvent.ID)
30
- .pipe(filter((m) => !!m), first())
31
- .subscribe((m) => this.initLayer());
32
- }
33
- onDestroy = () => this.removeLayer();
34
- initLayer() {
35
- this.removeLayer();
36
- this.layer = this.factory.build(this._settings);
37
- this.postboy.fire(new AddTileCommand(this.layer));
38
- }
39
- removeLayer() {
40
- if (this.layer)
41
- this.postboy.fire(new RemoveTileCommand(this.layer));
42
- }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.TileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TileLayerComponent, selector: "art-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayerComponent, decorators: [{
47
- type: Component,
48
- args: [{ selector: 'art-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
49
- }], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.TileLayerFactory }]; }, propDecorators: { settings: [{
50
- type: Input
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFLL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7QUFRbkYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUFxQjtJQUd2QztJQUFvQztJQUZqRCxLQUFLLENBQWtCO0lBRTlCLFlBQW9CLE9BQTBCLEVBQVUsT0FBeUI7UUFDL0UsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBRWpGLENBQUM7SUFFRCxTQUFTLEdBQXNCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztJQUV2RCxJQUFhLFFBQVEsQ0FBQyxLQUFvQztRQUN4RCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQzthQUNoRCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU3QixTQUFTO1FBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7d0dBbkNVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLCtHQUpuQixFQUFFOzs0RkFJRCxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsZ0JBQWdCLFlBQ2hCLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTt1SUFXbEMsUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJGYWN0b3J5IH0gZnJvbSAnLi90aWxlLWxheWVyLmZhY3RvcnknO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJTZXR0aW5ncyB9IGZyb20gJy4vdGlsZS1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBBZGRUaWxlQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlVGlsZUNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtdGlsZS5jb21tYW5kJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJ0LXRpbGUtbGF5ZXInLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUaWxlTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQge1xuICBwdWJsaWMgbGF5ZXI/OiBUaWxlTGF5ZXI8WFlaPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLCBwcml2YXRlIGZhY3Rvcnk6IFRpbGVMYXllckZhY3RvcnkpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgX3NldHRpbmdzOiBUaWxlTGF5ZXJTZXR0aW5ncyA9IG5ldyBUaWxlTGF5ZXJTZXR0aW5ncygpO1xuXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogVGlsZUxheWVyU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuX3NldHRpbmdzLmlzU2FtZSh2YWx1ZSkpIHJldHVybjtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdExheWVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKG0pID0+ICEhbSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChtKSA9PiB0aGlzLmluaXRMYXllcigpKTtcbiAgfVxuXG4gIG9uRGVzdHJveSA9ICgpID0+IHRoaXMucmVtb3ZlTGF5ZXIoKTtcblxuICBwcml2YXRlIGluaXRMYXllcigpIHtcbiAgICB0aGlzLnJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5sYXllciA9IHRoaXMuZmFjdG9yeS5idWlsZCh0aGlzLl9zZXR0aW5ncyk7XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEFkZFRpbGVDb21tYW5kKHRoaXMubGF5ZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXIoKSB7XG4gICAgaWYgKHRoaXMubGF5ZXIpIHRoaXMucG9zdGJveS5maXJlKG5ldyBSZW1vdmVUaWxlQ29tbWFuZCh0aGlzLmxheWVyKSk7XG4gIH1cbn1cbiJdfQ==
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { DestructibleComponent } from '../../../common/destructible.component';
3
+ import { MapRenderedEvent } from '../../../messages';
4
+ import { filter, first } from 'rxjs/operators';
5
+ import { TileLayerSettings } from './tile-layer.settings';
6
+ import { AddTileCommand } from '../../../messages/commands/add-tile.command';
7
+ import { RemoveTileCommand } from '../../../messages/commands/remove-tile.command';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../services/map-postboy.service";
10
+ import * as i2 from "./tile-layer.factory";
11
+ export class TileLayerComponent extends DestructibleComponent {
12
+ postboy;
13
+ factory;
14
+ layer;
15
+ constructor(postboy, factory) {
16
+ super();
17
+ this.postboy = postboy;
18
+ this.factory = factory;
19
+ }
20
+ _settings = new TileLayerSettings();
21
+ set settings(value) {
22
+ if (!value || this._settings.isSame(value))
23
+ return;
24
+ this._settings = value;
25
+ this.initLayer();
26
+ }
27
+ ngOnInit() {
28
+ this.postboy
29
+ .subscribe(MapRenderedEvent.ID)
30
+ .pipe(filter((m) => !!m), first())
31
+ .subscribe((m) => this.initLayer());
32
+ }
33
+ onDestroy = () => this.removeLayer();
34
+ initLayer() {
35
+ this.removeLayer();
36
+ this.layer = this.factory.build(this._settings);
37
+ this.postboy.fire(new AddTileCommand(this.layer));
38
+ }
39
+ removeLayer() {
40
+ if (this.layer)
41
+ this.postboy.fire(new RemoveTileCommand(this.layer));
42
+ }
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: TileLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.TileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: TileLayerComponent, selector: "art-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: TileLayerComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'art-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
49
+ }], ctorParameters: () => [{ type: i1.MapPostboyService }, { type: i2.TileLayerFactory }], propDecorators: { settings: [{
50
+ type: Input
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFLL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7QUFRbkYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUFxQjtJQUd2QztJQUFvQztJQUZqRCxLQUFLLENBQWtCO0lBRTlCLFlBQW9CLE9BQTBCLEVBQVUsT0FBeUI7UUFDL0UsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBRWpGLENBQUM7SUFFRCxTQUFTLEdBQXNCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztJQUV2RCxJQUFhLFFBQVEsQ0FBQyxLQUFvQztRQUN4RCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQzthQUNoRCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU3QixTQUFTO1FBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7dUdBbkNVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLCtHQUpuQixFQUFFOzsyRkFJRCxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsZ0JBQWdCLFlBQ2hCLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTtxSEFXbEMsUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJGYWN0b3J5IH0gZnJvbSAnLi90aWxlLWxheWVyLmZhY3RvcnknO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJTZXR0aW5ncyB9IGZyb20gJy4vdGlsZS1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBBZGRUaWxlQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlVGlsZUNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtdGlsZS5jb21tYW5kJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJ0LXRpbGUtbGF5ZXInLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUaWxlTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQge1xuICBwdWJsaWMgbGF5ZXI/OiBUaWxlTGF5ZXI8WFlaPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLCBwcml2YXRlIGZhY3Rvcnk6IFRpbGVMYXllckZhY3RvcnkpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgX3NldHRpbmdzOiBUaWxlTGF5ZXJTZXR0aW5ncyA9IG5ldyBUaWxlTGF5ZXJTZXR0aW5ncygpO1xuXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogVGlsZUxheWVyU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuX3NldHRpbmdzLmlzU2FtZSh2YWx1ZSkpIHJldHVybjtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdExheWVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKG0pID0+ICEhbSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChtKSA9PiB0aGlzLmluaXRMYXllcigpKTtcbiAgfVxuXG4gIG9uRGVzdHJveSA9ICgpID0+IHRoaXMucmVtb3ZlTGF5ZXIoKTtcblxuICBwcml2YXRlIGluaXRMYXllcigpIHtcbiAgICB0aGlzLnJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5sYXllciA9IHRoaXMuZmFjdG9yeS5idWlsZCh0aGlzLl9zZXR0aW5ncyk7XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEFkZFRpbGVDb21tYW5kKHRoaXMubGF5ZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXIoKSB7XG4gICAgaWYgKHRoaXMubGF5ZXIpIHRoaXMucG9zdGJveS5maXJlKG5ldyBSZW1vdmVUaWxlQ29tbWFuZCh0aGlzLmxheWVyKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,50 +1,50 @@
1
- import { Injectable } from '@angular/core';
2
- import { XYZ } from 'ol/source';
3
- import { get } from 'ol/proj';
4
- import TileLayer from 'ol/layer/Tile';
5
- import * as i0 from "@angular/core";
6
- export class TileLayerFactory {
7
- build(settings) {
8
- const source = new XYZ({
9
- tileSize: 256,
10
- maxZoom: settings.maxZoom || 14,
11
- minZoom: settings.minZoom || 1,
12
- projection: get(settings.projection),
13
- tileUrlFunction: this.getTileFunc(settings),
14
- crossOrigin: 'Anonymous',
15
- });
16
- return new TileLayer({ source, opacity: settings.opacity });
17
- }
18
- getTileFunc(settings) {
19
- return (tileCoord) => {
20
- const zoom = tileCoord[0];
21
- const x = tileCoord[1];
22
- const y = tileCoord[2];
23
- const normalizedCoord = this.getNormalizedCoord({ x: x, y: y }, zoom);
24
- const bound = 1 << zoom;
25
- return settings.url
26
- .replace('{x}', String(normalizedCoord?.x || x))
27
- .replace('{z}', String(zoom))
28
- .replace('{y}', String(bound - (normalizedCoord?.y || y) - 1));
29
- };
30
- }
31
- getNormalizedCoord(coord, zoom) {
32
- const y = coord.y;
33
- let x = coord.x;
34
- const tileRange = 1 << zoom;
35
- if (y < 0 || y >= tileRange)
36
- return null;
37
- if (x < 0 || x >= tileRange)
38
- x = ((x % tileRange) + tileRange) % tileRange;
39
- return { x: x, y: y };
40
- }
41
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayerFactory, providedIn: 'root' });
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayerFactory, decorators: [{
45
- type: Injectable,
46
- args: [{
47
- providedIn: 'root',
48
- }]
49
- }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLFNBQVMsTUFBTSxlQUFlLENBQUM7O0FBS3RDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsS0FBSyxDQUFDLFFBQTJCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRTtZQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBRTtZQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDM0MsV0FBVyxFQUFFLFdBQVc7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUEyQjtRQUM3QyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUN4QixPQUFPLFFBQVEsQ0FBQyxHQUFHO2lCQUNoQixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUMvQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDNUIsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUErQixFQUFFLElBQVk7UUFDdEUsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQzNFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QixDQUFDO3dHQWxDVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL3RpbGUtbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgVGlsZUNvb3JkIH0gZnJvbSAnb2wvdGlsZWNvb3JkJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVMYXllckZhY3Rvcnkge1xuICBwdWJsaWMgYnVpbGQoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogVGlsZUxheWVyPFhZWj4ge1xuICAgIGNvbnN0IHNvdXJjZSA9IG5ldyBYWVooe1xuICAgICAgdGlsZVNpemU6IDI1NixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgMTQsXG4gICAgICBtaW5ab29tOiBzZXR0aW5ncy5taW5ab29tIHx8IDEsXG4gICAgICBwcm9qZWN0aW9uOiBnZXQoc2V0dGluZ3MucHJvamVjdGlvbikhLFxuICAgICAgdGlsZVVybEZ1bmN0aW9uOiB0aGlzLmdldFRpbGVGdW5jKHNldHRpbmdzKSxcbiAgICAgIGNyb3NzT3JpZ2luOiAnQW5vbnltb3VzJyxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFRpbGVMYXllcih7IHNvdXJjZSwgb3BhY2l0eTogc2V0dGluZ3Mub3BhY2l0eSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGlsZUZ1bmMoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogKHRpbGVDb29yZDogVGlsZUNvb3JkKSA9PiBzdHJpbmcge1xuICAgIHJldHVybiAodGlsZUNvb3JkKSA9PiB7XG4gICAgICBjb25zdCB6b29tID0gdGlsZUNvb3JkWzBdO1xuICAgICAgY29uc3QgeCA9IHRpbGVDb29yZFsxXTtcbiAgICAgIGNvbnN0IHkgPSB0aWxlQ29vcmRbMl07XG4gICAgICBjb25zdCBub3JtYWxpemVkQ29vcmQgPSB0aGlzLmdldE5vcm1hbGl6ZWRDb29yZCh7IHg6IHgsIHk6IHkgfSwgem9vbSk7XG4gICAgICBjb25zdCBib3VuZCA9IDEgPDwgem9vbTtcbiAgICAgIHJldHVybiBzZXR0aW5ncy51cmxcbiAgICAgICAgLnJlcGxhY2UoJ3t4fScsIFN0cmluZyhub3JtYWxpemVkQ29vcmQ/LnggfHwgeCkpXG4gICAgICAgIC5yZXBsYWNlKCd7en0nLCBTdHJpbmcoem9vbSkpXG4gICAgICAgIC5yZXBsYWNlKCd7eX0nLCBTdHJpbmcoYm91bmQgLSAobm9ybWFsaXplZENvb3JkPy55IHx8IHkpIC0gMSkpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE5vcm1hbGl6ZWRDb29yZChjb29yZDogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LCB6b29tOiBudW1iZXIpIHtcbiAgICBjb25zdCB5ID0gY29vcmQueTtcbiAgICBsZXQgeCA9IGNvb3JkLng7XG4gICAgY29uc3QgdGlsZVJhbmdlID0gMSA8PCB6b29tO1xuICAgIGlmICh5IDwgMCB8fCB5ID49IHRpbGVSYW5nZSkgcmV0dXJuIG51bGw7XG4gICAgaWYgKHggPCAwIHx8IHggPj0gdGlsZVJhbmdlKSB4ID0gKCh4ICUgdGlsZVJhbmdlKSArIHRpbGVSYW5nZSkgJSB0aWxlUmFuZ2U7XG4gICAgcmV0dXJuIHsgeDogeCwgeTogeSB9O1xuICB9XG59XG4iXX0=
1
+ import { Injectable } from '@angular/core';
2
+ import { XYZ } from 'ol/source';
3
+ import { get } from 'ol/proj';
4
+ import TileLayer from 'ol/layer/Tile';
5
+ import * as i0 from "@angular/core";
6
+ export class TileLayerFactory {
7
+ build(settings) {
8
+ const source = new XYZ({
9
+ tileSize: 256,
10
+ maxZoom: settings.maxZoom || 14,
11
+ minZoom: settings.minZoom || 1,
12
+ projection: get(settings.projection),
13
+ tileUrlFunction: this.getTileFunc(settings),
14
+ crossOrigin: 'Anonymous',
15
+ });
16
+ return new TileLayer({ source, opacity: settings.opacity });
17
+ }
18
+ getTileFunc(settings) {
19
+ return (tileCoord) => {
20
+ const zoom = tileCoord[0];
21
+ const x = tileCoord[1];
22
+ const y = tileCoord[2];
23
+ const normalizedCoord = this.getNormalizedCoord({ x: x, y: y }, zoom);
24
+ const bound = 1 << zoom;
25
+ return settings.url
26
+ .replace('{x}', String(normalizedCoord?.x || x))
27
+ .replace('{z}', String(zoom))
28
+ .replace('{y}', String(bound - (normalizedCoord?.y || y) - 1));
29
+ };
30
+ }
31
+ getNormalizedCoord(coord, zoom) {
32
+ const y = coord.y;
33
+ let x = coord.x;
34
+ const tileRange = 1 << zoom;
35
+ if (y < 0 || y >= tileRange)
36
+ return null;
37
+ if (x < 0 || x >= tileRange)
38
+ x = ((x % tileRange) + tileRange) % tileRange;
39
+ return { x: x, y: y };
40
+ }
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: TileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: TileLayerFactory, providedIn: 'root' });
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: TileLayerFactory, decorators: [{
45
+ type: Injectable,
46
+ args: [{
47
+ providedIn: 'root',
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLFNBQVMsTUFBTSxlQUFlLENBQUM7O0FBS3RDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsS0FBSyxDQUFDLFFBQTJCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRTtZQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBRTtZQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDM0MsV0FBVyxFQUFFLFdBQVc7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUEyQjtRQUM3QyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUN4QixPQUFPLFFBQVEsQ0FBQyxHQUFHO2lCQUNoQixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUMvQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDNUIsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUErQixFQUFFLElBQVk7UUFDdEUsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQzNFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QixDQUFDO3VHQWxDVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL3RpbGUtbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgVGlsZUNvb3JkIH0gZnJvbSAnb2wvdGlsZWNvb3JkJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVMYXllckZhY3Rvcnkge1xuICBwdWJsaWMgYnVpbGQoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogVGlsZUxheWVyPFhZWj4ge1xuICAgIGNvbnN0IHNvdXJjZSA9IG5ldyBYWVooe1xuICAgICAgdGlsZVNpemU6IDI1NixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgMTQsXG4gICAgICBtaW5ab29tOiBzZXR0aW5ncy5taW5ab29tIHx8IDEsXG4gICAgICBwcm9qZWN0aW9uOiBnZXQoc2V0dGluZ3MucHJvamVjdGlvbikhLFxuICAgICAgdGlsZVVybEZ1bmN0aW9uOiB0aGlzLmdldFRpbGVGdW5jKHNldHRpbmdzKSxcbiAgICAgIGNyb3NzT3JpZ2luOiAnQW5vbnltb3VzJyxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFRpbGVMYXllcih7IHNvdXJjZSwgb3BhY2l0eTogc2V0dGluZ3Mub3BhY2l0eSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGlsZUZ1bmMoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogKHRpbGVDb29yZDogVGlsZUNvb3JkKSA9PiBzdHJpbmcge1xuICAgIHJldHVybiAodGlsZUNvb3JkKSA9PiB7XG4gICAgICBjb25zdCB6b29tID0gdGlsZUNvb3JkWzBdO1xuICAgICAgY29uc3QgeCA9IHRpbGVDb29yZFsxXTtcbiAgICAgIGNvbnN0IHkgPSB0aWxlQ29vcmRbMl07XG4gICAgICBjb25zdCBub3JtYWxpemVkQ29vcmQgPSB0aGlzLmdldE5vcm1hbGl6ZWRDb29yZCh7IHg6IHgsIHk6IHkgfSwgem9vbSk7XG4gICAgICBjb25zdCBib3VuZCA9IDEgPDwgem9vbTtcbiAgICAgIHJldHVybiBzZXR0aW5ncy51cmxcbiAgICAgICAgLnJlcGxhY2UoJ3t4fScsIFN0cmluZyhub3JtYWxpemVkQ29vcmQ/LnggfHwgeCkpXG4gICAgICAgIC5yZXBsYWNlKCd7en0nLCBTdHJpbmcoem9vbSkpXG4gICAgICAgIC5yZXBsYWNlKCd7eX0nLCBTdHJpbmcoYm91bmQgLSAobm9ybWFsaXplZENvb3JkPy55IHx8IHkpIC0gMSkpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE5vcm1hbGl6ZWRDb29yZChjb29yZDogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LCB6b29tOiBudW1iZXIpIHtcbiAgICBjb25zdCB5ID0gY29vcmQueTtcbiAgICBsZXQgeCA9IGNvb3JkLng7XG4gICAgY29uc3QgdGlsZVJhbmdlID0gMSA8PCB6b29tO1xuICAgIGlmICh5IDwgMCB8fCB5ID49IHRpbGVSYW5nZSkgcmV0dXJuIG51bGw7XG4gICAgaWYgKHggPCAwIHx8IHggPj0gdGlsZVJhbmdlKSB4ID0gKCh4ICUgdGlsZVJhbmdlKSArIHRpbGVSYW5nZSkgJSB0aWxlUmFuZ2U7XG4gICAgcmV0dXJuIHsgeDogeCwgeTogeSB9O1xuICB9XG59XG4iXX0=