@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
package/es/mask/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
3
  import _createClass from "@babel/runtime/helpers/createClass";
4
4
  import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
@@ -6,12 +6,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
6
6
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
7
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
-
10
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
11
-
12
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
-
14
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
9
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
15
10
 
16
11
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
17
12
 
@@ -19,8 +14,6 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
19
14
 
20
15
  import BaseLayer from "../core/BaseLayer";
21
16
  import MaskModels from "./models";
22
- import { isVectorTile } from "../tile/utils";
23
- import { TYPES } from '@antv/l7-core';
24
17
 
25
18
  var MaskLayer = /*#__PURE__*/function (_BaseLayer) {
26
19
  _inherits(MaskLayer, _BaseLayer);
@@ -44,99 +37,36 @@ var MaskLayer = /*#__PURE__*/function (_BaseLayer) {
44
37
  }
45
38
 
46
39
  _createClass(MaskLayer, [{
47
- key: "init",
48
- value: function init() {
49
- var _this2 = this;
50
-
51
- // 设置配置项
52
- var sceneId = this.container.get(TYPES.SceneID);
53
- this.configService.setLayerConfig(sceneId, this.id, this.rawConfig);
54
- this.layerType = this.rawConfig.layerType;
55
- this.rendererService = this.container.get(TYPES.IRendererService);
56
- this.layerService = this.container.get(TYPES.ILayerService);
57
- this.mapService = this.container.get(TYPES.IMapService);
58
- this.cameraService = this.container.get(TYPES.ICameraService);
59
- this.coordinateService = this.container.get(TYPES.ICoordinateSystemService);
60
- this.shaderModuleService = this.container.get(TYPES.IShaderModuleService);
61
- this.postProcessingPassFactory = this.container.get(TYPES.IFactoryPostProcessingPass);
62
- this.normalPassFactory = this.container.get(TYPES.IFactoryNormalPass); // 图层容器服务
63
-
64
- this.styleAttributeService = this.container.get(TYPES.IStyleAttributeService); // 完成样式服务注册完成前添加的属性
65
-
66
- this.pendingStyleAttributes.forEach(function (_ref) {
67
- var attributeName = _ref.attributeName,
68
- attributeField = _ref.attributeField,
69
- attributeValues = _ref.attributeValues,
70
- updateOptions = _ref.updateOptions;
71
-
72
- _this2.styleAttributeService.updateStyleAttribute(attributeName, {
73
- // @ts-ignore
74
- scale: _objectSpread({
75
- field: attributeField
76
- }, _this2.splitValuesAndCallbackInAttribute( // @ts-ignore
77
- attributeValues, // @ts-ignore
78
- _this2.getLayerConfig()[attributeName]))
79
- }, // @ts-ignore
80
- updateOptions);
81
- });
82
- this.pendingStyleAttributes = []; // 获取插件集
83
-
84
- this.plugins = this.container.getAll(TYPES.ILayerPlugin); // 完成插件注册,传入场景和图层容器内的服务
85
-
86
- var _iterator = _createForOfIteratorHelper(this.plugins),
87
- _step;
88
-
89
- try {
90
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
91
- var plugin = _step.value;
92
- plugin.apply(this, {
93
- rendererService: this.rendererService,
94
- mapService: this.mapService,
95
- styleAttributeService: this.styleAttributeService,
96
- normalPassFactory: this.normalPassFactory,
97
- postProcessingPassFactory: this.postProcessingPassFactory
98
- });
99
- } // 触发 init 生命周期插件
100
-
101
- } catch (err) {
102
- _iterator.e(err);
103
- } finally {
104
- _iterator.f();
105
- }
106
-
107
- this.hooks.init.call();
108
- this.hooks.afterInit.call();
109
- return this;
110
- }
111
- }, {
112
40
  key: "buildModels",
113
- value: function buildModels() {
114
- var _this3 = this;
115
-
116
- var shape = this.getModelType();
117
- this.layerModel = new MaskModels[shape](this);
118
- this.layerModel.initModels(function (models) {
119
- _this3.dispatchModelLoad(models);
120
- });
121
- }
122
- }, {
123
- key: "rebuildModels",
124
- value: function rebuildModels() {
125
- var _this4 = this;
41
+ value: function () {
42
+ var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
43
+ var shape;
44
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
45
+ while (1) {
46
+ switch (_context.prev = _context.next) {
47
+ case 0:
48
+ shape = this.getModelType();
49
+ this.layerModel = new MaskModels[shape](this);
50
+ _context.next = 4;
51
+ return this.initLayerModels();
52
+
53
+ case 4:
54
+ case "end":
55
+ return _context.stop();
56
+ }
57
+ }
58
+ }, _callee, this);
59
+ }));
60
+
61
+ function buildModels() {
62
+ return _buildModels.apply(this, arguments);
63
+ }
126
64
 
