@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
@@ -7,6 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
15
 
12
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -32,41 +36,78 @@ var DataSourcePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__
32
36
  var _this = this;
33
37
 
34
38
  this.mapService = layer.getContainer().get(_l7Core.TYPES.IMapService);
35
- layer.hooks.init.tap('DataSourcePlugin', function () {
36
- var source = layer.getSource();
37
-
38
- if (!source) {
39
- // Tip: 用户没有传入 source 的时候使用图层的默认数据
40
- var _ref = layer.sourceOption || layer.defaultSourceConfig,
41
- data = _ref.data,
42
- options = _ref.options;
43
-
44
- source = new _l7Source.default(data, options);
45
- layer.setSource(source);
46
- }
47
-
48
- if (source.inited) {
49
- _this.updateClusterData(layer);
50
- } else {
51
- source.once('update', function () {
52
- _this.updateClusterData(layer);
53
- });
54
- }
55
- }); // 检测数据是否需要更新
56
-
57
- layer.hooks.beforeRenderData.tap('DataSourcePlugin', function () {
58
- var neeUpdateCluster = _this.updateClusterData(layer);
59
-
60
- var dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
61
- layer.dataState.dataSourceNeedUpdate = false;
62
- return neeUpdateCluster || dataSourceNeedUpdate;
63
- });
39
+ layer.hooks.init.tapPromise('DataSourcePlugin', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
40
+ var source, _ref2, data, options;
41
+
42
+ return _regenerator.default.wrap(function _callee$(_context) {
43
+ while (1) {
44
+ switch (_context.prev = _context.next) {
45
+ case 0:
46
+ source = layer.getSource();
47
+
48
+ if (source) {
49
+ _context.next = 6;
50
+ break;
51
+ }
52
+
53
+ // Tip: 用户没有传入 source 的时候使用图层的默认数据
54
+ _ref2 = layer.sourceOption || layer.defaultSourceConfig, data = _ref2.data, options = _ref2.options;
55
+ source = new _l7Source.default(data, options);
56
+ _context.next = 6;
57
+ return new Promise(function (resolve) {
58
+ source.on('update', function (e) {
59
+ if (e.type === 'inited') {
60
+ layer.initSource(source);
61
+ }
62
+
63
+ resolve(null);
64
+ });
65
+ });
66
+
67
+ case 6:
68
+ if (source.inited) {
69
+ _this.updateClusterData(layer);
70
+ } else {
71
+ source.once('update', function () {
72
+ _this.updateClusterData(layer);
73
+ });
74
+ }
75
+
76
+ case 7:
77
+ case "end":
78
+ return _context.stop();
79
+ }
80
+ }
81
+ }, _callee);
82
+ }))); // 检测数据是否需要更新
83
+
84
+ layer.hooks.beforeRenderData.tapPromise('DataSourcePlugin', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
85
+ var neeUpdateCluster, dataSourceNeedUpdate;
86
+ return _regenerator.default.wrap(function _callee2$(_context2) {
87
+ while (1) {
88
+ switch (_context2.prev = _context2.next) {
89
+ case 0:
90
+ neeUpdateCluster = _this.updateClusterData(layer);
91
+ dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
92
+ layer.dataState.dataSourceNeedUpdate = false;
93
+ return _context2.abrupt("return", neeUpdateCluster || dataSourceNeedUpdate);
94
+
95
+ case 4:
96
+ case "end":
97
+ return _context2.stop();
98
+ }
99
+ }
100
+ }, _callee2);
101
+ })));
64
102
  }
