@antv/l7-layers 2.10.5 → 2.10.7

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 (387) 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 +2 -3
  10. package/es/canvas/index.js +29 -19
  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 +22 -18
  18. package/es/core/BaseLayer.js +387 -266
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +47 -6
  21. package/es/core/LayerPickService.d.ts +12 -0
  22. package/es/core/LayerPickService.js +165 -0
  23. package/es/core/TextureService.d.ts +14 -0
  24. package/es/core/TextureService.js +67 -0
  25. package/es/core/triangulation.js +8 -1
  26. package/es/earth/index.d.ts +2 -2
  27. package/es/earth/index.js +28 -9
  28. package/es/earth/models/atmosphere.d.ts +2 -2
  29. package/es/earth/models/atmosphere.js +67 -22
  30. package/es/earth/models/base.d.ts +2 -2
  31. package/es/earth/models/base.js +89 -43
  32. package/es/earth/models/bloomsphere.d.ts +2 -2
  33. package/es/earth/models/bloomsphere.js +67 -22
  34. package/es/heatmap/index.d.ts +2 -3
  35. package/es/heatmap/index.js +33 -24
  36. package/es/heatmap/models/grid.d.ts +2 -2
  37. package/es/heatmap/models/grid.js +68 -27
  38. package/es/heatmap/models/grid3d.d.ts +2 -2
  39. package/es/heatmap/models/grid3d.js +70 -29
  40. package/es/heatmap/models/heatmap.d.ts +2 -2
  41. package/es/heatmap/models/heatmap.js +40 -14
  42. package/es/heatmap/models/hexagon.d.ts +2 -2
  43. package/es/heatmap/models/hexagon.js +69 -28
  44. package/es/heatmap/shaders/hexagon_3d_vert.glsl +2 -13
  45. package/es/image/index.d.ts +3 -4
  46. package/es/image/index.js +29 -34
  47. package/es/image/models/image.d.ts +2 -2
  48. package/es/image/models/image.js +117 -67
  49. package/es/image/models/index.d.ts +1 -1
  50. package/es/image/models/index.js +1 -5
  51. package/es/image/shaders/dataImage_frag.glsl +10 -16
  52. package/es/index.d.ts +2 -2
  53. package/es/index.js +2 -2
  54. package/es/line/index.d.ts +5 -4
  55. package/es/line/index.js +51 -25
  56. package/es/line/models/arc.d.ts +2 -2
  57. package/es/line/models/arc.js +73 -38
  58. package/es/line/models/arc_3d.d.ts +2 -2
  59. package/es/line/models/arc_3d.js +69 -34
  60. package/es/line/models/earthArc_3d.d.ts +2 -2
  61. package/es/line/models/earthArc_3d.js +72 -37
  62. package/es/line/models/great_circle.d.ts +2 -2
  63. package/es/line/models/great_circle.js +70 -29
  64. package/es/line/models/half.d.ts +2 -2
  65. package/es/line/models/half.js +40 -17
  66. package/es/line/models/index.d.ts +1 -1
  67. package/es/line/models/index.js +0 -2
  68. package/es/line/models/line.d.ts +2 -2
  69. package/es/line/models/line.js +79 -47
  70. package/es/line/models/linearline.d.ts +2 -2
  71. package/es/line/models/linearline.js +70 -31
  72. package/es/line/models/simpleLine.d.ts +2 -2
  73. package/es/line/models/simpleLine.js +71 -34
  74. package/es/line/models/simpleTileLine.d.ts +2 -2
  75. package/es/line/models/simpleTileLine.js +70 -30
  76. package/es/line/models/tile.d.ts +2 -2
  77. package/es/line/models/tile.js +40 -17
  78. package/es/line/models/wall.d.ts +2 -2
  79. package/es/line/models/wall.js +67 -22
  80. package/es/mask/index.d.ts +2 -4
  81. package/es/mask/index.js +27 -97
  82. package/es/mask/models/fill.d.ts +2 -2
  83. package/es/mask/models/fill.js +40 -16
  84. package/es/mask/models/index.d.ts +1 -1
  85. package/es/mask/models/index.js +1 -3
  86. package/es/plugins/DataMappingPlugin.d.ts +0 -2
  87. package/es/plugins/DataMappingPlugin.js +90 -152
  88. package/es/plugins/DataSourcePlugin.js +67 -30
  89. package/es/plugins/FeatureScalePlugin.d.ts +0 -1
  90. package/es/plugins/FeatureScalePlugin.js +85 -61
  91. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  92. package/es/plugins/LayerModelPlugin.js +121 -37
  93. package/es/plugins/LayerStylePlugin.js +1 -6
  94. package/es/plugins/MultiPassRendererPlugin.js +1 -1
  95. package/es/plugins/PixelPickingPlugin.js +1 -1
  96. package/es/plugins/RegisterStyleAttributePlugin.js +1 -16
  97. package/es/plugins/UpdateModelPlugin.js +3 -0
  98. package/es/plugins/UpdateStyleAttributePlugin.js +3 -6
  99. package/es/point/index.d.ts +4 -4
  100. package/es/point/index.js +55 -23
  101. package/es/point/models/earthExtrude.d.ts +2 -2
  102. package/es/point/models/earthExtrude.js +73 -30
  103. package/es/point/models/earthFill.d.ts +2 -2
  104. package/es/point/models/earthFill.js +66 -21
  105. package/es/point/models/extrude.d.ts +2 -2
  106. package/es/point/models/extrude.js +40 -17
  107. package/es/point/models/fill.d.ts +2 -2
  108. package/es/point/models/fill.js +43 -20
  109. package/es/point/models/fillmage.d.ts +2 -2
  110. package/es/point/models/fillmage.js +82 -43
  111. package/es/point/models/image.d.ts +2 -2
  112. package/es/point/models/image.js +72 -31
  113. package/es/point/models/index.d.ts +1 -1
  114. package/es/point/models/index.js +0 -2
  115. package/es/point/models/normal.d.ts +2 -2
  116. package/es/point/models/normal.js +71 -30
  117. package/es/point/models/radar.d.ts +2 -2
  118. package/es/point/models/radar.js +75 -35
  119. package/es/point/models/simplePoint.d.ts +2 -2
  120. package/es/point/models/simplePoint.js +70 -29
  121. package/es/point/models/text.d.ts +3 -2
  122. package/es/point/models/text.js +185 -112
  123. package/es/point/models/tile.d.ts +2 -2
  124. package/es/point/models/tile.js +77 -35
  125. package/es/point/models/tileText.d.ts +2 -2
  126. package/es/point/models/tileText.js +151 -116
  127. package/es/polygon/index.d.ts +2 -3
  128. package/es/polygon/index.js +27 -24
  129. package/es/polygon/models/extrude.d.ts +2 -2
  130. package/es/polygon/models/extrude.js +69 -32
  131. package/es/polygon/models/fill.d.ts +2 -2
  132. package/es/polygon/models/fill.js +76 -43
  133. package/es/polygon/models/index.d.ts +1 -1
  134. package/es/polygon/models/index.js +0 -2
  135. package/es/polygon/models/ocean.d.ts +2 -2
  136. package/es/polygon/models/ocean.js +69 -28
  137. package/es/polygon/models/tile.d.ts +2 -2
  138. package/es/polygon/models/tile.js +70 -30
  139. package/es/polygon/models/water.d.ts +2 -2
  140. package/es/polygon/models/water.js +69 -28
  141. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +1 -2
  142. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +1 -2
  143. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +1 -2
  144. package/es/raster/index.d.ts +2 -3
  145. package/es/raster/index.js +30 -20
  146. package/es/raster/models/index.d.ts +1 -1
  147. package/es/raster/models/index.js +2 -2
  148. package/es/raster/models/raster.d.ts +2 -2
  149. package/es/raster/models/raster.js +39 -28
  150. package/es/raster/models/rasterRgb.d.ts +7 -8
  151. package/es/raster/models/rasterRgb.js +75 -45
  152. package/es/{image/models/tileDataImage.d.ts → raster/models/rasterTerrainRgb.d.ts} +3 -3
  153. package/es/raster/models/rasterTerrainRgb.js +184 -0
  154. package/es/raster/models/rasterTile.d.ts +2 -2
  155. package/es/raster/models/rasterTile.js +78 -37
  156. package/es/raster/shaders/raster_2d_frag.glsl +2 -38
  157. package/es/raster/shaders/raster_rgb_frag.glsl +10 -4
  158. package/es/raster/shaders/raster_terrain_rgb_frag.glsl +31 -0
  159. package/es/raster/shaders/rater_terrain_rgb_vert.glsl +17 -0
  160. package/es/tile/interaction/getRasterData.d.ts +2 -2
  161. package/es/tile/interaction/utils.js +3 -11
  162. package/es/tile/interface.d.ts +5 -4
  163. package/es/tile/manager/base.d.ts +17 -12
  164. package/es/tile/manager/base.js +212 -47
  165. package/es/tile/service/TileLayerService.d.ts +34 -0
  166. package/es/tile/service/TileLayerService.js +220 -0
  167. package/es/tile/service/TilePickService.d.ts +26 -0
  168. package/es/tile/service/TilePickService.js +174 -0
  169. package/es/tile/service/TileSourceService.d.ts +7 -0
  170. package/es/tile/service/TileSourceService.js +39 -0
  171. package/es/tile/style/constants.d.ts +1 -13
  172. package/es/tile/style/constants.js +6 -15
  173. package/es/tile/style/utils.d.ts +1 -8
  174. package/es/tile/style/utils.js +0 -126
  175. package/es/tile/tileFactory/DebugTile.d.ts +16 -0
  176. package/es/tile/tileFactory/DebugTile.js +100 -0
  177. package/es/tile/tileFactory/ImageTile.d.ts +14 -0
  178. package/es/tile/tileFactory/ImageTile.js +89 -0
  179. package/es/tile/tileFactory/MaskTile.d.ts +18 -0
  180. package/es/tile/tileFactory/MaskTile.js +105 -0
  181. package/es/tile/tileFactory/RasterRGBTile.d.ts +11 -0
  182. package/es/tile/tileFactory/RasterRGBTile.js +98 -0
  183. package/es/tile/tileFactory/RasterTerrainRGBTile.d.ts +14 -0
  184. package/es/tile/tileFactory/RasterTerrainRGBTile.js +89 -0
  185. package/es/tile/tileFactory/RasterTile.d.ts +18 -0
  186. package/es/tile/tileFactory/RasterTile.js +133 -0
  187. package/es/tile/tileFactory/Tile.d.ts +34 -0
  188. package/es/tile/tileFactory/Tile.js +161 -0
  189. package/es/tile/tileFactory/VectorTile.d.ts +27 -0
  190. package/es/tile/tileFactory/VectorTile.js +198 -0
  191. package/es/tile/tileFactory/index.d.ts +11 -4
  192. package/es/tile/tileFactory/index.js +34 -23
  193. package/es/tile/tileFactory/layers/{rasterDataLayer.d.ts → RasterDataLayer.d.ts} +3 -3
  194. package/es/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +34 -22
  195. package/es/tile/tileFactory/layers/{tileTest.d.ts → TileDebugLayer.d.ts} +2 -2
  196. package/es/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +23 -10
  197. package/es/tile/tileFactory/util.d.ts +5 -0
  198. package/es/tile/tileFactory/util.js +21 -0
  199. package/es/tile/tileLayer/BaseLayer.d.ts +45 -0
  200. package/es/tile/tileLayer/BaseLayer.js +348 -0
  201. package/es/tile/utils.d.ts +1 -11
  202. package/es/tile/utils.js +0 -129
  203. package/es/utils/dataMappingStyle.d.ts +4 -4
  204. package/es/utils/dataMappingStyle.js +16 -18
  205. package/es/utils/layerData.js +5 -11
  206. package/es/wind/index.d.ts +2 -3
  207. package/es/wind/index.js +27 -17
  208. package/es/wind/models/wind.d.ts +2 -2
  209. package/es/wind/models/wind.js +123 -104
  210. package/lib/Geometry/index.js +29 -17
  211. package/lib/Geometry/models/billboard.js +79 -37
  212. package/lib/Geometry/models/plane.js +82 -40
  213. package/lib/Geometry/models/sprite.js +85 -45
  214. package/lib/canvas/index.js +31 -19
  215. package/lib/canvas/models/canvas.js +56 -15
  216. package/lib/citybuliding/building.js +28 -17
  217. package/lib/citybuliding/models/build.js +72 -25
  218. package/lib/core/BaseLayer.js +388 -261
  219. package/lib/core/BaseModel.js +48 -6
  220. package/lib/core/LayerPickService.js +179 -0
  221. package/lib/core/TextureService.js +77 -0
  222. package/lib/core/triangulation.js +8 -1
  223. package/lib/earth/index.js +30 -9
  224. package/lib/earth/models/atmosphere.js +69 -22
  225. package/lib/earth/models/base.js +90 -42
  226. package/lib/earth/models/bloomsphere.js +69 -22
  227. package/lib/heatmap/index.js +35 -24
  228. package/lib/heatmap/models/grid.js +70 -27
  229. package/lib/heatmap/models/grid3d.js +72 -29
  230. package/lib/heatmap/models/heatmap.js +40 -14
  231. package/lib/heatmap/models/hexagon.js +71 -28
  232. package/lib/heatmap/shaders/hexagon_3d_vert.glsl +2 -13
  233. package/lib/image/index.js +31 -34
  234. package/lib/image/models/image.js +119 -67
  235. package/lib/image/models/index.js +1 -7
  236. package/lib/image/shaders/dataImage_frag.glsl +10 -16
  237. package/lib/index.js +5 -5
  238. package/lib/line/index.js +53 -26
  239. package/lib/line/models/arc.js +75 -38
  240. package/lib/line/models/arc_3d.js +71 -34
  241. package/lib/line/models/earthArc_3d.js +74 -37
  242. package/lib/line/models/great_circle.js +72 -29
  243. package/lib/line/models/half.js +40 -17
  244. package/lib/line/models/index.js +0 -3
  245. package/lib/line/models/line.js +81 -47
  246. package/lib/line/models/linearline.js +72 -31
  247. package/lib/line/models/simpleLine.js +73 -34
  248. package/lib/line/models/simpleTileLine.js +72 -30
  249. package/lib/line/models/tile.js +40 -17
  250. package/lib/line/models/wall.js +69 -22
  251. package/lib/mask/index.js +28 -99
  252. package/lib/mask/models/fill.js +40 -16
  253. package/lib/mask/models/index.js +1 -4
  254. package/lib/plugins/DataMappingPlugin.js +91 -149
  255. package/lib/plugins/DataSourcePlugin.js +69 -30
  256. package/lib/plugins/FeatureScalePlugin.js +87 -61
  257. package/lib/plugins/LayerModelPlugin.js +128 -41
  258. package/lib/plugins/LayerStylePlugin.js +1 -6
  259. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  260. package/lib/plugins/PixelPickingPlugin.js +1 -1
  261. package/lib/plugins/RegisterStyleAttributePlugin.js +1 -16
  262. package/lib/plugins/UpdateModelPlugin.js +3 -0
  263. package/lib/plugins/UpdateStyleAttributePlugin.js +3 -6
  264. package/lib/point/index.js +56 -24
  265. package/lib/point/models/earthExtrude.js +75 -30
  266. package/lib/point/models/earthFill.js +68 -21
  267. package/lib/point/models/extrude.js +40 -17
  268. package/lib/point/models/fill.js +44 -21
  269. package/lib/point/models/fillmage.js +84 -43
  270. package/lib/point/models/image.js +74 -31
  271. package/lib/point/models/index.js +0 -3
  272. package/lib/point/models/normal.js +73 -30
  273. package/lib/point/models/radar.js +77 -35
  274. package/lib/point/models/simplePoint.js +72 -29
  275. package/lib/point/models/text.js +185 -111
  276. package/lib/point/models/tile.js +79 -35
  277. package/lib/point/models/tileText.js +151 -115
  278. package/lib/polygon/index.js +29 -25
  279. package/lib/polygon/models/extrude.js +71 -32
  280. package/lib/polygon/models/fill.js +78 -43
  281. package/lib/polygon/models/index.js +0 -3
  282. package/lib/polygon/models/ocean.js +71 -28
  283. package/lib/polygon/models/tile.js +72 -30
  284. package/lib/polygon/models/water.js +71 -28
  285. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +1 -2
  286. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +1 -2
  287. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +1 -2
  288. package/lib/raster/index.js +32 -20
  289. package/lib/raster/models/index.js +3 -3
  290. package/lib/raster/models/raster.js +39 -29
  291. package/lib/raster/models/rasterRgb.js +78 -43
  292. package/lib/raster/models/rasterTerrainRgb.js +200 -0
  293. package/lib/raster/models/rasterTile.js +80 -37
  294. package/lib/raster/shaders/raster_2d_frag.glsl +2 -38
  295. package/lib/raster/shaders/raster_rgb_frag.glsl +10 -4
  296. package/lib/raster/shaders/raster_terrain_rgb_frag.glsl +31 -0
  297. package/lib/raster/shaders/rater_terrain_rgb_vert.glsl +17 -0
  298. package/lib/tile/interaction/utils.js +3 -11
  299. package/lib/tile/manager/base.js +213 -47
  300. package/lib/tile/service/TileLayerService.js +233 -0
  301. package/lib/tile/service/TilePickService.js +190 -0
  302. package/lib/tile/service/TileSourceService.js +59 -0
  303. package/lib/tile/style/constants.js +8 -19
  304. package/lib/tile/style/utils.js +0 -140
  305. package/lib/tile/tileFactory/DebugTile.js +115 -0
  306. package/lib/tile/tileFactory/ImageTile.js +104 -0
  307. package/lib/tile/tileFactory/MaskTile.js +120 -0
  308. package/lib/tile/tileFactory/RasterRGBTile.js +112 -0
  309. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +104 -0
  310. package/lib/tile/tileFactory/RasterTile.js +149 -0
  311. package/lib/tile/tileFactory/Tile.js +171 -0
  312. package/lib/tile/tileFactory/VectorTile.js +214 -0
  313. package/lib/tile/tileFactory/index.js +46 -23
  314. package/lib/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +36 -22
  315. package/lib/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +24 -11
  316. package/lib/tile/tileFactory/util.js +35 -0
  317. package/lib/tile/tileLayer/BaseLayer.js +363 -0
  318. package/lib/tile/utils.js +0 -148
  319. package/lib/utils/dataMappingStyle.js +18 -20
  320. package/lib/utils/layerData.js +4 -10
  321. package/lib/wind/index.js +29 -17
  322. package/lib/wind/models/wind.js +125 -104
  323. package/package.json +7 -7
  324. package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  325. package/es/image/models/dataImage.d.ts +0 -13
  326. package/es/image/models/dataImage.js +0 -186
  327. package/es/image/models/tileDataImage.js +0 -160
  328. package/es/raster/raster.d.ts +0 -21
  329. package/es/raster/raster.js +0 -161
  330. package/es/tile/interaction/TilePickService.d.ts +0 -16
  331. package/es/tile/interaction/TilePickService.js +0 -129
  332. package/es/tile/manager/layerManager.d.ts +0 -19
  333. package/es/tile/manager/layerManager.js +0 -254
  334. package/es/tile/manager/mapLayerManager.d.ts +0 -7
  335. package/es/tile/manager/mapLayerManager.js +0 -119
  336. package/es/tile/models/tileModel.d.ts +0 -10
  337. package/es/tile/models/tileModel.js +0 -81
  338. package/es/tile/render/TileRenderService.d.ts +0 -10
  339. package/es/tile/render/TileRenderService.js +0 -68
  340. package/es/tile/style/TileStyleService.d.ts +0 -17
  341. package/es/tile/style/TileStyleService.js +0 -118
  342. package/es/tile/tileFactory/base.d.ts +0 -45
  343. package/es/tile/tileFactory/base.js +0 -403
  344. package/es/tile/tileFactory/layers/vectorLayer.d.ts +0 -30
  345. package/es/tile/tileFactory/layers/vectorLayer.js +0 -253
  346. package/es/tile/tileFactory/line.d.ts +0 -12
  347. package/es/tile/tileFactory/line.js +0 -59
  348. package/es/tile/tileFactory/mask.d.ts +0 -12
  349. package/es/tile/tileFactory/mask.js +0 -60
  350. package/es/tile/tileFactory/point.d.ts +0 -12
  351. package/es/tile/tileFactory/point.js +0 -60
  352. package/es/tile/tileFactory/polygon.d.ts +0 -12
  353. package/es/tile/tileFactory/polygon.js +0 -59
  354. package/es/tile/tileFactory/raster.d.ts +0 -12
  355. package/es/tile/tileFactory/raster.js +0 -55
  356. package/es/tile/tileFactory/rasterData.d.ts +0 -12
  357. package/es/tile/tileFactory/rasterData.js +0 -81
  358. package/es/tile/tileFactory/test.d.ts +0 -12
  359. package/es/tile/tileFactory/test.js +0 -94
  360. package/es/tile/tileLayer/MapTileLayer.d.ts +0 -6
  361. package/es/tile/tileLayer/MapTileLayer.js +0 -48
  362. package/es/tile/tileLayer/TileLayer.d.ts +0 -22
  363. package/es/tile/tileLayer/TileLayer.js +0 -198
  364. package/es/tile/tileLayer/base.d.ts +0 -33
  365. package/es/tile/tileLayer/base.js +0 -212
  366. package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  367. package/lib/image/models/dataImage.js +0 -201
  368. package/lib/image/models/tileDataImage.js +0 -174
  369. package/lib/raster/raster.js +0 -178
  370. package/lib/tile/interaction/TilePickService.js +0 -143
  371. package/lib/tile/manager/layerManager.js +0 -275
  372. package/lib/tile/manager/mapLayerManager.js +0 -134
  373. package/lib/tile/models/tileModel.js +0 -94
  374. package/lib/tile/render/TileRenderService.js +0 -78
  375. package/lib/tile/style/TileStyleService.js +0 -133
  376. package/lib/tile/tileFactory/base.js +0 -427
  377. package/lib/tile/tileFactory/layers/vectorLayer.js +0 -268
  378. package/lib/tile/tileFactory/line.js +0 -70
  379. package/lib/tile/tileFactory/mask.js +0 -71
  380. package/lib/tile/tileFactory/point.js +0 -71
  381. package/lib/tile/tileFactory/polygon.js +0 -70
  382. package/lib/tile/tileFactory/raster.js +0 -68
  383. package/lib/tile/tileFactory/rasterData.js +0 -93
  384. package/lib/tile/tileFactory/test.js +0 -106
  385. package/lib/tile/tileLayer/MapTileLayer.js +0 -63
  386. package/lib/tile/tileLayer/TileLayer.js +0 -215
  387. package/lib/tile/tileLayer/base.js +0 -225
