@antv/l7-layers 2.10.3 → 2.10.5

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