65
103
  }, {
66
104
  key: "updateClusterData",
67
105
  value: function updateClusterData(layer) {
68
106
  // Tip: 矢量瓦片不需要进行聚合操作
69
- if (layer.isTileLayer || layer.tileLayer) return false;
107
+ if (layer.isTileLayer || layer.tileLayer || !layer.getSource()) {
108
+ return false;
109
+ }
110
+
70
111
  var source = layer.getSource();
71
112
  var cluster = source.cluster;
72
113
  var _source$clusterOption = source.clusterOptions.zoom,
@@ -9,8 +9,12 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
12
14
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
15
 
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
14
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
19
 
16
20
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -68,39 +72,80 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
68
72
  var _this = this;
69
73
 
70
74
  var styleAttributeService = _ref.styleAttributeService;
71
- layer.hooks.init.tap('FeatureScalePlugin', function () {
72
- _this.scaleOptions = layer.getScaleOptions();
73
- var attributes = styleAttributeService.getLayerStyleAttributes();
75
+ layer.hooks.init.tapPromise('FeatureScalePlugin', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
76
+ var _layer$getSource;
77
+
78
+ var attributes, dataArray;
79
+ return _regenerator.default.wrap(function _callee$(_context) {
80
+ while (1) {
81
+ switch (_context.prev = _context.next) {
82
+ case 0:
83
+ _this.scaleOptions = layer.getScaleOptions();
84
+ attributes = styleAttributeService.getLayerStyleAttributes();
85
+ dataArray = (_layer$getSource = layer.getSource()) === null || _layer$getSource === void 0 ? void 0 : _layer$getSource.data.dataArray;
86
+
87
+ if (!(Array.isArray(dataArray) && dataArray.length === 0)) {
88
+ _context.next = 7;
89
+ break;
90
+ }
74
91
 
75
- _this.getSourceData(layer, function (_ref2) {
76
- var dataArray = _ref2.dataArray;
92
+ return _context.abrupt("return");
77
93
 
78
- if (Array.isArray(dataArray) && dataArray.length === 0) {
79
- return;
80
- } else {
81
- _this.caculateScalesForAttributes(attributes || [], dataArray);
94
+ case 7:
95
+ _this.caculateScalesForAttributes(attributes || [], dataArray);
96
+
97
+ case 8:
98
+ case "end":
99
+ return _context.stop();
100
+ }
82
101
  }
83
- });
84
- }); // 检测数据是否需要更新
102
+ }, _callee);
103
+ }))); // 检测数据是否需要更新
104
+
105
+ layer.hooks.beforeRenderData.tapPromise('FeatureScalePlugin', /*#__PURE__*/function () {
106
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(flag) {
107
+ var attributes, dataArray;
108
+ return _regenerator.default.wrap(function _callee2$(_context2) {
109
+ while (1) {
110
+ switch (_context2.prev = _context2.next) {
111
+ case 0:
112
+ if (flag) {
113
+ _context2.next = 2;
114
+ break;
115
+ }
85
116
 
86
- layer.hooks.beforeRenderData.tap('FeatureScalePlugin', function () {
87
- _this.scaleOptions = layer.getScaleOptions();
88
- var attributes = styleAttributeService.getLayerStyleAttributes();
117
+ return _context2.abrupt("return", flag);
89
118
 
90
- _this.getSourceData(layer, function (_ref3) {
91
- var dataArray = _ref3.dataArray;
119
+ case 2:
120
+ _this.scaleOptions = layer.getScaleOptions();
121
+ attributes = styleAttributeService.getLayerStyleAttributes();
122
+ dataArray = layer.getSource().data.dataArray;
92
123
 
93
- if (Array.isArray(dataArray) && dataArray.length === 0) {
94
- return;
95
- }
124
+ if (!(Array.isArray(dataArray) && dataArray.length === 0)) {
125
+ _context2.next = 7;
126
+ break;
127
+ }
96
128
 
97
- _this.caculateScalesForAttributes(attributes || [], dataArray);
129
+ return _context2.abrupt("return");
98
130
 
99
- layer.layerModelNeedUpdate = true;
100
- });
131
+ case 7:
132
+ _this.caculateScalesForAttributes(attributes || [], dataArray);
101
133
 
102
- return true;
103
- });
134
+ layer.layerModelNeedUpdate = true;
135
+ return _context2.abrupt("return", true);
136
+
137
+ case 10:
138
+ case "end":
139
+ return _context2.stop();
140
+ }
141
+ }
142
+ }, _callee2);
143
+ }));
144
+
145
+ return function (_x) {
146
+ return _ref3.apply(this, arguments);
147
+ };
148
+ }());
104
149
  layer.hooks.beforeRender.tap('FeatureScalePlugin', function () {
105
150
  var _layer$getLayerConfig = layer.getLayerConfig(),
106
151
  usage = _layer$getLayerConfig.usage;
@@ -111,23 +156,20 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
111
156
 
112
157
  _this.scaleOptions = layer.getScaleOptions();
113
158
  var attributes = styleAttributeService.getLayerStyleAttributes();
159
+ var dataArray = layer.getSource().data.dataArray;
114
160
 
115
- if (attributes) {
116
- _this.getSourceData(layer, function (_ref4) {
117
- var dataArray = _ref4.dataArray;
118
-
119
- if (dataArray.length === 0) {
120
- return;
121
- }
122
-
123
- var attributesToRescale = attributes.filter(function (attribute) {
124
- return attribute.needRescale;
125
- });
161
+ if (Array.isArray(dataArray) && dataArray.length === 0) {
162
+ return;
163
+ }
126
164
 
127
- if (attributesToRescale.length) {
128
- _this.caculateScalesForAttributes(attributesToRescale, dataArray);
129
- }
165
+ if (attributes) {
166
+ var attributesToRescale = attributes.filter(function (attribute) {
167
+ return attribute.needRescale;
130
168
  });
169
+
170
+ if (attributesToRescale.length) {
171
+ _this.caculateScalesForAttributes(attributesToRescale, dataArray);
172
+ }
131
173
  }
132
174
  });
133
175
  }
@@ -331,12 +373,12 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
331
373
 
332
374
  }, {
333
375
  key: "createDefaultScale",
334
- value: function createDefaultScale(_ref5) {
335
- var type = _ref5.type,
336
- domain = _ref5.domain,
337
- unknown = _ref5.unknown,
338
- clamp = _ref5.clamp,
339
- nice = _ref5.nice;
376
+ value: function createDefaultScale(_ref4) {
377
+ var type = _ref4.type,
378
+ domain = _ref4.domain,
379
+ unknown = _ref4.unknown,
380
+ clamp = _ref4.clamp,
381
+ nice = _ref4.nice;
340
382
  // @ts-ignore
341
383
  var scale = scaleMap[type]();
342
384
 
@@ -30,9 +30,12 @@ var LayerAnimateStylePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class
30
30
  layer.hooks.beforeRender.tap('LayerAnimateStylePlugin', function () {
31
31
  // @ts-ignore
32
32
  var animateStatus = layer.animateStatus;
33
- animateStatus && layer.models.forEach(function (model) {
34
- model.addUniforms((0, _objectSpread2.default)({}, layer.layerModel.getAnimateUniforms()));
35
- });
33
+
34
+ if (animateStatus) {
35
+ layer.models.forEach(function (model) {
36
+ model.addUniforms((0, _objectSpread2.default)({}, layer.layerModel.getAnimateUniforms()));
37
+ });
38
+ }
36
39
  });
37
40
  }
38
41
  }]);