@@ -5,8 +5,8 @@ export default class MaskModel extends BaseModel {
5
5
  u_opacity: number;
6
6
  u_color: number[];
7
7
  };
8
- initModels(callbackModel: (models: IModel[]) => void): void;
9
- buildModels(callbackModel: (models: IModel[]) => void): Promise<void>;
8
+ initModels(): Promise<IModel[]>;
9
+ buildModels(): Promise<IModel[]>;
10
10
  clearModels(refresh?: boolean): void;
11
11
  protected registerBuiltinAttributes(): string;
12
12
  }
@@ -49,18 +49,43 @@ var MaskModel = /*#__PURE__*/function (_BaseModel) {
49
49
  }
50
50
  }, {
51
51
  key: "initModels",
52
- value: function initModels(callbackModel) {
53
- this.buildModels(callbackModel);
54
- }
55
- }, {
56
- key: "buildModels",
57
52
  value: function () {
58
- var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(callbackModel) {
53
+ var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
59
54
  return _regeneratorRuntime.wrap(function _callee$(_context) {
60
55
  while (1) {
61
56
  switch (_context.prev = _context.next) {
62
57
  case 0:
63
- this.layer.buildLayerModel({
58
+ _context.next = 2;
59
+ return this.buildModels();
60
+
61
+ case 2:
62
+ return _context.abrupt("return", _context.sent);
63
+
64
+ case 3:
65
+ case "end":
66
+ return _context.stop();
67
+ }
68
+ }
69
+ }, _callee, this);
70
+ }));
71
+
72
+ function initModels() {
73
+ return _initModels.apply(this, arguments);
74
+ }
75
+
76
+ return initModels;
77
+ }()
78
+ }, {
79
+ key: "buildModels",
80
+ value: function () {
81
+ var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
82
+ var model;
83
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
84
+ while (1) {
85
+ switch (_context2.prev = _context2.next) {
86
+ case 0:
87
+ _context2.next = 2;
88
+ return this.layer.buildLayerModel({
64
89
  moduleName: 'mask',
65
90
  vertexShader: mask_vert,
66
91
  fragmentShader: mask_frag,
@@ -84,22 +109,21 @@ var MaskModel = /*#__PURE__*/function (_BaseModel) {
84
109
  }
85
110
  },
86
111
  pick: false
87
- }).then(function (model) {
88
- callbackModel([model]);
89
- }).catch(function (err) {
90
- console.warn(err);
91
- callbackModel([]);
92
112
  });
93
113
 
94
- case 1:
114
+ case 2:
115
+ model = _context2.sent;
116
+ return _context2.abrupt("return", [model]);
117
+
118
+ case 4:
95
119
  case "end":
96
- return _context.stop();
120
+ return _context2.stop();
97
121
  }
98
122
  }
99
- }, _callee, this);
123
+ }, _callee2, this);
100
124
  }));
