@antv/l7-layers 2.10.6 → 2.10.9

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