@@ -7,6 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
15
 
12
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -15,6 +19,8 @@ var _inversify = require("inversify");
15
19
 
16
20
  require("reflect-metadata");
17
21
 
22
+ var _BaseLayer = _interopRequireDefault(require("../tile/tileLayer/BaseLayer"));
23
+
18
24
  var _dec, _class;
19
25
 
20
26
  var LayerModelPlugin = (
@@ -28,54 +34,138 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
28
34
 
29
35
  (0, _createClass2.default)(LayerModelPlugin, [{
30
36
  key: "initLayerModel",
31
- value: function initLayerModel(layer) {
32
- // 更新Model 配置项
33
- layer.prepareBuildModel(); // 初始化 Model
34
-
35
- layer.buildModels();
36
- layer.styleNeedUpdate = false;
37
- }
37
+ value: function () {
38
+ var _initLayerModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(layer) {
39
+ return _regenerator.default.wrap(function _callee$(_context) {
40
+ while (1) {
41
+ switch (_context.prev = _context.next) {
42
+ case 0:
43
+ // 更新Model 配置项
44
+ layer.prepareBuildModel(); // 初始化 Model
45
+
46
+ _context.next = 3;
47
+ return layer.buildModels();
48
+
49
+ case 3:
50
+ layer.styleNeedUpdate = false;
51
+
52
+ case 4:
53
+ case "end":
54
+ return _context.stop();
55
+ }
56
+ }
57
+ }, _callee);
58
+ }));
59
+
60
+ function initLayerModel(_x) {
61
+ return _initLayerModel.apply(this, arguments);
62
+ }
63
+
64
+ return initLayerModel;
65
+ }()
38
66
  }, {
39
67
  key: "prepareLayerModel",
40
- value: function prepareLayerModel(layer) {
41
- var _layer$layerModel;
42
-
43
- // 更新Model 配置项
44
- layer.prepareBuildModel(); // clear layerModel resource
45
-
46
- (_layer$layerModel = layer.layerModel) === null || _layer$layerModel === void 0 ? void 0 : _layer$layerModel.clearModels(); // 初始化 Model
47
-
48
- layer.buildModels();
49
- layer.layerModelNeedUpdate = false;
50
- }
68
+ value: function () {
69
+ var _prepareLayerModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(layer) {
70
+ return _regenerator.default.wrap(function _callee2$(_context2) {
71
+ while (1) {
72
+ switch (_context2.prev = _context2.next) {
73
+ case 0:
74
+ // 更新Model 配置项
75
+ layer.prepareBuildModel(); // clear layerModel resource
76
+ // 初始化 Model
77
+
78
+ _context2.next = 3;
79
+ return layer.buildModels();
80
+
81
+ case 3:
82
+ layer.layerModelNeedUpdate = false;
83
+
84
+ case 4:
85
+ case "end":
86
+ return _context2.stop();
87
+ }
88
+ }
89
+ }, _callee2);
90
+ }));
91
+
92
+ function prepareLayerModel(_x2) {
93
+ return _prepareLayerModel.apply(this, arguments);
94
+ }
95
+
96
+ return prepareLayerModel;
97
+ }()
51
98
  }, {
52
99
  key: "apply",
53
100
  value: function apply(layer) {
54
101
  var _this = this;
55
102
 
56
- layer.hooks.init.tap('LayerModelPlugin', function () {
57
- layer.inited = true;
58
- layer.modelLoaded = false;
59
- var source = layer.getSource();
60
-
61
- if (source.inited) {
62
- _this.initLayerModel(layer);
63
- }
64
- });
65
- layer.hooks.beforeRenderData.tap('DataSourcePlugin', function () {
66
- var source = layer.getSource();
67
- layer.modelLoaded = false;
68
-
69
- if (source.inited) {
70
- _this.prepareLayerModel(layer);
71
- } else {
72
- source.once('update', function () {
73
- _this.prepareLayerModel(layer);
74
- });
75
- }
76
-
77
- return false;
78
- });
103
+ layer.hooks.init.tapPromise('LayerModelPlugin', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
104
+ return _regenerator.default.wrap(function _callee3$(_context3) {
105
+ while (1) {
106
+ switch (_context3.prev = _context3.next) {
107
+ case 0:
108
+ if (!layer.getSource().isTile) {
109
+ _context3.next = 4;
110
+ break;
111
+ }
112
+
113
+ layer.prepareBuildModel();
114
+ layer.tileLayer = new _BaseLayer.default(layer);
115
+ return _context3.abrupt("return");
116
+
117
+ case 4:
118
+ _context3.next = 6;
119
+ return _this.initLayerModel(layer);
120
+
121
+ case 6:
122
+ case "end":
123
+ return _context3.stop();
124
+ }
125
+ }
126
+ }, _callee3);
127
+ })));
128
+ layer.hooks.beforeRenderData.tapPromise('LayerModelPlugin', /*#__PURE__*/function () {
129
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(flag) {
130
+ return _regenerator.default.wrap(function _callee4$(_context4) {
131
+ while (1) {
132
+ switch (_context4.prev = _context4.next) {
133
+ case 0:
134
+ if (flag) {
135
+ _context4.next = 2;
136
+ break;
137
+ }
138
+
139
+ return _context4.abrupt("return", false);
140
+
141
+ case 2:
142
+ if (!layer.getSource().isTile) {
143
+ _context4.next = 5;
144
+ break;
145
+ }
146
+
147
+ layer.tileLayer = new _BaseLayer.default(layer);
148
+ return _context4.abrupt("return");
149
+
150
+ case 5:
151
+ _context4.next = 7;
152
+ return _this.prepareLayerModel(layer);
153
+
154
+ case 7:
155
+ return _context4.abrupt("return", true);
156
+
157
+ case 8:
158
+ case "end":
159
+ return _context4.stop();
160
+ }
161
+ }
162
+ }, _callee4);
163
+ }));
164
+
165
+ return function (_x3) {
166
+ return _ref2.apply(this, arguments);
167
+ };
168
+ }());
79
169
  }