101
125
 
102
- function buildModels(_x) {
126
+ function buildModels() {
103
127
  return _buildModels.apply(this, arguments);
104
128
  }
105
129
 
@@ -1,4 +1,4 @@
1
- export declare type MaskModelType = 'fill' | 'vectorMask';
1
+ export declare type MaskModelType = 'fill';
2
2
  declare const MaskModels: {
3
3
  [key in MaskModelType]: any;
4
4
  };
@@ -1,7 +1,5 @@
1
- import MaskTileModel from "../../tile/models/tileModel";
2
1
  import FillModel from "./fill";
3
2
  var MaskModels = {
4
- fill: FillModel,
5
- vectorMask: MaskTileModel
3
+ fill: FillModel
6
4
  };
7
5
  export default MaskModels;
@@ -8,11 +8,9 @@ export default class DataMappingPlugin implements ILayerPlugin {
8
8
  }): void;
9
9
  private generateMaping;
10
10
  private mapping;
11
- private mapLayerMapping;
12
11
  private adjustData2Amap2Coordinates;
13
12
  private adjustData2SimpleCoordinates;
14
13
  private unProjectCoordinates;
15
14
  private applyAttributeMapping;
16
- private applyMapLayerAttributeMapping;
17
15
  private getArrowPoints;
18
16
  }