127
- this.layerModel.buildModels(function (models) {
128
- _this4.dispatchModelLoad(models);
129
- });
130
- }
65
+ return buildModels;
66
+ }()
131
67
  }, {
132
68
  key: "getModelType",
133
69
  value: function getModelType() {
134
- var parserType = this.layerSource.getParserType();
135
-
136
- if (isVectorTile(parserType)) {
137
- return 'vectorMask';
138
- }
139
-
140
70
  return 'fill';
141
71
  }
142
72
  }]);
@@ -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;
@@ -1,4 +1,5 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
3
  import _initializerDefineProperty from "@babel/runtime/helpers/initializerDefineProperty";
3
4
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
5
  import _createClass from "@babel/runtime/helpers/createClass";
@@ -8,9 +9,10 @@ import _initializerWarningHelper from "@babel/runtime/helpers/initializerWarning
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,53 +31,72 @@ 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
87
  var _layer$getLayerConfig = layer.getLayerConfig(),
69
88
  usage = _layer$getLayerConfig.usage;
70
89
 
71
- if (usage === 'basemap') return;
90
+ if (usage === 'basemap') {
91
+ return;
92
+ }
93
+
72
94
  var source = layer.getSource();
73
95
 
74
96
  if (layer.layerModelNeedUpdate || !source || !source.inited) {
75
97
  return;
76
98
  }
77
99
 
78
- var bottomColor = layer.getBottomColor();
79
100
  var attributes = styleAttributeService.getLayerStyleAttributes() || [];
80
101
  var filter = styleAttributeService.getLayerStyleAttribute('filter');
81
102
  var dataArray = source.data.dataArray;
@@ -87,19 +108,19 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
87
108
 
88
109
  if (filter !== null && filter !== void 0 && filter.needRemapping && filter !== null && filter !== void 0 && filter.scale) {
89
110
  filterData = dataArray.filter(function (record) {
90
- return _this.applyAttributeMapping(filter, record, bottomColor)[0];
111
+ return _this.applyAttributeMapping(filter, record)[0];
91
112
  });
92
113
  }
93
114
 
94
115
  if (attributesToRemapping.length) {
95
116
  // 过滤数据
96
117
  if (filter !== null && filter !== void 0 && filter.needRemapping) {
97
- var encodeData = _this.mapping(layer, attributes, filterData, undefined, bottomColor);
118
+ var encodeData = _this.mapping(layer, attributes, filterData, undefined);
98
119
 
99
120
  layer.setEncodedData(encodeData);
100
121
  filter.needRemapping = false;
101
122
  } else {
102
- var _encodeData = _this.mapping(layer, attributesToRemapping, filterData, layer.getEncodedData(), bottomColor);
123
+ var _encodeData = _this.mapping(layer, attributesToRemapping, filterData, layer.getEncodedData());
103
124
 
104
125
  layer.setEncodedData(_encodeData);
105
126
  } // 处理文本更新
@@ -111,11 +132,10 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
111
132
  }