80
170
  }]);
81
171
  return LayerModelPlugin;
@@ -30,17 +30,12 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
30
30
  key: "apply",
31
31
  value: function apply(layer) {
32
32
  layer.hooks.afterInit.tap('LayerStylePlugin', function () {
33
- // 更新图层默认状态
34
- layer.updateLayerConfig({});
35
-
36
33
  var _layer$getLayerConfig = layer.getLayerConfig(),
37
34
  autoFit = _layer$getLayerConfig.autoFit,
38
35
  fitBoundsOptions = _layer$getLayerConfig.fitBoundsOptions;
39
36
 
40
37
  if (autoFit) {
41
- setTimeout(function () {
42
- layer.fitBounds(fitBoundsOptions);
43
- }, 100);
38
+ layer.fitBounds(fitBoundsOptions);
44
39
  }
45
40
  });
46
41
  }
@@ -46,7 +46,7 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
46
46
  var rendererService = _ref.rendererService,
47
47
  postProcessingPassFactory = _ref.postProcessingPassFactory,
48
48
  normalPassFactory = _ref.normalPassFactory;
49
- layer.hooks.init.tap('MultiPassRendererPlugin', function () {
49
+ layer.hooks.init.tapPromise('MultiPassRendererPlugin', function () {
50
50
  var _layer$getLayerConfig = layer.getLayerConfig(),
51
51
  enableMultiPassRenderer = _layer$getLayerConfig.enableMultiPassRenderer,
52
52
  _layer$getLayerConfig2 = _layer$getLayerConfig.passes,
@@ -36,7 +36,7 @@ var PixelPickingPlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
36
36
  value: function apply(layer, _ref) {
37
37
  var styleAttributeService = _ref.styleAttributeService;
38
38
  // TODO: 由于 Shader 目前无法根据是否开启拾取进行内容修改,因此即使不开启也需要生成 a_PickingColor
39
- layer.hooks.init.tap('PixelPickingPlugin', function () {
39
+ layer.hooks.init.tapPromise('PixelPickingPlugin', function () {
40
40
  var _layer$getLayerConfig = layer.getLayerConfig(),
41
41
  enablePicking = _layer$getLayerConfig.enablePicking;
42
42
 
@@ -36,9 +36,11 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
36
36
  var _this = this;
37
37
 
38
38
  var styleAttributeService = _ref.styleAttributeService;
39
- layer.hooks.init.tap('RegisterStyleAttributePlugin', function () {
39
+ layer.hooks.init.tapPromise('RegisterStyleAttributePlugin', function () {
40
40
  // 过滤 tileGroup layer (瓦片图层不需要注册)
41
- if ((0, _utils.isTileGroup)(layer)) return;
41
+ if ((0, _utils.isTileGroup)(layer)) {
42
+ return;
43
+ }
42
44
 
43
45
  _this.registerBuiltinAttributes(styleAttributeService, layer);
44
46
  });
@@ -50,21 +52,6 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
50
52
  if (layer.type === 'MaskLayer') {
51
53
  this.registerPositionAttribute(styleAttributeService);
52
54
  return;
53
- } // 用途为 basemap 的 Layer 也只需要注册 a_Position
54
-
55
-
56
- var _layer$getLayerConfig = layer.getLayerConfig(),
57
- usage = _layer$getLayerConfig.usage;
58
-
59
- if (usage === 'basemap') {
60
- this.registerPositionAttribute(styleAttributeService);
61
- return;
62
- }
63
-
64
- if (layer.isTileLayer) {
65
- this.registerPositionAttribute(styleAttributeService);
66
- this.registerColorAttribute(styleAttributeService);
67
- return;
68
55
  } // Tip: normal render layer
69
56
 
70
57
 
@@ -90,8 +90,13 @@ _dec = (0, _inversify.injectable)(), _dec2 = (0, _inversify.inject)(_l7Core.TYPE
90
90
  }, {
91
91
  key: "setLayerCenter",
92
92
  value: function setLayerCenter(layer) {
93
- if (layer.coordCenter === undefined) layer.coordCenter = layer.getSource().center;
94
- this.mapService.setCoordCenter && this.mapService.setCoordCenter(layer.coordCenter);
93
+ if (layer.coordCenter === undefined) {
94
+ layer.coordCenter = layer.getSource().center;
95
+ }
96
+
97
+ if (this.mapService.setCoordCenter) {
98
+ this.mapService.setCoordCenter(layer.coordCenter);
99
+ }
95
100
  }
96
101
  }]);
97
102
  return ShaderUniformPlugin;
@@ -32,7 +32,7 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
32
32
  var _this = this;
33
33
 
34
34
  var styleAttributeService = _ref.styleAttributeService;
35
- layer.hooks.init.tap('UpdateStyleAttributePlugin', function () {
35
+ layer.hooks.init.tapPromise('UpdateStyleAttributePlugin', function () {
36
36
  _this.initStyleAttribute(layer, {
37
37
  styleAttributeService: styleAttributeService
38
38
  });
@@ -41,13 +41,16 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
41
41
  var _layer$getLayerConfig = layer.getLayerConfig(),
42
42
  usage = _layer$getLayerConfig.usage;
43
43
 
44
- if (layer.layerModelNeedUpdate || layer.tileLayer || usage === 'basemap') {
44
+ if (layer.layerModelNeedUpdate || layer.tileLayer || usage === 'basemap' // TODO: Chore 不走该流程 应从外部统一控制,而不是打补丁
45
+ ) {
45
46
  return;
46
47
  }
47
48
 
48
- layer.modelLoaded && _this.updateStyleAttribute(layer, {
49
- styleAttributeService: styleAttributeService
50
- });
49
+ if (layer.inited) {
50
+ _this.updateStyleAttribute(layer, {
51
+ styleAttributeService: styleAttributeService
52
+ });
53
+ }
51
54
  });
52
55
  }
53
56
  }, {