@@ -1,4 +1,5 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
3
  import _initializerDefineProperty from "@babel/runtime/helpers/esm/initializerDefineProperty";
3
4
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
5
  import _createClass from "@babel/runtime/helpers/esm/createClass";
@@ -8,9 +9,10 @@ import _initializerWarningHelper from "@babel/runtime/helpers/esm/initializerWar
8
9
 
9
10
  var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
10
11
 
12
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
11
13
  import { TYPES } from '@antv/l7-core';
12
14
  import { Version } from '@antv/l7-maps';
13
- import { isColor, normalize, rgb2arr } from '@antv/l7-utils';
15
+ import { normalize, rgb2arr } from '@antv/l7-utils';
14
16
  import { inject, injectable } from 'inversify';
15
17
  import { cloneDeep } from 'lodash';
16
18
  import 'reflect-metadata';
@@ -29,59 +31,73 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
29
31
  var _this = this;
30
32
 
31
33
  var styleAttributeService = _ref.styleAttributeService;
32
- layer.hooks.init.tap('DataMappingPlugin', function () {
33
- // 初始化重新生成 map
34
- var source = layer.getSource();
35
-
36
- if (source.inited) {
37
- _this.generateMaping(layer, {
38
- styleAttributeService: styleAttributeService
39
- });
40
- } else {
41
- source.once('update', function () {
42
- _this.generateMaping(layer, {
43
- styleAttributeService: styleAttributeService
44
- });
45
- });
46
- }
47
- });
48
- layer.hooks.beforeRenderData.tap('DataMappingPlugin', function () {
49
- layer.dataState.dataMappingNeedUpdate = false;
50
- var source = layer.getSource();
51
-
52
- if (source.inited) {
53
- _this.generateMaping(layer, {
54
- styleAttributeService: styleAttributeService
55
- });
56
- } else {
57
- source.once('update', function () {
58
- _this.generateMaping(layer, {
59
- styleAttributeService: styleAttributeService
60
- });
61
- });
62
- }
34
+ layer.hooks.init.tapPromise('DataMappingPlugin', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
35
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
36
+ while (1) {
37
+ switch (_context.prev = _context.next) {
38
+ case 0:
39
+ // 初始化重新生成 map
40
+ _this.generateMaping(layer, {
41
+ styleAttributeService: styleAttributeService
42
+ });
43
+
44
+ case 1:
45
+ case "end":
46
+ return _context.stop();
47
+ }
48
+ }
49
+ }, _callee);
50
+ })));
51
+ layer.hooks.beforeRenderData.tapPromise('DataMappingPlugin', /*#__PURE__*/function () {
52
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(flag) {
53
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
54
+ while (1) {
55
+ switch (_context2.prev = _context2.next) {
56
+ case 0:
57
+ if (flag) {
58
+ _context2.next = 2;
59
+ break;
60
+ }
61
+
62
+ return _context2.abrupt("return", flag);
63
+
64
+ case 2:
65
+ layer.dataState.dataMappingNeedUpdate = false;
66
+
67
+ _this.generateMaping(layer, {
68
+ styleAttributeService: styleAttributeService
69
+ });
70
+
71
+ return _context2.abrupt("return", true);
72
+
73
+ case 5:
74
+ case "end":
75
+ return _context2.stop();
76
+ }
77
+ }
78
+ }, _callee2);
79
+ }));
63
80
 
