@antv/l7-layers 2.10.1 → 2.10.3

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