@antv/l7-layers 2.10.1 → 2.10.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 (353) hide show
  1. package/es/Geometry/index.d.ts +2 -3
  2. package/es/Geometry/index.js +27 -17
  3. package/es/Geometry/models/billboard.d.ts +2 -2
  4. package/es/Geometry/models/billboard.js +77 -37
  5. package/es/Geometry/models/plane.d.ts +2 -2
  6. package/es/Geometry/models/plane.js +80 -40
  7. package/es/Geometry/models/sprite.d.ts +2 -2
  8. package/es/Geometry/models/sprite.js +83 -45
  9. package/es/canvas/index.d.ts +3 -4
  10. package/es/canvas/index.js +35 -24
  11. package/es/canvas/models/canvas.d.ts +2 -2
  12. package/es/canvas/models/canvas.js +54 -15
  13. package/es/citybuliding/building.d.ts +2 -3
  14. package/es/citybuliding/building.js +26 -17
  15. package/es/citybuliding/models/build.d.ts +2 -2
  16. package/es/citybuliding/models/build.js +70 -25
  17. package/es/core/BaseLayer.d.ts +21 -18
  18. package/es/core/BaseLayer.js +391 -261
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +47 -6
  21. package/es/core/LayerPickService.d.ts +9 -0
  22. package/es/core/LayerPickService.js +85 -0
  23. package/es/core/triangulation.js +8 -1
  24. package/es/earth/index.d.ts +3 -3
  25. package/es/earth/index.js +28 -9
  26. package/es/earth/models/atmosphere.d.ts +2 -2
  27. package/es/earth/models/atmosphere.js +67 -22
  28. package/es/earth/models/base.d.ts +2 -2
  29. package/es/earth/models/base.js +89 -43
  30. package/es/earth/models/bloomsphere.d.ts +2 -2
  31. package/es/earth/models/bloomsphere.js +67 -22
  32. package/es/heatmap/index.d.ts +2 -3
  33. package/es/heatmap/index.js +33 -22
  34. package/es/heatmap/models/grid.d.ts +2 -2
  35. package/es/heatmap/models/grid.js +68 -27
  36. package/es/heatmap/models/grid3d.d.ts +2 -2
  37. package/es/heatmap/models/grid3d.js +69 -28
  38. package/es/heatmap/models/heatmap.d.ts +2 -2
  39. package/es/heatmap/models/heatmap.js +40 -14
  40. package/es/heatmap/models/hexagon.d.ts +2 -2
  41. package/es/heatmap/models/hexagon.js +69 -28
  42. package/es/image/index.d.ts +2 -3
  43. package/es/image/index.js +27 -17
  44. package/es/image/models/dataImage.d.ts +2 -2
  45. package/es/image/models/dataImage.js +93 -54
  46. package/es/image/models/image.d.ts +2 -2
  47. package/es/image/models/image.js +108 -67
  48. package/es/image/models/tileDataImage.d.ts +2 -2
  49. package/es/image/models/tileDataImage.js +84 -43
  50. package/es/index.d.ts +2 -2
  51. package/es/index.js +2 -2
  52. package/es/line/index.d.ts +5 -4
  53. package/es/line/index.js +51 -25
  54. package/es/line/models/arc.d.ts +2 -2
  55. package/es/line/models/arc.js +73 -38
  56. package/es/line/models/arc_3d.d.ts +2 -2
  57. package/es/line/models/arc_3d.js +69 -34
  58. package/es/line/models/earthArc_3d.d.ts +2 -2
  59. package/es/line/models/earthArc_3d.js +72 -37
  60. package/es/line/models/great_circle.d.ts +2 -2
  61. package/es/line/models/great_circle.js +70 -29
  62. package/es/line/models/half.d.ts +2 -2
  63. package/es/line/models/half.js +40 -17
  64. package/es/line/models/index.d.ts +1 -1
  65. package/es/line/models/index.js +0 -2
  66. package/es/line/models/line.d.ts +2 -2
  67. package/es/line/models/line.js +79 -47
  68. package/es/line/models/linearline.d.ts +2 -2
  69. package/es/line/models/linearline.js +70 -31
  70. package/es/line/models/simpleLine.d.ts +2 -2
  71. package/es/line/models/simpleLine.js +71 -34
  72. package/es/line/models/simpleTileLine.d.ts +2 -2
  73. package/es/line/models/simpleTileLine.js +70 -30
  74. package/es/line/models/tile.d.ts +2 -2
  75. package/es/line/models/tile.js +40 -17
  76. package/es/line/models/wall.d.ts +2 -2
  77. package/es/line/models/wall.js +67 -22
  78. package/es/mask/index.d.ts +2 -4
  79. package/es/mask/index.js +27 -97
  80. package/es/mask/models/fill.d.ts +2 -2
  81. package/es/mask/models/fill.js +40 -16
  82. package/es/mask/models/index.d.ts +1 -1
  83. package/es/mask/models/index.js +1 -3
  84. package/es/plugins/DataMappingPlugin.js +80 -66
  85. package/es/plugins/DataSourcePlugin.js +64 -25
  86. package/es/plugins/FeatureScalePlugin.js +84 -44
  87. package/es/plugins/LayerAnimateStylePlugin.js +6 -3
  88. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  89. package/es/plugins/LayerModelPlugin.js +124 -37
  90. package/es/plugins/LayerStylePlugin.js +1 -6
  91. package/es/plugins/MultiPassRendererPlugin.js +1 -1
  92. package/es/plugins/PixelPickingPlugin.js +1 -1
  93. package/es/plugins/RegisterStyleAttributePlugin.js +4 -17
  94. package/es/plugins/ShaderUniformPlugin.js +7 -2
  95. package/es/plugins/UpdateStyleAttributePlugin.js +8 -5
  96. package/es/point/index.d.ts +4 -4
  97. package/es/point/index.js +55 -23
  98. package/es/point/models/earthExtrude.d.ts +2 -2
  99. package/es/point/models/earthExtrude.js +73 -30
  100. package/es/point/models/earthFill.d.ts +2 -2
  101. package/es/point/models/earthFill.js +66 -21
  102. package/es/point/models/extrude.d.ts +2 -2
  103. package/es/point/models/extrude.js +40 -17
  104. package/es/point/models/fill.d.ts +2 -2
  105. package/es/point/models/fill.js +43 -20
  106. package/es/point/models/fillmage.d.ts +2 -2
  107. package/es/point/models/fillmage.js +82 -43
  108. package/es/point/models/image.d.ts +2 -2
  109. package/es/point/models/image.js +72 -31
  110. package/es/point/models/index.d.ts +1 -1
  111. package/es/point/models/index.js +0 -2
  112. package/es/point/models/normal.d.ts +2 -2
  113. package/es/point/models/normal.js +71 -30
  114. package/es/point/models/radar.d.ts +2 -2
  115. package/es/point/models/radar.js +75 -35
  116. package/es/point/models/simplePoint.d.ts +2 -2
  117. package/es/point/models/simplePoint.js +70 -29
  118. package/es/point/models/text.d.ts +3 -2
  119. package/es/point/models/text.js +164 -107
  120. package/es/point/models/tile.d.ts +2 -2
  121. package/es/point/models/tile.js +77 -35
  122. package/es/point/models/tileText.d.ts +2 -2
  123. package/es/point/models/tileText.js +151 -116
  124. package/es/polygon/index.d.ts +2 -3
  125. package/es/polygon/index.js +27 -24
  126. package/es/polygon/models/extrude.d.ts +2 -2
  127. package/es/polygon/models/extrude.js +66 -29
  128. package/es/polygon/models/fill.d.ts +2 -2
  129. package/es/polygon/models/fill.js +76 -43
  130. package/es/polygon/models/index.d.ts +1 -1
  131. package/es/polygon/models/index.js +0 -2
  132. package/es/polygon/models/ocean.d.ts +2 -2
  133. package/es/polygon/models/ocean.js +69 -28
  134. package/es/polygon/models/tile.d.ts +2 -2
  135. package/es/polygon/models/tile.js +70 -30
  136. package/es/polygon/models/water.d.ts +2 -2
  137. package/es/polygon/models/water.js +69 -28
  138. package/es/raster/index.d.ts +3 -4
  139. package/es/raster/index.js +28 -22
  140. package/es/raster/models/index.d.ts +1 -1
  141. package/es/raster/models/index.js +1 -3
  142. package/es/raster/models/raster.d.ts +2 -2
  143. package/es/raster/models/raster.js +36 -13
  144. package/es/raster/models/rasterRgb.d.ts +2 -2
  145. package/es/raster/models/rasterRgb.js +36 -13
  146. package/es/raster/models/rasterTile.d.ts +2 -2
  147. package/es/raster/models/rasterTile.js +77 -36
  148. package/es/raster/raster.d.ts +1 -1
  149. package/es/raster/raster.js +42 -22
  150. package/es/tile/interaction/getRasterData.d.ts +2 -2
  151. package/es/tile/interaction/utils.js +3 -11
  152. package/es/tile/interface.d.ts +5 -4
  153. package/es/tile/manager/base.d.ts +17 -12
  154. package/es/tile/manager/base.js +212 -47
  155. package/es/tile/service/TileLayerService.d.ts +33 -0
  156. package/es/tile/service/TileLayerService.js +172 -0
  157. package/es/tile/service/TilePickService.d.ts +22 -0
  158. package/es/tile/service/TilePickService.js +124 -0
  159. package/es/tile/style/constants.d.ts +1 -13
  160. package/es/tile/style/constants.js +6 -15
  161. package/es/tile/style/utils.d.ts +1 -8
  162. package/es/tile/style/utils.js +0 -126
  163. package/es/tile/tileFactory/DebugTile.d.ts +16 -0
  164. package/es/tile/tileFactory/DebugTile.js +100 -0
  165. package/es/tile/tileFactory/ImageTile.d.ts +14 -0
  166. package/es/tile/tileFactory/ImageTile.js +89 -0
  167. package/es/tile/tileFactory/MaskTile.d.ts +17 -0
  168. package/es/tile/tileFactory/MaskTile.js +98 -0
  169. package/es/tile/tileFactory/RasterRGBTile.d.ts +16 -0
  170. package/es/tile/tileFactory/RasterRGBTile.js +91 -0
  171. package/es/tile/tileFactory/RasterTile.d.ts +27 -0
  172. package/es/tile/tileFactory/RasterTile.js +186 -0
  173. package/es/tile/tileFactory/Tile.d.ts +23 -0
  174. package/es/tile/tileFactory/Tile.js +136 -0
  175. package/es/tile/tileFactory/VectorTile.d.ts +20 -0
  176. package/es/tile/tileFactory/VectorTile.js +158 -0
  177. package/es/tile/tileFactory/index.d.ts +10 -4
  178. package/es/tile/tileFactory/index.js +30 -23
  179. package/es/tile/tileFactory/layers/{rasterDataLayer.d.ts → RasterDataLayer.d.ts} +3 -3
  180. package/es/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +33 -21
  181. package/es/tile/tileFactory/layers/{tileTest.d.ts → TileDebugLayer.d.ts} +2 -2
  182. package/es/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +23 -10
  183. package/es/tile/tileFactory/util.d.ts +6 -0
  184. package/es/tile/tileFactory/util.js +33 -0
  185. package/es/tile/tileLayer/BaseLayer.d.ts +46 -0
  186. package/es/tile/tileLayer/BaseLayer.js +358 -0
  187. package/es/tile/utils.d.ts +1 -11
  188. package/es/tile/utils.js +0 -127
  189. package/es/utils/dataMappingStyle.d.ts +4 -4
  190. package/es/utils/dataMappingStyle.js +19 -19
  191. package/es/utils/layerData.js +5 -11
  192. package/es/wind/index.d.ts +2 -3
  193. package/es/wind/index.js +27 -17
  194. package/es/wind/models/wind.d.ts +2 -2
  195. package/es/wind/models/wind.js +120 -104
  196. package/lib/Geometry/index.js +29 -17
  197. package/lib/Geometry/models/billboard.js +79 -37
  198. package/lib/Geometry/models/plane.js +82 -40
  199. package/lib/Geometry/models/sprite.js +85 -45
  200. package/lib/canvas/index.js +37 -24
  201. package/lib/canvas/models/canvas.js +56 -15
  202. package/lib/citybuliding/building.js +28 -17
  203. package/lib/citybuliding/models/build.js +72 -25
  204. package/lib/core/BaseLayer.js +391 -256
  205. package/lib/core/BaseModel.js +48 -6
  206. package/lib/core/LayerPickService.js +96 -0
  207. package/lib/core/triangulation.js +8 -1
  208. package/lib/earth/index.js +30 -9
  209. package/lib/earth/models/atmosphere.js +69 -22
  210. package/lib/earth/models/base.js +90 -42
  211. package/lib/earth/models/bloomsphere.js +69 -22
  212. package/lib/heatmap/index.js +35 -22
  213. package/lib/heatmap/models/grid.js +70 -27
  214. package/lib/heatmap/models/grid3d.js +71 -28
  215. package/lib/heatmap/models/heatmap.js +40 -14
  216. package/lib/heatmap/models/hexagon.js +71 -28
  217. package/lib/image/index.js +29 -17
  218. package/lib/image/models/dataImage.js +95 -54
  219. package/lib/image/models/image.js +110 -67
  220. package/lib/image/models/tileDataImage.js +86 -43
  221. package/lib/index.js +5 -5
  222. package/lib/line/index.js +53 -26
  223. package/lib/line/models/arc.js +75 -38
  224. package/lib/line/models/arc_3d.js +71 -34
  225. package/lib/line/models/earthArc_3d.js +74 -37
  226. package/lib/line/models/great_circle.js +72 -29
  227. package/lib/line/models/half.js +40 -17
  228. package/lib/line/models/index.js +0 -3
  229. package/lib/line/models/line.js +81 -47
  230. package/lib/line/models/linearline.js +72 -31
  231. package/lib/line/models/simpleLine.js +73 -34
  232. package/lib/line/models/simpleTileLine.js +72 -30
  233. package/lib/line/models/tile.js +40 -17
  234. package/lib/line/models/wall.js +69 -22
  235. package/lib/mask/index.js +28 -99
  236. package/lib/mask/models/fill.js +40 -16
  237. package/lib/mask/models/index.js +1 -4
  238. package/lib/plugins/DataMappingPlugin.js +81 -65
  239. package/lib/plugins/DataSourcePlugin.js +71 -30
  240. package/lib/plugins/FeatureScalePlugin.js +86 -44
  241. package/lib/plugins/LayerAnimateStylePlugin.js +6 -3
  242. package/lib/plugins/LayerModelPlugin.js +131 -41
  243. package/lib/plugins/LayerStylePlugin.js +1 -6
  244. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  245. package/lib/plugins/PixelPickingPlugin.js +1 -1
  246. package/lib/plugins/RegisterStyleAttributePlugin.js +4 -17
  247. package/lib/plugins/ShaderUniformPlugin.js +7 -2
  248. package/lib/plugins/UpdateStyleAttributePlugin.js +8 -5
  249. package/lib/point/index.js +56 -24
  250. package/lib/point/models/earthExtrude.js +75 -30
  251. package/lib/point/models/earthFill.js +68 -21
  252. package/lib/point/models/extrude.js +40 -17
  253. package/lib/point/models/fill.js +44 -21
  254. package/lib/point/models/fillmage.js +84 -43
  255. package/lib/point/models/image.js +74 -31
  256. package/lib/point/models/index.js +0 -3
  257. package/lib/point/models/normal.js +73 -30
  258. package/lib/point/models/radar.js +77 -35
  259. package/lib/point/models/simplePoint.js +72 -29
  260. package/lib/point/models/text.js +164 -106
  261. package/lib/point/models/tile.js +79 -35
  262. package/lib/point/models/tileText.js +151 -115
  263. package/lib/polygon/index.js +29 -25
  264. package/lib/polygon/models/extrude.js +68 -29
  265. package/lib/polygon/models/fill.js +78 -43
  266. package/lib/polygon/models/index.js +0 -3
  267. package/lib/polygon/models/ocean.js +71 -28
  268. package/lib/polygon/models/tile.js +72 -30
  269. package/lib/polygon/models/water.js +71 -28
  270. package/lib/raster/index.js +30 -22
  271. package/lib/raster/models/index.js +1 -4
  272. package/lib/raster/models/raster.js +36 -13
  273. package/lib/raster/models/rasterRgb.js +36 -13
  274. package/lib/raster/models/rasterTile.js +79 -36
  275. package/lib/raster/raster.js +44 -22
  276. package/lib/tile/interaction/utils.js +3 -11
  277. package/lib/tile/manager/base.js +213 -47
  278. package/lib/tile/service/TileLayerService.js +185 -0
  279. package/lib/tile/service/TilePickService.js +136 -0
  280. package/lib/tile/style/constants.js +8 -19
  281. package/lib/tile/style/utils.js +0 -140
  282. package/lib/tile/tileFactory/DebugTile.js +115 -0
  283. package/lib/tile/tileFactory/ImageTile.js +104 -0
  284. package/lib/tile/tileFactory/MaskTile.js +113 -0
  285. package/lib/tile/tileFactory/RasterRGBTile.js +106 -0
  286. package/lib/tile/tileFactory/RasterTile.js +205 -0
  287. package/lib/tile/tileFactory/Tile.js +146 -0
  288. package/lib/tile/tileFactory/VectorTile.js +173 -0
  289. package/lib/tile/tileFactory/index.js +42 -24
  290. package/lib/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +35 -21
  291. package/lib/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +24 -11
  292. package/lib/tile/tileFactory/util.js +48 -0
  293. package/lib/tile/tileLayer/BaseLayer.js +373 -0
  294. package/lib/tile/utils.js +0 -146
  295. package/lib/utils/dataMappingStyle.js +21 -21
  296. package/lib/utils/layerData.js +4 -10
  297. package/lib/wind/index.js +29 -17
  298. package/lib/wind/models/wind.js +122 -104
  299. package/package.json +7 -7
  300. package/es/tile/interaction/TilePickService.d.ts +0 -16
  301. package/es/tile/interaction/TilePickService.js +0 -129
  302. package/es/tile/manager/layerManager.d.ts +0 -19
  303. package/es/tile/manager/layerManager.js +0 -254
  304. package/es/tile/manager/mapLayerManager.d.ts +0 -7
  305. package/es/tile/manager/mapLayerManager.js +0 -119
  306. package/es/tile/models/tileModel.d.ts +0 -10
  307. package/es/tile/models/tileModel.js +0 -81
  308. package/es/tile/render/TileRenderService.d.ts +0 -10
  309. package/es/tile/render/TileRenderService.js +0 -68
  310. package/es/tile/style/TileStyleService.d.ts +0 -17
  311. package/es/tile/style/TileStyleService.js +0 -118
  312. package/es/tile/tileFactory/base.d.ts +0 -45
  313. package/es/tile/tileFactory/base.js +0 -403
  314. package/es/tile/tileFactory/layers/vectorLayer.d.ts +0 -30
  315. package/es/tile/tileFactory/layers/vectorLayer.js +0 -253
  316. package/es/tile/tileFactory/line.d.ts +0 -12
  317. package/es/tile/tileFactory/line.js +0 -59
  318. package/es/tile/tileFactory/mask.d.ts +0 -12
  319. package/es/tile/tileFactory/mask.js +0 -60
  320. package/es/tile/tileFactory/point.d.ts +0 -12
  321. package/es/tile/tileFactory/point.js +0 -60
  322. package/es/tile/tileFactory/polygon.d.ts +0 -12
  323. package/es/tile/tileFactory/polygon.js +0 -59
  324. package/es/tile/tileFactory/raster.d.ts +0 -12
  325. package/es/tile/tileFactory/raster.js +0 -55
  326. package/es/tile/tileFactory/rasterData.d.ts +0 -12
  327. package/es/tile/tileFactory/rasterData.js +0 -81
  328. package/es/tile/tileFactory/test.d.ts +0 -12
  329. package/es/tile/tileFactory/test.js +0 -94
  330. package/es/tile/tileLayer/MapTileLayer.d.ts +0 -6
  331. package/es/tile/tileLayer/MapTileLayer.js +0 -48
  332. package/es/tile/tileLayer/TileLayer.d.ts +0 -22
  333. package/es/tile/tileLayer/TileLayer.js +0 -198
  334. package/es/tile/tileLayer/base.d.ts +0 -33
  335. package/es/tile/tileLayer/base.js +0 -212
  336. package/lib/tile/interaction/TilePickService.js +0 -143
  337. package/lib/tile/manager/layerManager.js +0 -275
  338. package/lib/tile/manager/mapLayerManager.js +0 -134
  339. package/lib/tile/models/tileModel.js +0 -94
  340. package/lib/tile/render/TileRenderService.js +0 -78
  341. package/lib/tile/style/TileStyleService.js +0 -133
  342. package/lib/tile/tileFactory/base.js +0 -427
  343. package/lib/tile/tileFactory/layers/vectorLayer.js +0 -268
  344. package/lib/tile/tileFactory/line.js +0 -70
  345. package/lib/tile/tileFactory/mask.js +0 -71
  346. package/lib/tile/tileFactory/point.js +0 -71
  347. package/lib/tile/tileFactory/polygon.js +0 -70
  348. package/lib/tile/tileFactory/raster.js +0 -68
  349. package/lib/tile/tileFactory/rasterData.js +0 -93
  350. package/lib/tile/tileFactory/test.js +0 -106
  351. package/lib/tile/tileLayer/MapTileLayer.js +0 -63
  352. package/lib/tile/tileLayer/TileLayer.js +0 -215
  353. package/lib/tile/tileLayer/base.js +0 -225