64
- return true;
65
- }); // remapping before render
81
+ return function (_x) {
82
+ return _ref3.apply(this, arguments);
83
+ };
84
+ }()); // remapping before render
66
85
 
67
86
  layer.hooks.beforeRender.tap('DataMappingPlugin', function () {
68
- var _layer$getLayerConfig = layer.getLayerConfig(),
69
- usage = _layer$getLayerConfig.usage;
70
-
71
- if (usage === 'basemap') {
72
- return;
73
- }
74
-
75
87
  var source = layer.getSource();
76
88
 
77
89
  if (layer.layerModelNeedUpdate || !source || !source.inited) {
78
90
  return;
79
91
  }
80
92
 
81
- var bottomColor = layer.getBottomColor();
82
93
  var attributes = styleAttributeService.getLayerStyleAttributes() || [];
83
94
  var filter = styleAttributeService.getLayerStyleAttribute('filter');
84
- var dataArray = source.data.dataArray;
95
+ var dataArray = source.data.dataArray; // TODO 数据为空的情况
96
+
97
+ if (Array.isArray(dataArray) && dataArray.length === 0) {
98
+ return;
99
+ }
100
+
85
101
  var attributesToRemapping = attributes.filter(function (attribute) {
86
102
  return attribute.needRemapping;
87
103
  } // 如果filter变化
@@ -90,35 +106,33 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
90
106
 
91
107
  if (filter !== null && filter !== void 0 && filter.needRemapping && filter !== null && filter !== void 0 && filter.scale) {
92
108
  filterData = dataArray.filter(function (record) {
93
- return _this.applyAttributeMapping(filter, record, bottomColor)[0];
109
+ return _this.applyAttributeMapping(filter, record)[0];
94
110
  });
95
111
  }
96
112
 
97
113
  if (attributesToRemapping.length) {
98
114
  // 过滤数据
99
115
  if (filter !== null && filter !== void 0 && filter.needRemapping) {
100
- var encodeData = _this.mapping(layer, attributes, filterData, undefined, bottomColor);
116
+ var encodeData = _this.mapping(layer, attributes, filterData, undefined);
101
117
 
102
118
  layer.setEncodedData(encodeData);
103
119
  filter.needRemapping = false;
104
120
  } else {
105
- var _encodeData = _this.mapping(layer, attributesToRemapping, filterData, layer.getEncodedData(), bottomColor);
121
+ var _encodeData = _this.mapping(layer, attributesToRemapping, filterData, layer.getEncodedData());
106
122
 
107
123
  layer.setEncodedData(_encodeData);
108
- } // 处理文本更新
109
-
124
+ } // 处理文本更新,更新文字形状
125
+ // layer.emit('remapping', null);
110
126
 
111
- layer.emit('remapping', null);
112
127
  }
113
128
  });