112
133
  }, {
113
134
  key: "generateMaping",
114
- value: function generateMaping(layer, _ref2) {
135
+ value: function generateMaping(layer, _ref4) {
115
136
  var _this2 = this;
116
137
 
117
- var styleAttributeService = _ref2.styleAttributeService;
118
- var bottomColor = layer.getBottomColor();
138
+ var styleAttributeService = _ref4.styleAttributeService;
119
139
  var attributes = styleAttributeService.getLayerStyleAttributes() || [];
120
140
  var filter = styleAttributeService.getLayerStyleAttribute('filter');
121
141
  var dataArray = layer.getSource().data.dataArray;
@@ -123,30 +143,29 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
123
143
 
124
144
  if (filter !== null && filter !== void 0 && filter.scale) {
125
145
  filterData = dataArray.filter(function (record) {
126
- return _this2.applyAttributeMapping(filter, record, bottomColor)[0];
146
+ return _this2.applyAttributeMapping(filter, record)[0];
127
147
  });
128
- }
148
+ } // Tip: layer 对数据做处理
149
+ // 数据处理 在数据进行 mapping 生成 encodeData 之前对数据进行处理
150
+ // 在各个 layer 中继承
151
+
129
152
 
130
- var encodeData = this.mapping(layer, attributes, filterData, undefined, bottomColor);
153
+ filterData = layer.processData(filterData);
154
+ var encodeData = this.mapping(layer, attributes, filterData, undefined);
131
155
  layer.setEncodedData(encodeData); // 对外暴露事件
132
156
 
133
157
  layer.emit('dataUpdate', null);
134
158
  }
135
159
  }, {
136
160
  key: "mapping",
137
- value: function mapping(layer, attributes, data, predata, minimumColor) {
161
+ value: function mapping(layer, attributes, data, predata) {
138
162
  var _this3 = this;
139
163
 
140
- var _ref3 = layer.getLayerConfig(),
141
- _ref3$arrow = _ref3.arrow,
142
- arrow = _ref3$arrow === void 0 ? {
164
+ var _ref5 = layer.getLayerConfig(),
165
+ _ref5$arrow = _ref5.arrow,
166
+ arrow = _ref5$arrow === void 0 ? {
143
167
  enable: false
144
- } : _ref3$arrow,
145
- usage = _ref3.usage;
146
-
147
- if (usage === 'basemap') {
148
- return this.mapLayerMapping(layer, attributes, data, predata);
149
- }
168
+ } : _ref5$arrow;
150
169
 
151
170
  var usedAttributes = attributes.filter(function (attribute) {
152
171
  return attribute.scale !== undefined;
@@ -160,7 +179,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
160
179
  }, preRecord);
161
180
 
162
181
  usedAttributes.forEach(function (attribute) {
163
- var values = _this3.applyAttributeMapping(attribute, record, minimumColor);
182
+ var values = _this3.applyAttributeMapping(attribute, record);
164
183
 
165
184
  attribute.needRemapping = false; // TODO: 支持每个属性配置 postprocess
166
185
 
@@ -338,7 +357,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
338
357
  }
339
358
  }, {
340
359
  key: "applyAttributeMapping",
341
- value: function applyAttributeMapping(attribute, record, minimumColor) {
360
+ value: function applyAttributeMapping(attribute, record) {
342
361
  var _attribute$scale;
343
362
 
344
363
  if (!attribute.scale) {
@@ -347,10 +366,10 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
347
366
 
348
367
  var scalers = (attribute === null || attribute === void 0 ? void 0 : (_attribute$scale = attribute.scale) === null || _attribute$scale === void 0 ? void 0 : _attribute$scale.scalers) || [];
349
368
  var params = [];
350
- scalers.forEach(function (_ref4) {
369
+ scalers.forEach(function (_ref6) {
351
370
  var _attribute$scale2;
352
371
 
353
- var field = _ref4.field;
372
+ var field = _ref6.field;
354
373
 
355
374
  if (record.hasOwnProperty(field) || ((_attribute$scale2 = attribute.scale) === null || _attribute$scale2 === void 0 ? void 0 : _attribute$scale2.type) === 'variable') {
356
375
  // TODO:多字段,常量
@@ -358,11 +377,6 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
358
377
  }
359
378
  });
360
379
  var mappingResult = attribute.mapping ? attribute.mapping(params) : [];
361
-
362
- if (attribute.name === 'color' && !isColor(mappingResult[0])) {
363
- return [minimumColor];
364
- }
365
-
366
380
  return mappingResult; // return attribute.mapping ? attribute.mapping(params) : [];
367
381
  }
368
382
  }, {
@@ -376,10 +390,10 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
376
390
 
377
391
  var scalers = (attribute === null || attribute === void 0 ? void 0 : (_attribute$scale3 = attribute.scale) === null || _attribute$scale3 === void 0 ? void 0 : _attribute$scale3.scalers) || [];
378
392
  var params = [];
379
- scalers.forEach(function (_ref5) {
393
+ scalers.forEach(function (_ref7) {
380
394
  var _attribute$scale4;
381
395
 
382
- var field = _ref5.field;
396
+ var field = _ref7.field;
383
397
 
384
398
  if (record.hasOwnProperty(field) || ((_attribute$scale4 = attribute.scale) === null || _attribute$scale4 === void 0 ? void 0 : _attribute$scale4.type) === 'variable') {
385
399
  params.push(record[field]);
@@ -1,8 +1,10 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
1
2
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
3
  import _createClass from "@babel/runtime/helpers/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,78 @@ 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
+ layer.hooks.init.tapPromise('DataSourcePlugin', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
24
+ var source, _ref2, data, options;
23
25
 
24
- if (!source) {
25
- // Tip: 用户没有传入 source 的时候使用图层的默认数据
26
- var _ref = layer.sourceOption || layer.defaultSourceConfig,
27
- data = _ref.data,
28
- options = _ref.options;
26
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
27
+ while (1) {
28
+ switch (_context.prev = _context.next) {
29
+ case 0:
30
+ source = layer.getSource();
29
31
 
30
- source = new Source(data, options);
31
- layer.setSource(source);
32
- }
32
+ if (source) {
33
+ _context.next = 6;
34
+ break;
35
+ }
33
36
 
34
- if (source.inited) {
35
- _this.updateClusterData(layer);
36
- } else {
37
- source.once('update', function () {
38
- _this.updateClusterData(layer);
39
- });
40
- }
41
- }); // 检测数据是否需要更新
37
+ // Tip: 用户没有传入 source 的时候使用图层的默认数据
38
+ _ref2 = layer.sourceOption || layer.defaultSourceConfig, data = _ref2.data, options = _ref2.options;
39
+ source = new Source(data, options);
40
+ _context.next = 6;
41
+ return new Promise(function (resolve) {
42
+ source.on('update', function (e) {
43
+ if (e.type === 'inited') {
44
+ layer.initSource(source);
45
+ }
46
+
47
+ resolve(null);
48
+ });
49
+ });
50
+
51
+ case 6:
52
+ if (source.inited) {
53
+ _this.updateClusterData(layer);
54
+ } else {
55
+ source.once('update', function () {
56
+ _this.updateClusterData(layer);
57
+ });
58
+ }
42
59
 
43
- layer.hooks.beforeRenderData.tap('DataSourcePlugin', function () {
44
- var neeUpdateCluster = _this.updateClusterData(layer);
60
+ case 7:
61
+ case "end":
62
+ return _context.stop();
63
+ }
64
+ }
65
+ }, _callee);
66
+ }))); // 检测数据是否需要更新
45
67
 
46
- var dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
47
- layer.dataState.dataSourceNeedUpdate = false;
48
- return neeUpdateCluster || dataSourceNeedUpdate;
49
- });
68
+ layer.hooks.beforeRenderData.tapPromise('DataSourcePlugin', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
69
+ var neeUpdateCluster, dataSourceNeedUpdate;
70
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
71
+ while (1) {
72
+ switch (_context2.prev = _context2.next) {
73
+ case 0:
74
+ neeUpdateCluster = _this.updateClusterData(layer);
75
+ dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
76
+ layer.dataState.dataSourceNeedUpdate = false;
77
+ return _context2.abrupt("return", neeUpdateCluster || dataSourceNeedUpdate);
78
+
79
+ case 4:
80
+ case "end":
81
+ return _context2.stop();
82
+ }
83
+ }
84
+ }, _callee2);
85
+ })));
50
86
  }
51
87
  }, {
52
88
  key: "updateClusterData",
53
89
  value: function updateClusterData(layer) {
54
90
  // Tip: 矢量瓦片不需要进行聚合操作
55
- if (layer.isTileLayer || layer.tileLayer) return false;
91
+ if (layer.isTileLayer || layer.tileLayer || !layer.getSource()) {
92
+ return false;
93
+ }
94
+
56
95
  var source = layer.getSource();
57
96
  var cluster = source.cluster;
58
97
  var _source$clusterOption = source.clusterOptions.zoom,