@@ -1,45 +0,0 @@
1
- import { ILayer, IMapService, IParseDataItem, IRendererService, ISubLayerInitOptions } from '@antv/l7-core';
2
- import Source from '@antv/l7-source';
3
- import { Tile, TilesetManager } from '@antv/l7-utils';
4
- import { ILayerTileConfig, ITileFactory, ITileFactoryOptions, ITileStyles, Timeout } from '../interface';
5
- export default class TileFactory implements ITileFactory {
6
- type: string;
7
- parentLayer: ILayer;
8
- mapService: IMapService;
9
- rendererService: IRendererService;
10
- outSideEventTimer: Timeout | null;
11
- protected zoomOffset: number;
12
- protected tilesetManager: TilesetManager;
13
- protected layers: ILayer[];
14
- private eventCache;
15
- constructor(option: ITileFactoryOptions);
16
- createTile(tile: Tile, initOptions: ISubLayerInitOptions): {
17
- layers: ILayer[];
18
- layerIDList: string[];
19
- };
20
- getFeatureData(tile: Tile, initOptions: ISubLayerInitOptions): {
21
- features: never[];
22
- featureId: null;
23
- vectorTileLayer: null;
24
- source: null;
25
- } | {
26
- features: any[];
27
- featureId: string | undefined;
28
- vectorTileLayer: any;
29
- source: Source;
30
- };
31
- createLayer(tileLayerOption: ILayerTileConfig): any;
32
- updateStyle(styles: ITileStyles): string;
33
- protected getTile(lng: number, lat: number): Tile;
34
- private bindVectorEvent;
35
- private readRasterTile;
36
- private bindRasterEvent;
37
- private bindCommonEvent;
38
- protected emitEvent(layers: ILayer[]): void;
39
- protected emitRasterEvent(layers: ILayer[]): void;
40
- protected getCombineFeature(features: IParseDataItem[]): any;
41
- protected getFeatureAndEmitEvent(eventName: string, e: any): void;
42
- private getAllFeatures;
43
- private getLayerInitOption;
44
- private handleOutsideEvent;
45
- }
@@ -1,403 +0,0 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
- import _createClass from "@babel/runtime/helpers/createClass";
5
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
- import Source from '@antv/l7-source';
7
- import { setStyleAttributeField, setScale } from "../style/utils";
8
- import { registerLayers } from "../utils";
9
- import { readRasterValue } from "../interaction/getRasterData";
10
- import VectorLayer from "./layers/vectorLayer";
11
- import * as turf from '@turf/helpers';
12
- import union from '@turf/union';
13
- import clone from '@turf/clone';
14
- import polygonToLineString from '@turf/polygon-to-line';
15
- var EMPTY_FEATURE_DATA = {
16
- features: [],
17
- featureId: null,
18
- vectorTileLayer: null,
19
- source: null
20
- };
21
-
22
- var TileFactory = /*#__PURE__*/function () {
23
- // 用于记录图层内事件,辅助判断图层外事件逻辑
24
- function TileFactory(option) {
25
- _classCallCheck(this, TileFactory);
26
-
27
- _defineProperty(this, "outSideEventTimer", null);
28
-
29
- _defineProperty(this, "eventCache", {
30
- click: 0,
31
- mousemove: 0,
32
- mouseup: 0,
33
- mousedown: 0,
34
- contextmenu: 0
35
- });
36
-
37
- this.parentLayer = option.parent;
38
- this.mapService = option.mapService;
39
- this.rendererService = option.rendererService;
40
- var source = this.parentLayer.getSource();
41
- this.zoomOffset = source.parser.zoomOffset || 0;
42
- this.tilesetManager = source.tileset;
43
- } // eslint-disable-next-line @typescript-eslint/no-unused-vars
44
-
45
-
46
- _createClass(TileFactory, [{
47
- key: "createTile",
48
- value: function createTile(tile, initOptions) {
49
- return {
50
- layers: [],
51
- layerIDList: []
52
- };
53
- }
54
- }, {
55
- key: "getFeatureData",
56
- value: function getFeatureData(tile, initOptions) {
57
- var sourceLayer = initOptions.sourceLayer,
58
- featureId = initOptions.featureId,
59
- _initOptions$transfor = initOptions.transforms,
60
- transforms = _initOptions$transfor === void 0 ? [] : _initOptions$transfor,
61
- layerType = initOptions.layerType,
62
- shape = initOptions.shape;
63
-
64
- if (!sourceLayer) {
65
- return EMPTY_FEATURE_DATA;
66
- }
67
-
68
- var vectorTileLayer = tile.data.layers[sourceLayer];
69
- var features = vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.features;
70
-
71
- if (!(Array.isArray(features) && features.length > 0)) {
72
- return EMPTY_FEATURE_DATA;
73
- } else {
74
- var geofeatures = [];
75
-
76
- if (layerType === 'LineLayer' && shape === 'simple') {
77
- features.map(function (feature) {
78
- var cloneFeature = clone(feature);
79
-
80
- if (cloneFeature.geometry.type === 'MultiPolygon') {
81
- var _geofeatures;
82
-
83
- // @ts-ignore
84
- var linefeatures = polygonToLineString(cloneFeature).features;
85
-
86
- (_geofeatures = geofeatures).push.apply(_geofeatures, _toConsumableArray(linefeatures));
87
- } else if (cloneFeature.geometry.type === 'Polygon') {
88
- cloneFeature.geometry.type = 'MultiLineString';
89
- geofeatures.push(cloneFeature);
90
- } else {
91
- geofeatures.push(cloneFeature);
92
- }
93
- });
94
- } else {
95
- geofeatures = features;
96
- }
97
-
98
- var source = new Source({
99
- type: 'FeatureCollection',
100
- features: geofeatures
101
- }, {
102
- parser: {
103
- type: 'geojson',
104
- featureId: featureId,
105
- cancelExtent: true
106
- },
107
- transforms: transforms
108
- });
109
- return {
110
- features: geofeatures,
111
- featureId: featureId,
112
- vectorTileLayer: vectorTileLayer,
113
- source: source
114
- };
115
- }
116
- }
117
- }, {
118
- key: "createLayer",
119
- value: function createLayer(tileLayerOption) {
120
- var L7Layer = tileLayerOption.L7Layer,
121
- tile = tileLayerOption.tile,
122
- initOptions = tileLayerOption.initOptions,
123
- vectorTileLayer = tileLayerOption.vectorTileLayer,
124
- source = tileLayerOption.source,
125
- _tileLayerOption$need = tileLayerOption.needListen,
126
- needListen = _tileLayerOption$need === void 0 ? true : _tileLayerOption$need;
127
- var mask = initOptions.mask,
128
- color = initOptions.color,
129
- layerType = initOptions.layerType,
130
- size = initOptions.size,
131
- shape = initOptions.shape,
132
- usage = initOptions.usage,
133
- basemapColor = initOptions.basemapColor,
134
- basemapSize = initOptions.basemapSize;
135
- var FactoryTileLayer = L7Layer ? L7Layer : VectorLayer;
136
- var layer = new FactoryTileLayer(_objectSpread({
137
- visible: tile.isVisible,
138
- tileOrigin: vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.l7TileOrigin,
139
- coord: vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.l7TileCoord,
140
- needListen: needListen
141
- }, this.getLayerInitOption(initOptions)));
142
- if (layerType) layer.type = layerType; // Tip: sign tile layer
143
-
144
- layer.isTileLayer = true; // vector 、raster
145
- // vector layer set event
146
-
147
- if (layer.isVector && usage !== 'basemap') {
148
- this.emitEvent([layer]);
149
- layer.select(true);
150
- } // set source
151
-
152
-
153
- layer.source(source); // set scale attribute field
154
-
155
- setStyleAttributeField(layer, this.parentLayer, 'shape', shape);
156
-
157
- if (usage !== 'basemap') {
158
- // set scale
159
- setScale(layer, this.parentLayer);
160
- setStyleAttributeField(layer, this.parentLayer, 'color', color);
161
- setStyleAttributeField(layer, this.parentLayer, 'size', size);
162
- } else {
163
- layer.style({
164
- color: basemapColor,
165
- size: basemapSize
166
- });
167
- } // set mask
168
-
169
-
170
- if (mask && layer.isVector) {
171
- var masklayer = new VectorLayer({
172
- layerType: "MaskLayer"
173
- }).source({
174
- type: 'FeatureCollection',
175
- features: [tile.bboxPolygon]
176
- }, {
177
- parser: {
178
- type: 'geojson',
179
- cancelExtent: true
180
- }
181
- });
182
- registerLayers(this.parentLayer, [masklayer]);
183
- layer.addMaskLayer(masklayer);
184
- }
185
-
186
- this.layers = [layer];
187
- return layer;
188
- } // eslint-disable-next-line @typescript-eslint/no-unused-vars
189
-
190
- }, {
191
- key: "updateStyle",
192
- value: function updateStyle(styles) {
193
- return '';
194
- }
195
- }, {
196
- key: "getTile",
197
- value: function getTile(lng, lat) {
198
- var zoom = this.mapService.getZoom();
199
- return this.tilesetManager.getTileByLngLat(lng, lat, zoom);
200
- }
201
- }, {
202
- key: "bindVectorEvent",
203
- value: function bindVectorEvent(layer) {
204
- var _this = this;
205
-
206
- layer.on('click', function (e) {
207
- _this.eventCache.click = 1;
208
-
209
- _this.getFeatureAndEmitEvent('subLayerClick', e);
210
- });
211
- layer.on('mousemove', function (e) {
212
- _this.eventCache.mousemove = 1;
213
-
214
- _this.getFeatureAndEmitEvent('subLayerMouseMove', e);
215
- });
216
- layer.on('mouseenter', function (e) {
217
- _this.getFeatureAndEmitEvent('subLayerMouseEnter', e);
218
- });
219
- }
220
- }, {
221
- key: "readRasterTile",
222
- value: function readRasterTile(e, name) {
223
- var _e$lngLat = e.lngLat,
224
- lng = _e$lngLat.lng,
225
- lat = _e$lngLat.lat;
226
- var tile = this.getTile(lng, lat);
227
- if (!tile) return;
228
- var data = readRasterValue(tile, this.mapService, e.x, e.y);
229
- e.value = data;
230
- this.parentLayer.emit(name, e);
231
- }
232
- }, {
233
- key: "bindRasterEvent",
234
- value: function bindRasterEvent(layer) {
235
- var _this2 = this;
236
-
237
- layer.on('click', function (e) {
238
- _this2.eventCache.click = 1;
239
-
240
- _this2.readRasterTile(e, 'subLayerClick');
241
- });
242
- layer.on('mousemove', function (e) {
243
- _this2.eventCache.mousemove = 1;
244
-
245
- _this2.readRasterTile(e, 'subLayerMouseMove');
246
- });
247
- layer.on('mouseenter', function (e) {
248
- _this2.readRasterTile(e, 'subLayerMouseMove');
249
- });
250
- }
251
- }, {
252
- key: "bindCommonEvent",
253
- value: function bindCommonEvent(layer) {
254
- var _this3 = this;
255
-
256
- layer.on('mouseup', function (e) {
257
- _this3.eventCache.mouseup = 1;
258
-
259
- _this3.getFeatureAndEmitEvent('subLayerMouseUp', e);
260
- });
261
- layer.on('mouseout', function (e) {
262
- _this3.getFeatureAndEmitEvent('subLayerMouseOut', e);
263
- });
264
- layer.on('mousedown', function (e) {
265
- _this3.eventCache.mousedown = 1;
266
-
267
- _this3.getFeatureAndEmitEvent('subLayerMouseDown', e);
268
- });
269
- layer.on('contextmenu', function (e) {
270
- _this3.eventCache.contextmenu = 1;
271
-
272
- _this3.getFeatureAndEmitEvent('subLayerContextmenu', e);
273
- }); // out side
274
-
275
- layer.on('unclick', function (e) {
276
- return _this3.handleOutsideEvent('click', 'subLayerUnClick', layer, e);
277
- });
278
- layer.on('unmouseup', function (e) {
279
- return _this3.handleOutsideEvent('mouseup', 'subLayerUnMouseUp', layer, e);
280
- });
281
- layer.on('unmousedown', function (e) {
282
- return _this3.handleOutsideEvent('mousedown', 'subLayerUnMouseDown', layer, e);
283
- });
284
- layer.on('uncontextmenu', function (e) {
285
- return _this3.handleOutsideEvent('contextmenu', 'subLayerUnContextmenu', layer, e);
286
- });
287
- }
288
- }, {
289
- key: "emitEvent",
290
- value: function emitEvent(layers) {
291
- var _this4 = this;
292
-
293
- layers.map(function (layer) {
294
- layer.once('modelLoaded', function () {
295
- _this4.bindVectorEvent(layer);
296
-
297
- _this4.bindCommonEvent(layer);
298
- });
299
- });
300
- }
301
- }, {
302
- key: "emitRasterEvent",
303
- value: function emitRasterEvent(layers) {
304
- var _this5 = this;
305
-
306
- layers.map(function (layer) {
307
- layer.once('modelLoaded', function () {
308
- _this5.bindRasterEvent(layer);
309
-
310
- _this5.bindCommonEvent(layer);
311
- });
312
- });
313
- }
314
- }, {
315
- key: "getCombineFeature",
316
- value: function getCombineFeature(features) {
317
- var p = null;
318
- var properties = features[0];
319
- features.map(function (feature) {
320
- var polygon = turf.polygon(feature.coordinates);
321
-
322
- if (p === null) {
323
- p = polygon;
324
- }
325
-
326
- {
327
- p = union(p, polygon);
328
- }
329
- });
330
-
331
- if (properties) {
332
- p.properties = _objectSpread({}, properties);
333
- }
334
-
335
- return p;
336
- }
337
- }, {
338
- key: "getFeatureAndEmitEvent",
339
- value: function getFeatureAndEmitEvent(eventName, e) {
340
- var featureId = e.featureId;
341
- var features = this.getAllFeatures(featureId);
342
-
343
- try {
344
- e.feature = this.getCombineFeature(features);
345
- } catch (err) {
346
- console.warn('Combine Featuer Err! Return First Feature!');
347
- e.feature = features[0];
348
- }
349
-
350
- this.parentLayer.emit(eventName, e);
351
- }
352
- }, {
353
- key: "getAllFeatures",
354
- value: function getAllFeatures(featureId) {
355
- var allLayers = this.parentLayer.tileLayer.children;
356
- var features = [];
357
- allLayers.map(function (layer) {
358
- var source = layer.getSource();
359
- source.data.dataArray.map(function (feature) {
360
- if (feature._id === featureId) {
361
- features.push(feature);
362
- }
363
- });
364
- });
365
- return features;
366
- }
367
- }, {
368
- key: "getLayerInitOption",
369
- value: function getLayerInitOption(initOptions) {
370
- var option = _objectSpread({}, initOptions);
371
-
372
- delete option.color;
373
- delete option.shape;
374
- delete option.size;
375
- delete option.coords;
376
- delete option.sourceLayer;
377
- delete option.coords;
378
- return option;
379
- }
380
- }, {
381
- key: "handleOutsideEvent",
382
- value: function handleOutsideEvent(type, emitType, layer, e) {
383
- var _this6 = this;
384
-
385
- if (this.outSideEventTimer) {
386
- clearTimeout(this.outSideEventTimer);
387
- this.outSideEventTimer = null;
388
- }
389
-
390
- this.outSideEventTimer = setTimeout(function () {
391
- if (_this6.eventCache[type] > 0) {
392
- _this6.eventCache[type] = 0;
393
- } else {
394
- _this6.getFeatureAndEmitEvent(emitType, e);
395
- }
396
- }, 64);
397
- }
398
- }]);
399
-
400
- return TileFactory;
401
- }();
402
-
403
- export { TileFactory as default };
@@ -1,30 +0,0 @@
1
- import BaseLayer from '../../../core/BaseLayer';
2
- import { ILineLayerStyleOptions, IPointLayerStyleOptions, IPolygonLayerStyleOptions, IMaskLayerStyleOptions } from '../../../core/interface';
3
- import lineFillModel from '../../../line/models/tile';
4
- import lineSimpleModel from '../../../line/models/simpleTileLine';
5
- import pointTextModel from '../../../point/models/tileText';
6
- import pointFillModel from '../../../point/models/tile';
7
- import polygonFillModel from '../../../polygon/models/tile';
8
- import maskModel from '../../../mask/models/fill';
9
- declare type ILayerStyleOptions = IPolygonLayerStyleOptions & ILineLayerStyleOptions & IPointLayerStyleOptions & IMaskLayerStyleOptions;
10
- export default class VectorLayer extends BaseLayer<Partial<ILayerStyleOptions & {
11
- needListen: boolean;
12
- }>> {
13
- needListen: boolean;
14
- isVector: boolean;
15
- isTileLayer: boolean;
16
- type: string;
17
- private pickedID;
18
- init(): this;
19
- renderModels(isPicking?: boolean): this;
20
- protected sourceEvent: () => void;
21
- getPickID(): number | null;
22
- setPickID(): number | null;
23
- buildModels(): void;
24
- rebuildModels(): void;
25
- protected getModelType(): typeof lineFillModel | typeof lineSimpleModel | typeof pointTextModel | typeof pointFillModel | typeof polygonFillModel | typeof maskModel;
26
- protected getLineModel(): typeof lineFillModel | typeof lineSimpleModel;
27
- protected getPointModel(): typeof pointTextModel | typeof pointFillModel;
28
- protected getDefaultConfig(): {};
29
- }
30
- export {};