114
129
  }
115
130
  }, {
116
131
  key: "generateMaping",
117
- value: function generateMaping(layer, _ref2) {
132
+ value: function generateMaping(layer, _ref4) {
118
133
  var _this2 = this;
119
134
 
120
- var styleAttributeService = _ref2.styleAttributeService;
121
- var bottomColor = layer.getBottomColor();
135
+ var styleAttributeService = _ref4.styleAttributeService;
122
136
  var attributes = styleAttributeService.getLayerStyleAttributes() || [];
123
137
  var filter = styleAttributeService.getLayerStyleAttribute('filter');
124
138
  var dataArray = layer.getSource().data.dataArray;
@@ -126,30 +140,29 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
126
140
 
127
141
  if (filter !== null && filter !== void 0 && filter.scale) {
128
142
  filterData = dataArray.filter(function (record) {
129
- return _this2.applyAttributeMapping(filter, record, bottomColor)[0];
143
+ return _this2.applyAttributeMapping(filter, record)[0];
130
144
  });
131
- }
145
+ } // Tip: layer 对数据做处理
146
+ // 数据处理 在数据进行 mapping 生成 encodeData 之前对数据进行处理
147
+ // 在各个 layer 中继承
148
+
132
149
 
133
- var encodeData = this.mapping(layer, attributes, filterData, undefined, bottomColor);
150
+ filterData = layer.processData(filterData);
151
+ var encodeData = this.mapping(layer, attributes, filterData, undefined);
134
152
  layer.setEncodedData(encodeData); // 对外暴露事件
135
153
 
136
154
  layer.emit('dataUpdate', null);
137
155
  }
138
156
  }, {
139
157
  key: "mapping",
140
- value: function mapping(layer, attributes, data, predata, minimumColor) {
158
+ value: function mapping(layer, attributes, data, predata) {
141
159
  var _this3 = this;
142
160
 
143
- var _ref3 = layer.getLayerConfig(),
144
- _ref3$arrow = _ref3.arrow,
145
- arrow = _ref3$arrow === void 0 ? {
161
+ var _ref5 = layer.getLayerConfig(),
162
+ _ref5$arrow = _ref5.arrow,
163
+ arrow = _ref5$arrow === void 0 ? {
146
164
  enable: false
147
- } : _ref3$arrow,
148
- usage = _ref3.usage;
149
-
150
- if (usage === 'basemap') {
151
- return this.mapLayerMapping(layer, attributes, data, predata);
152
- }
165
+ } : _ref5$arrow;
153
166
 
154
167
  var usedAttributes = attributes.filter(function (attribute) {
155
168
  return attribute.scale !== undefined;
@@ -163,7 +176,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
163
176
  }, preRecord);
164
177
 
165
178
  usedAttributes.forEach(function (attribute) {
166
- var values = _this3.applyAttributeMapping(attribute, record, minimumColor);
179
+ var values = _this3.applyAttributeMapping(attribute, record);
167
180
 
168
181
  attribute.needRemapping = false; // TODO: 支持每个属性配置 postprocess
169
182
 
@@ -203,57 +216,10 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
203
216
  this.adjustData2SimpleCoordinates(mappedData);
204
217
  return mappedData;
205
218
  }
206
- }, {
207
- key: "mapLayerMapping",
208
- value: function mapLayerMapping(layer, attributes, data, predata) {
209
- var _this4 = this;
210
-
211
- var usedAttributes = attributes.filter(function (attribute) {
212
- return attribute.scale !== undefined;
213
- });
214
- var mappedData = data.map(function (record, i) {
215
- var preRecord = predata ? predata[i] : {};
216
-
217
- var encodeRecord = _objectSpread({
218
- id: record._id,
219
- coordinates: record.coordinates
220
- }, preRecord);
221
-
222
- usedAttributes.forEach(function (attribute) {
223
- var _layer$shapeOption;
224
-
225
- if (attribute.name === 'shape' && // @ts-ignore
226
- ((_layer$shapeOption = layer.shapeOption) === null || _layer$shapeOption === void 0 ? void 0 : _layer$shapeOption.field) === 'simple') {
227
- encodeRecord[attribute.name] = 'simple';
228
- attribute.needRemapping = false;
229
- } else {
230
- var values = _this4.applyMapLayerAttributeMapping(attribute, record);
231
-
232
- attribute.needRemapping = false; // @ts-ignore
233
-
234
- encodeRecord[attribute.name] = Array.isArray(values) && values.length === 1 ? values[0] : values; // 增加对 layer/text/iconfont unicode 映射的解析
235
-
236
- if (attribute.name === 'shape') {
237
- encodeRecord.shape = _this4.fontService.getIconFontKey(encodeRecord[attribute.name]);
238
- }
239
- }
240
- });
241
-
242
- if (encodeRecord.size === undefined) {
243
- // in case not set size
244
- encodeRecord.size = 1;
245
- }
246
-
247
- return encodeRecord;
248
- }); // 调整数据兼容 Amap2.0
249
-
250
- this.adjustData2Amap2Coordinates(mappedData, layer);
251
- return mappedData;
252
- }
253
219
  }, {
254
220
  key: "adjustData2Amap2Coordinates",
255
221
  value: function adjustData2Amap2Coordinates(mappedData, layer) {
256
- var _this5 = this;
222
+ var _this4 = this;
257
223
 
258
224
  // 根据地图的类型判断是否需要对点位数据进行处理, 若是高德2.0则需要对坐标进行相对偏移
259
225
  if (mappedData.length > 0 && this.mapService.version === Version['GAODE2.x']) {
@@ -272,7 +238,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
272
238
  // @ts-ignore
273
239
  // d.coordinates = this.mapService.lngLatToCoord(d.coordinates);
274
240
 
275
- d.coordinates = _this5.mapService.lngLatToCoordByLayer(d.coordinates, layerCenter);
241
+ d.coordinates = _this4.mapService.lngLatToCoordByLayer(d.coordinates, layerCenter);
276
242
  });
277
243
  } else {
278
244
  // 连续的线、面数据
@@ -286,7 +252,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
286
252
  // @ts-ignore
287
253
  // d.coordinates = this.mapService.lngLatToCoords(d.coordinates);
288
254
 
289
- d.coordinates = _this5.mapService.lngLatToCoordsByLayer(d.coordinates, layerCenter);
255
+ d.coordinates = _this4.mapService.lngLatToCoordsByLayer(d.coordinates, layerCenter);
290
256
  });
291
257
  }
292
258
  }
@@ -294,12 +260,12 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
294
260
  }, {
295
261
  key: "adjustData2SimpleCoordinates",
296
262
  value: function adjustData2SimpleCoordinates(mappedData) {
297
- var _this6 = this;
263
+ var _this5 = this;
298
264
 
299
265
  if (mappedData.length > 0 && this.mapService.version === Version.SIMPLE) {
300
266
  mappedData.map(function (d) {
301
267
  if (!d.simpleCoordinate) {
302
- d.coordinates = _this6.unProjectCoordinates(d.coordinates);
268
+ d.coordinates = _this5.unProjectCoordinates(d.coordinates);
303
269
  d.simpleCoordinate = true;
304
270
  }
305
271
  });
@@ -308,7 +274,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
308
274
  }, {
309
275
  key: "unProjectCoordinates",
310
276
  value: function unProjectCoordinates(coordinates) {
311
- var _this7 = this;
277
+ var _this6 = this;
312
278
 
313
279
  if (typeof coordinates[0] === 'number') {
314
280
  return this.mapService.simpleMapCoord.unproject(coordinates);
@@ -321,7 +287,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
321
287
  // @ts-ignore
322
288
  var c1 = [];
323
289
  coord.map(function (co) {
324
- c1.push(_this7.mapService.simpleMapCoord.unproject(co));
290
+ c1.push(_this6.mapService.simpleMapCoord.unproject(co));
325
291
  }); // @ts-ignore
326
292
 
327
293
  coords.push(c1);
@@ -333,7 +299,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
333
299
  var _coords = []; // @ts-ignore
334
300
 
335
301
  coordinates.map(function (coord) {
336
- _coords.push(_this7.mapService.simpleMapCoord.unproject(coord));
302
+ _coords.push(_this6.mapService.simpleMapCoord.unproject(coord));
337
303
  }); // @ts-ignore
338
304
 
339
305
  return _coords;
@@ -341,7 +307,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
341
307
  }
342
308
  }, {
343
309
  key: "applyAttributeMapping",
344
- value: function applyAttributeMapping(attribute, record, minimumColor) {
310
+ value: function applyAttributeMapping(attribute, record) {
345
311
  var _attribute$scale;
346
312
 
347
313
  if (!attribute.scale) {
@@ -350,10 +316,10 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
350
316
 
351
317
  var scalers = (attribute === null || attribute === void 0 ? void 0 : (_attribute$scale = attribute.scale) === null || _attribute$scale === void 0 ? void 0 : _attribute$scale.scalers) || [];
352
318
  var params = [];
353
- scalers.forEach(function (_ref4) {
319
+ scalers.forEach(function (_ref6) {
354
320
  var _attribute$scale2;
355
321
 
356
- var field = _ref4.field;
322
+ var field = _ref6.field;
357
323
 
358
324
  if (record.hasOwnProperty(field) || ((_attribute$scale2 = attribute.scale) === null || _attribute$scale2 === void 0 ? void 0 : _attribute$scale2.type) === 'variable') {
359
325
  // TODO:多字段,常量
@@ -361,36 +327,8 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
361
327
  }
362
328
  });
363
329
  var mappingResult = attribute.mapping ? attribute.mapping(params) : [];
364
-
365
- if (attribute.name === 'color' && !isColor(mappingResult[0])) {
366
- return [minimumColor];
367
- }
368
-
369
330
  return mappingResult; // return attribute.mapping ? attribute.mapping(params) : [];
370
331
  }
371
- }, {
372
- key: "applyMapLayerAttributeMapping",
373
- value: function applyMapLayerAttributeMapping(attribute, record) {
374
- var _attribute$scale3;
375
-
376
- if (!attribute.scale) {
377
- return [];
378
- }
379
-
380
- var scalers = (attribute === null || attribute === void 0 ? void 0 : (_attribute$scale3 = attribute.scale) === null || _attribute$scale3 === void 0 ? void 0 : _attribute$scale3.scalers) || [];
381
- var params = [];
382
- scalers.forEach(function (_ref5) {
383
- var _attribute$scale4;
384
-
385
- var field = _ref5.field;
386
-
387
- if (record.hasOwnProperty(field) || ((_attribute$scale4 = attribute.scale) === null || _attribute$scale4 === void 0 ? void 0 : _attribute$scale4.type) === 'variable') {
388
- params.push(record[field]);
389
- }
390
- });
391
- var mappingResult = attribute.mapping ? attribute.mapping(params) : [];
392
- return mappingResult;
393
- }
394
332
  }, {
395
333
  key: "getArrowPoints",
396
334
  value: function getArrowPoints(p1, p2) {
@@ -1,8 +1,10 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
1
2
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
3
  import _createClass from "@babel/runtime/helpers/esm/createClass";
3
4
 
4
5
  var _dec, _class;
5
6
 
7
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
6
8
  import { TYPES } from '@antv/l7-core';
7
9
  import Source from '@antv/l7-source';
8
10
  import { injectable } from 'inversify';
@@ -18,41 +20,76 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function
18
20
  var _this = this;
19
21
 
20
22
  this.mapService = layer.getContainer().get(TYPES.IMapService);
21
- layer.hooks.init.tap('DataSourcePlugin', function () {
22
- var source = layer.getSource();
23
-
24
- if (!source) {
25
- // Tip: 用户没有传入 source 的时候使用图层的默认数据
26
- var _ref = layer.sourceOption || layer.defaultSourceConfig,
27
- data = _ref.data,
28
- options = _ref.options;
29
-
30
- source = new Source(data, options);
31
- layer.setSource(source);
32
- }
33
-
34
- if (source.inited) {
35
- _this.updateClusterData(layer);
36
- } else {
37
- source.once('update', function () {
38
- _this.updateClusterData(layer);
39
- });
40
- }
41
- }); // 检测数据是否需要更新
42
-
43
- layer.hooks.beforeRenderData.tap('DataSourcePlugin', function () {
44
- var neeUpdateCluster = _this.updateClusterData(layer);
45
-
46
- var dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
47
- layer.dataState.dataSourceNeedUpdate = false;
48
- return neeUpdateCluster || dataSourceNeedUpdate;
49
- });
23
+ layer.hooks.init.tapPromise('DataSourcePlugin', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
24
+ var source, _ref2, data, options;
25
+
26
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
27
+ while (1) {
28
+ switch (_context.prev = _context.next) {
29
+ case 0:
30
+ source = layer.getSource();
31
+
32
+ if (!source) {
33
+ // Tip: 用户没有传入 source 的时候使用图层的默认数据
34
+ _ref2 = layer.sourceOption || layer.defaultSourceConfig, data = _ref2.data, options = _ref2.options;
35
+ source = new Source(data, options);
36
+ layer.setSource(source);
37
+ }
38
+
39
+ if (!source.inited) {
40
+ _context.next = 6;
41
+ break;
42
+ }
43
+
44
+ _this.updateClusterData(layer);
45
+
46
+ _context.next = 8;
47
+ break;
48
+
49
+ case 6:
50
+ _context.next = 8;
51
+ return new Promise(function (resolve) {
52
+ source.on('update', function (e) {
53
+ if (e.type === 'inited') {
54
+ _this.updateClusterData(layer);
55
+ }
56
+
57
+ resolve(null);
58
+ });
59
+ });
60
+
61
+ case 8:
62
+ case "end":
63
+ return _context.stop();
64
+ }
65
+ }
66
+ }, _callee);
67
+ }))); // 检测数据是否需要更新
68
+
69
+ layer.hooks.beforeRenderData.tapPromise('DataSourcePlugin', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
70
+ var neeUpdateCluster, dataSourceNeedUpdate;
71
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
72
+ while (1) {
73
+ switch (_context2.prev = _context2.next) {
74
+ case 0:
75
+ neeUpdateCluster = _this.updateClusterData(layer);
76
+ dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
77
+ layer.dataState.dataSourceNeedUpdate = false;
78
+ return _context2.abrupt("return", neeUpdateCluster || dataSourceNeedUpdate);
79
+
80
+ case 4:
81
+ case "end":
82
+ return _context2.stop();
83
+ }
84
+ }
85
+ }, _callee2);
86
+ })));
50
87
  }
51
88
  }, {
52
89
  key: "updateClusterData",
53
90
  value: function updateClusterData(layer) {
54
91
  // Tip: 矢量瓦片不需要进行聚合操作
55
- if (layer.isTileLayer || layer.tileLayer) {
92
+ if (layer.isTileLayer || layer.tileLayer || !layer.getSource()) {
56
93
  return false;
57
94
  }
58
95
 
@@ -5,7 +5,6 @@ import 'reflect-metadata';
5
5
  */
6
6
  export default class FeatureScalePlugin implements ILayerPlugin {
7
7
  private scaleOptions;
8
- private getSourceData;
9
8
  apply(layer: ILayer, { styleAttributeService, }: {
10
9
  styleAttributeService: IStyleAttributeService;
11
10
  }): void;