@antv/l7-layers 2.10.2 → 2.10.4

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 (372) hide show
  1. package/es/Geometry/index.d.ts +3 -2
  2. package/es/Geometry/index.js +24 -34
  3. package/es/Geometry/models/billboard.d.ts +2 -2
  4. package/es/Geometry/models/billboard.js +45 -85
  5. package/es/Geometry/models/plane.d.ts +2 -2
  6. package/es/Geometry/models/plane.js +49 -89
  7. package/es/Geometry/models/sprite.d.ts +2 -2
  8. package/es/Geometry/models/sprite.js +54 -92
  9. package/es/canvas/index.d.ts +3 -2
  10. package/es/canvas/index.js +26 -36
  11. package/es/canvas/models/canvas.d.ts +2 -2
  12. package/es/canvas/models/canvas.js +23 -62
  13. package/es/citybuliding/building.d.ts +3 -2
  14. package/es/citybuliding/building.js +24 -33
  15. package/es/citybuliding/models/build.d.ts +2 -2
  16. package/es/citybuliding/models/build.js +31 -76
  17. package/es/core/BaseLayer.d.ts +18 -21
  18. package/es/core/BaseLayer.js +273 -393
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +13 -54
  21. package/es/core/shape/Path.js +1 -1
  22. package/es/core/shape/extrude.js +1 -1
  23. package/es/core/triangulation.js +3 -10
  24. package/es/earth/index.d.ts +2 -2
  25. package/es/earth/index.js +16 -35
  26. package/es/earth/models/atmosphere.d.ts +2 -2
  27. package/es/earth/models/atmosphere.js +27 -72
  28. package/es/earth/models/base.d.ts +2 -2
  29. package/es/earth/models/base.js +50 -96
  30. package/es/earth/models/bloomsphere.d.ts +2 -2
  31. package/es/earth/models/bloomsphere.js +27 -72
  32. package/es/earth/utils.js +1 -1
  33. package/es/heatmap/index.d.ts +3 -2
  34. package/es/heatmap/index.js +29 -40
  35. package/es/heatmap/models/grid.d.ts +2 -2
  36. package/es/heatmap/models/grid.js +32 -73
  37. package/es/heatmap/models/grid3d.d.ts +2 -2
  38. package/es/heatmap/models/grid3d.js +33 -74
  39. package/es/heatmap/models/heatmap.d.ts +2 -2
  40. package/es/heatmap/models/heatmap.js +22 -48
  41. package/es/heatmap/models/hexagon.d.ts +2 -2
  42. package/es/heatmap/models/hexagon.js +33 -74
  43. package/es/image/index.d.ts +3 -2
  44. package/es/image/index.js +24 -34
  45. package/es/image/models/dataImage.d.ts +2 -2
  46. package/es/image/models/dataImage.js +59 -98
  47. package/es/image/models/image.d.ts +2 -2
  48. package/es/image/models/image.js +72 -113
  49. package/es/image/models/tileDataImage.d.ts +2 -2
  50. package/es/image/models/tileDataImage.js +48 -89
  51. package/es/index.d.ts +2 -2
  52. package/es/index.js +2 -2
  53. package/es/line/index.d.ts +4 -5
  54. package/es/line/index.js +32 -58
  55. package/es/line/models/arc.d.ts +2 -2
  56. package/es/line/models/arc.js +45 -80
  57. package/es/line/models/arc_3d.d.ts +2 -2
  58. package/es/line/models/arc_3d.js +41 -76
  59. package/es/line/models/earthArc_3d.d.ts +2 -2
  60. package/es/line/models/earthArc_3d.js +44 -79
  61. package/es/line/models/great_circle.d.ts +2 -2
  62. package/es/line/models/great_circle.js +36 -77
  63. package/es/line/models/half.d.ts +2 -2
  64. package/es/line/models/half.js +23 -46
  65. package/es/line/models/index.d.ts +1 -1
  66. package/es/line/models/index.js +2 -0
  67. package/es/line/models/line.d.ts +2 -2
  68. package/es/line/models/line.js +54 -86
  69. package/es/line/models/linearline.d.ts +2 -2
  70. package/es/line/models/linearline.js +38 -77
  71. package/es/line/models/simpleLine.d.ts +2 -2
  72. package/es/line/models/simpleLine.js +39 -76
  73. package/es/line/models/simpleTileLine.d.ts +2 -2
  74. package/es/line/models/simpleTileLine.js +35 -75
  75. package/es/line/models/tile.d.ts +2 -2
  76. package/es/line/models/tile.js +23 -46
  77. package/es/line/models/wall.d.ts +2 -2
  78. package/es/line/models/wall.js +29 -74
  79. package/es/mask/index.d.ts +4 -2
  80. package/es/mask/index.js +104 -34
  81. package/es/mask/models/fill.d.ts +2 -2
  82. package/es/mask/models/fill.js +22 -46
  83. package/es/mask/models/index.d.ts +1 -1
  84. package/es/mask/models/index.js +3 -1
  85. package/es/plugins/DataMappingPlugin.js +72 -83
  86. package/es/plugins/DataSourcePlugin.js +32 -68
  87. package/es/plugins/FeatureScalePlugin.js +48 -88
  88. package/es/plugins/LayerAnimateStylePlugin.js +3 -3
  89. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  90. package/es/plugins/LayerModelPlugin.js +39 -126
  91. package/es/plugins/LayerStylePlugin.js +8 -3
  92. package/es/plugins/LightingPlugin.js +4 -4
  93. package/es/plugins/MultiPassRendererPlugin.js +3 -3
  94. package/es/plugins/PixelPickingPlugin.js +3 -3
  95. package/es/plugins/RegisterStyleAttributePlugin.js +18 -3
  96. package/es/plugins/ShaderUniformPlugin.js +6 -6
  97. package/es/plugins/UpdateModelPlugin.js +2 -2
  98. package/es/plugins/UpdateStyleAttributePlugin.js +5 -6
  99. package/es/point/index.d.ts +4 -4
  100. package/es/point/index.js +30 -62
  101. package/es/point/models/earthExtrude.d.ts +2 -2
  102. package/es/point/models/earthExtrude.js +37 -80
  103. package/es/point/models/earthFill.d.ts +2 -2
  104. package/es/point/models/earthFill.js +28 -73
  105. package/es/point/models/extrude.d.ts +2 -2
  106. package/es/point/models/extrude.js +25 -48
  107. package/es/point/models/fill.d.ts +2 -2
  108. package/es/point/models/fill.js +28 -51
  109. package/es/point/models/fillmage.d.ts +2 -2
  110. package/es/point/models/fillmage.js +51 -90
  111. package/es/point/models/image.d.ts +2 -2
  112. package/es/point/models/image.js +38 -79
  113. package/es/point/models/index.d.ts +1 -1
  114. package/es/point/models/index.js +2 -0
  115. package/es/point/models/normal.d.ts +2 -2
  116. package/es/point/models/normal.js +36 -77
  117. package/es/point/models/radar.d.ts +2 -2
  118. package/es/point/models/radar.js +43 -83
  119. package/es/point/models/simplePoint.d.ts +2 -2
  120. package/es/point/models/simplePoint.js +35 -76
  121. package/es/point/models/text.d.ts +2 -3
  122. package/es/point/models/text.js +116 -173
  123. package/es/point/models/tile.d.ts +2 -2
  124. package/es/point/models/tile.js +40 -82
  125. package/es/point/models/tileText.d.ts +2 -2
  126. package/es/point/models/tileText.js +125 -160
  127. package/es/point/shape/extrude.js +1 -1
  128. package/es/polygon/index.d.ts +3 -2
  129. package/es/polygon/index.js +31 -34
  130. package/es/polygon/models/extrude.d.ts +2 -2
  131. package/es/polygon/models/extrude.js +38 -75
  132. package/es/polygon/models/fill.d.ts +2 -2
  133. package/es/polygon/models/fill.js +48 -81
  134. package/es/polygon/models/index.d.ts +1 -1
  135. package/es/polygon/models/index.js +2 -0
  136. package/es/polygon/models/ocean.d.ts +2 -2
  137. package/es/polygon/models/ocean.js +34 -75
  138. package/es/polygon/models/tile.d.ts +2 -2
  139. package/es/polygon/models/tile.js +35 -75
  140. package/es/polygon/models/water.d.ts +2 -2
  141. package/es/polygon/models/water.js +34 -75
  142. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -1
  143. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +2 -1
  144. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +2 -1
  145. package/es/raster/index.d.ts +4 -3
  146. package/es/raster/index.js +29 -35
  147. package/es/raster/models/index.d.ts +1 -1
  148. package/es/raster/models/index.js +3 -1
  149. package/es/raster/models/raster.d.ts +2 -2
  150. package/es/raster/models/raster.js +19 -42
  151. package/es/raster/models/rasterRgb.d.ts +2 -2
  152. package/es/raster/models/rasterRgb.js +21 -44
  153. package/es/raster/models/rasterTile.d.ts +2 -2
  154. package/es/raster/models/rasterTile.js +41 -82
  155. package/es/raster/raster.d.ts +1 -1
  156. package/es/raster/raster.js +31 -51
  157. package/es/tile/interaction/TilePickService.d.ts +16 -0
  158. package/es/tile/interaction/TilePickService.js +129 -0
  159. package/es/tile/interaction/getRasterData.d.ts +2 -2
  160. package/es/tile/interaction/getRasterData.js +1 -1
  161. package/es/tile/interaction/utils.js +12 -4
  162. package/es/tile/interface.d.ts +4 -5
  163. package/es/tile/manager/base.d.ts +12 -17
  164. package/es/tile/manager/base.js +51 -216
  165. package/es/tile/manager/layerManager.d.ts +19 -0
  166. package/es/tile/manager/layerManager.js +254 -0
  167. package/es/tile/manager/mapLayerManager.d.ts +7 -0
  168. package/es/tile/manager/mapLayerManager.js +119 -0
  169. package/es/tile/models/tileModel.d.ts +10 -0
  170. package/es/tile/models/tileModel.js +81 -0
  171. package/es/tile/render/TileRenderService.d.ts +10 -0
  172. package/es/tile/render/TileRenderService.js +68 -0
  173. package/es/tile/style/TileStyleService.d.ts +17 -0
  174. package/es/tile/style/TileStyleService.js +118 -0
  175. package/es/tile/style/constants.d.ts +13 -1
  176. package/es/tile/style/constants.js +15 -6
  177. package/es/tile/style/utils.d.ts +8 -1
  178. package/es/tile/style/utils.js +127 -1
  179. package/es/tile/tileFactory/base.d.ts +45 -0
  180. package/es/tile/tileFactory/base.js +403 -0
  181. package/es/tile/tileFactory/index.d.ts +4 -10
  182. package/es/tile/tileFactory/index.js +23 -30
  183. package/es/tile/tileFactory/layers/{RasterDataLayer.d.ts → rasterDataLayer.d.ts} +3 -3
  184. package/es/tile/tileFactory/layers/{RasterDataLayer.js → rasterDataLayer.js} +28 -40
  185. package/es/tile/tileFactory/layers/{TileDebugLayer.d.ts → tileTest.d.ts} +2 -2
  186. package/es/tile/tileFactory/layers/{TileDebugLayer.js → tileTest.js} +17 -30
  187. package/es/tile/tileFactory/layers/vectorLayer.d.ts +30 -0
  188. package/es/tile/tileFactory/layers/vectorLayer.js +253 -0
  189. package/es/tile/tileFactory/line.d.ts +12 -0
  190. package/es/tile/tileFactory/line.js +59 -0
  191. package/es/tile/tileFactory/mask.d.ts +12 -0
  192. package/es/tile/tileFactory/mask.js +60 -0
  193. package/es/tile/tileFactory/point.d.ts +12 -0
  194. package/es/tile/tileFactory/point.js +60 -0
  195. package/es/tile/tileFactory/polygon.d.ts +12 -0
  196. package/es/tile/tileFactory/polygon.js +59 -0
  197. package/es/tile/tileFactory/raster.d.ts +12 -0
  198. package/es/tile/tileFactory/raster.js +55 -0
  199. package/es/tile/tileFactory/rasterData.d.ts +12 -0
  200. package/es/tile/tileFactory/rasterData.js +81 -0
  201. package/es/tile/tileFactory/test.d.ts +12 -0
  202. package/es/tile/tileFactory/test.js +94 -0
  203. package/es/tile/tileLayer/MapTileLayer.d.ts +6 -0
  204. package/es/tile/tileLayer/MapTileLayer.js +48 -0
  205. package/es/tile/tileLayer/TileLayer.d.ts +22 -0
  206. package/es/tile/tileLayer/TileLayer.js +198 -0
  207. package/es/tile/tileLayer/base.d.ts +33 -0
  208. package/es/tile/tileLayer/base.js +212 -0
  209. package/es/tile/utils.d.ts +11 -1
  210. package/es/tile/utils.js +129 -0
  211. package/es/utils/blend.js +1 -1
  212. package/es/utils/collision-index.js +4 -4
  213. package/es/utils/dataMappingStyle.d.ts +4 -4
  214. package/es/utils/dataMappingStyle.js +18 -16
  215. package/es/utils/extrude_polyline.js +5 -5
  216. package/es/utils/grid-index.js +3 -3
  217. package/es/utils/layerData.js +11 -5
  218. package/es/utils/multiPassRender.js +1 -1
  219. package/es/utils/polylineNormal.js +1 -1
  220. package/es/utils/simpleLine.js +3 -3
  221. package/es/wind/index.d.ts +3 -2
  222. package/es/wind/index.js +24 -34
  223. package/es/wind/models/wind.d.ts +2 -2
  224. package/es/wind/models/wind.js +111 -127
  225. package/es/wind/models/windRender.js +3 -3
  226. package/lib/Geometry/index.js +17 -29
  227. package/lib/Geometry/models/billboard.js +37 -79
  228. package/lib/Geometry/models/plane.js +40 -82
  229. package/lib/Geometry/models/sprite.js +45 -85
  230. package/lib/canvas/index.js +19 -31
  231. package/lib/canvas/models/canvas.js +15 -56
  232. package/lib/citybuliding/building.js +17 -28
  233. package/lib/citybuliding/models/build.js +25 -72
  234. package/lib/core/BaseLayer.js +256 -381
  235. package/lib/core/BaseModel.js +6 -48
  236. package/lib/core/triangulation.js +1 -8
  237. package/lib/earth/index.js +9 -30
  238. package/lib/earth/models/atmosphere.js +22 -69
  239. package/lib/earth/models/base.js +42 -90
  240. package/lib/earth/models/bloomsphere.js +22 -69
  241. package/lib/heatmap/index.js +22 -35
  242. package/lib/heatmap/models/grid.js +27 -70
  243. package/lib/heatmap/models/grid3d.js +28 -71
  244. package/lib/heatmap/models/heatmap.js +14 -40
  245. package/lib/heatmap/models/hexagon.js +28 -71
  246. package/lib/image/index.js +17 -29
  247. package/lib/image/models/dataImage.js +54 -95
  248. package/lib/image/models/image.js +67 -110
  249. package/lib/image/models/tileDataImage.js +43 -86
  250. package/lib/index.js +5 -5
  251. package/lib/line/index.js +26 -53
  252. package/lib/line/models/arc.js +38 -75
  253. package/lib/line/models/arc_3d.js +34 -71
  254. package/lib/line/models/earthArc_3d.js +37 -74
  255. package/lib/line/models/great_circle.js +29 -72
  256. package/lib/line/models/half.js +17 -40
  257. package/lib/line/models/index.js +3 -0
  258. package/lib/line/models/line.js +47 -81
  259. package/lib/line/models/linearline.js +31 -72
  260. package/lib/line/models/simpleLine.js +34 -73
  261. package/lib/line/models/simpleTileLine.js +30 -72
  262. package/lib/line/models/tile.js +17 -40
  263. package/lib/line/models/wall.js +22 -69
  264. package/lib/mask/index.js +99 -28
  265. package/lib/mask/models/fill.js +16 -40
  266. package/lib/mask/models/index.js +4 -1
  267. package/lib/plugins/DataMappingPlugin.js +64 -77
  268. package/lib/plugins/DataSourcePlugin.js +30 -68
  269. package/lib/plugins/FeatureScalePlugin.js +44 -86
  270. package/lib/plugins/LayerModelPlugin.js +41 -131
  271. package/lib/plugins/LayerStylePlugin.js +6 -1
  272. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  273. package/lib/plugins/PixelPickingPlugin.js +1 -1
  274. package/lib/plugins/RegisterStyleAttributePlugin.js +16 -1
  275. package/lib/plugins/UpdateStyleAttributePlugin.js +3 -4
  276. package/lib/point/index.js +24 -56
  277. package/lib/point/models/earthExtrude.js +30 -75
  278. package/lib/point/models/earthFill.js +21 -68
  279. package/lib/point/models/extrude.js +17 -40
  280. package/lib/point/models/fill.js +21 -44
  281. package/lib/point/models/fillmage.js +43 -84
  282. package/lib/point/models/image.js +31 -74
  283. package/lib/point/models/index.js +3 -0
  284. package/lib/point/models/normal.js +30 -73
  285. package/lib/point/models/radar.js +35 -77
  286. package/lib/point/models/simplePoint.js +29 -72
  287. package/lib/point/models/text.js +106 -164
  288. package/lib/point/models/tile.js +35 -79
  289. package/lib/point/models/tileText.js +115 -151
  290. package/lib/polygon/index.js +25 -29
  291. package/lib/polygon/models/extrude.js +32 -71
  292. package/lib/polygon/models/fill.js +43 -78
  293. package/lib/polygon/models/index.js +3 -0
  294. package/lib/polygon/models/ocean.js +28 -71
  295. package/lib/polygon/models/tile.js +30 -72
  296. package/lib/polygon/models/water.js +28 -71
  297. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -1
  298. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +2 -1
  299. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +2 -1
  300. package/lib/raster/index.js +22 -30
  301. package/lib/raster/models/index.js +4 -1
  302. package/lib/raster/models/raster.js +13 -36
  303. package/lib/raster/models/rasterRgb.js +13 -36
  304. package/lib/raster/models/rasterTile.js +36 -79
  305. package/lib/raster/raster.js +22 -44
  306. package/lib/tile/interaction/TilePickService.js +143 -0
  307. package/lib/tile/interaction/utils.js +11 -3
  308. package/lib/tile/manager/base.js +47 -213
  309. package/lib/tile/manager/layerManager.js +275 -0
  310. package/lib/tile/manager/mapLayerManager.js +134 -0
  311. package/lib/tile/models/tileModel.js +94 -0
  312. package/lib/tile/render/TileRenderService.js +78 -0
  313. package/lib/tile/style/TileStyleService.js +133 -0
  314. package/lib/tile/style/constants.js +19 -8
  315. package/lib/tile/style/utils.js +140 -0
  316. package/lib/tile/tileFactory/base.js +427 -0
  317. package/lib/tile/tileFactory/index.js +24 -42
  318. package/lib/tile/tileFactory/layers/{RasterDataLayer.js → rasterDataLayer.js} +21 -35
  319. package/lib/tile/tileFactory/layers/{TileDebugLayer.js → tileTest.js} +11 -24
  320. package/lib/tile/tileFactory/layers/vectorLayer.js +268 -0
  321. package/lib/tile/tileFactory/line.js +70 -0
  322. package/lib/tile/tileFactory/mask.js +71 -0
  323. package/lib/tile/tileFactory/point.js +71 -0
  324. package/lib/tile/tileFactory/polygon.js +70 -0
  325. package/lib/tile/tileFactory/raster.js +68 -0
  326. package/lib/tile/tileFactory/rasterData.js +93 -0
  327. package/lib/tile/tileFactory/test.js +106 -0
  328. package/lib/tile/tileLayer/MapTileLayer.js +63 -0
  329. package/lib/tile/tileLayer/TileLayer.js +215 -0
  330. package/lib/tile/tileLayer/base.js +225 -0
  331. package/lib/tile/utils.js +148 -0
  332. package/lib/utils/dataMappingStyle.js +20 -18
  333. package/lib/utils/layerData.js +10 -4
  334. package/lib/wind/index.js +17 -29
  335. package/lib/wind/models/wind.js +104 -122
  336. package/package.json +7 -7
  337. package/es/core/LayerPickService.d.ts +0 -9
  338. package/es/core/LayerPickService.js +0 -85
  339. package/es/tile/service/TileLayerService.d.ts +0 -33
  340. package/es/tile/service/TileLayerService.js +0 -172
  341. package/es/tile/service/TilePickService.d.ts +0 -22
  342. package/es/tile/service/TilePickService.js +0 -124
  343. package/es/tile/tileFactory/DebugTile.d.ts +0 -16
  344. package/es/tile/tileFactory/DebugTile.js +0 -100
  345. package/es/tile/tileFactory/ImageTile.d.ts +0 -14
  346. package/es/tile/tileFactory/ImageTile.js +0 -89
  347. package/es/tile/tileFactory/MaskTile.d.ts +0 -17
  348. package/es/tile/tileFactory/MaskTile.js +0 -98
  349. package/es/tile/tileFactory/RasterRGBTile.d.ts +0 -16
  350. package/es/tile/tileFactory/RasterRGBTile.js +0 -91
  351. package/es/tile/tileFactory/RasterTile.d.ts +0 -27
  352. package/es/tile/tileFactory/RasterTile.js +0 -186
  353. package/es/tile/tileFactory/Tile.d.ts +0 -23
  354. package/es/tile/tileFactory/Tile.js +0 -136
  355. package/es/tile/tileFactory/VectorTile.d.ts +0 -20
  356. package/es/tile/tileFactory/VectorTile.js +0 -158
  357. package/es/tile/tileFactory/util.d.ts +0 -6
  358. package/es/tile/tileFactory/util.js +0 -33
  359. package/es/tile/tileLayer/BaseLayer.d.ts +0 -46
  360. package/es/tile/tileLayer/BaseLayer.js +0 -358
  361. package/lib/core/LayerPickService.js +0 -96
  362. package/lib/tile/service/TileLayerService.js +0 -185
  363. package/lib/tile/service/TilePickService.js +0 -136
  364. package/lib/tile/tileFactory/DebugTile.js +0 -115
  365. package/lib/tile/tileFactory/ImageTile.js +0 -104
  366. package/lib/tile/tileFactory/MaskTile.js +0 -113
  367. package/lib/tile/tileFactory/RasterRGBTile.js +0 -106
  368. package/lib/tile/tileFactory/RasterTile.js +0 -205
  369. package/lib/tile/tileFactory/Tile.js +0 -146
  370. package/lib/tile/tileFactory/VectorTile.js +0 -173
  371. package/lib/tile/tileFactory/util.js +0 -48
  372. package/lib/tile/tileLayer/BaseLayer.js +0 -373
@@ -0,0 +1,212 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ import { debounce } from 'lodash';
5
+ import { updateTileVisible } from "../utils";
6
+ export var Base = /*#__PURE__*/function () {
7
+ function Base() {
8
+ _classCallCheck(this, Base);
9
+
10
+ _defineProperty(this, "initedTileset", false);
11
+
12
+ _defineProperty(this, "viewchange", debounce(this.mapchange, 200));
13
+ }
14
+
15
+ _createClass(Base, [{
16
+ key: "children",
17
+ get: function get() {
18
+ return this.tileLayerManager.children;
19
+ }
20
+ }, {
21
+ key: "mapchange",
22
+ value: function mapchange() {
23
+ var _this$tilesetManager;
24
+
25
+ var _this$getCurrentView = this.getCurrentView(),
26
+ latLonBounds = _this$getCurrentView.latLonBounds,
27
+ zoom = _this$getCurrentView.zoom;
28
+
29
+ if (this.mapService.version === 'GAODE1.x') {
30
+ var _this$parent$getLayer = this.parent.getLayerConfig(),
31
+ visible = _this$parent$getLayer.visible;
32
+
33
+ if (zoom < 3 && visible) {
34
+ this.parent.updateLayerConfig({
35
+ visible: false
36
+ });
37
+ this.layerService.reRender();
38
+ } else if (zoom >= 3 && !visible) {
39
+ this.parent.updateLayerConfig({
40
+ visible: true
41
+ });
42
+ this.layerService.reRender();
43
+ }
44
+ }
45
+
46
+ if (this.lastViewStates && this.lastViewStates.zoom === zoom && this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()) {
47
+ return;
48
+ }
49
+
50
+ this.lastViewStates = {
51
+ zoom: zoom,
52
+ latLonBounds: latLonBounds
53
+ };
54
+ (_this$tilesetManager = this.tilesetManager) === null || _this$tilesetManager === void 0 ? void 0 : _this$tilesetManager.throttleUpdate(zoom, latLonBounds);
55
+ }
56
+ }, {
57
+ key: "getCurrentView",
58
+ value: function getCurrentView() {
59
+ var bounds = this.mapService.getBounds();
60
+ var latLonBounds = [bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1]];
61
+ var zoom = this.mapService.getZoom();
62
+ return {
63
+ latLonBounds: latLonBounds,
64
+ zoom: zoom
65
+ };
66
+ }
67
+ }, {
68
+ key: "initTileSetManager",
69
+ value: function initTileSetManager() {
70
+ var _this$tilesetManager2;
71
+
72
+ var source = this.parent.getSource();
73
+ this.tilesetManager = source.tileset;
74
+
75
+ if (!this.initedTileset) {
76
+ this.bindTilesetEvent();
77
+ this.initedTileset = true;
78
+ }
79
+
80
+ var _this$getCurrentView2 = this.getCurrentView(),
81
+ latLonBounds = _this$getCurrentView2.latLonBounds,
82
+ zoom = _this$getCurrentView2.zoom;
83
+
84
+ (_this$tilesetManager2 = this.tilesetManager) === null || _this$tilesetManager2 === void 0 ? void 0 : _this$tilesetManager2.update(zoom, latLonBounds);
85
+ }
86
+ }, {
87
+ key: "bindTilesetEvent",
88
+ value: function bindTilesetEvent() {
89
+ var _this = this;
90
+
91
+ if (!this.tilesetManager) {
92
+ return;
93
+ } // 瓦片数据加载成功
94
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
95
+
96
+
97
+ this.tilesetManager.on('tile-loaded', function (tile) {// 将事件抛出,图层上可以监听使用
98
+ }); // 瓦片数据从缓存删除或被执行重新加载
99
+
100
+ this.tilesetManager.on('tile-unload', function (tile) {
101
+ // 将事件抛出,图层上可以监听使用
102
+ _this.tileUnLoad(tile);
103
+ }); // 瓦片数据加载失败
104
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
105
+
106
+ this.tilesetManager.on('tile-error', function (error, tile) {
107
+ // 将事件抛出,图层上可以监听使用
108
+ _this.tileError(error);
109
+ }); // 瓦片显隐状态更新
110
+
111
+ this.tilesetManager.on('tile-update', function () {
112
+ _this.tileUpdate();
113
+ }); // 地图视野发生改变
114
+
115
+ this.mapService.on('zoomend', function () {
116
+ return _this.viewchange();
117
+ });
118
+ this.mapService.on('moveend', function () {
119
+ return _this.viewchange();
120
+ });
121
+ }
122
+ }, {
123
+ key: "render",
124
+ value: function render() {
125
+ this.tileLayerManager.render();
126
+ } // 防抖操作
127
+
128
+ }, {
129
+ key: "tileLoaded",
130
+ value: // eslint-disable-next-line @typescript-eslint/no-unused-vars
131
+ function tileLoaded(tile) {//
132
+ }
133
+ }, {
134
+ key: "tileError",
135
+ value: function tileError(error) {
136
+ console.warn('error:', error);
137
+ }
138
+ }, {
139
+ key: "destroy",
140
+ value: function destroy() {
141
+ var _this$tilesetManager3;
142
+
143
+ (_this$tilesetManager3 = this.tilesetManager) === null || _this$tilesetManager3 === void 0 ? void 0 : _this$tilesetManager3.destroy();
144
+ this.tileLayerManager.destroy();
145
+ }
146
+ }, {
147
+ key: "tileUnLoad",
148
+ value: function tileUnLoad(tile) {
149
+ this.tileLayerManager.removeTile(tile);
150
+ }
151
+ }, {
152
+ key: "tileUpdate",
153
+ value: function tileUpdate() {
154
+ var _this2 = this;
155
+
156
+ if (!this.tilesetManager) {
157
+ return;
158
+ }
159
+
160
+ this.tilesetManager.tiles.filter(function (tile) {
161
+ return tile.isLoaded;
162
+ }).map(function (tile) {
163
+ if (!_this2.isTileReady(tile)) return;
164
+
165
+ if (!_this2.tileLayerManager.hasTile(tile)) {
166
+ var _this2$tileLayerManag = _this2.tileLayerManager.addTile(tile),
167
+ layers = _this2$tileLayerManag.layers;
168
+
169
+ _this2.setPickState(layers);
170
+ } else {
171
+ if (!tile.isVisibleChange) {
172
+ return;
173
+ }
174
+
175
+ var _layers = _this2.tileLayerManager.getChildren(tile.layerIDList);
176
+
177
+ updateTileVisible(tile, _layers, _this2.layerService);
178
+
179
+ _this2.setPickState(_layers);
180
+ }
181
+ });
182
+
183
+ if (this.tilesetManager.isLoaded) {
184
+ // 将事件抛出,图层上可以使用瓦片
185
+ this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
186
+ }
187
+ }
188
+ }, {
189
+ key: "isTileReady",
190
+ value: function isTileReady(tile) {
191
+ var _tile$data;
192
+
193
+ if ((_tile$data = tile.data) !== null && _tile$data !== void 0 && _tile$data.layers && this.sourceLayer) {
194
+ // vector
195
+ var vectorTileLayer = tile.data.layers[this.sourceLayer];
196
+ var features = vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.features;
197
+
198
+ if (!(Array.isArray(features) && features.length > 0)) {
199
+ return false;
200
+ }
201
+ }
202
+
203
+ return true;
204
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
205
+
206
+ }, {
207
+ key: "setPickState",
208
+ value: function setPickState(layers) {}
209
+ }]);
210
+
211
+ return Base;
212
+ }();
@@ -1,4 +1,5 @@
1
- import { ILayer } from '@antv/l7-core';
1
+ import { ILayer, ILayerService } from '@antv/l7-core';
2
+ import { Tile } from '@antv/l7-utils';
2
3
  export declare const tileVectorParser: string[];
3
4
  /**
4
5
  * 判断当前图层是否是瓦片图层
@@ -6,7 +7,16 @@ export declare const tileVectorParser: string[];
6
7
  * @returns
7
8
  */
8
9
  export declare function isTileGroup(layer: ILayer): boolean;
10
+ export declare function isVectorTile(parserType: string): boolean;
11
+ export declare function registerLayers(parentLayer: ILayer, layers: ILayer[]): void;
12
+ export declare function getLayerShape(layerType: string, layer: ILayer): string | string[];
13
+ export declare function getMaskValue(layerType: string, mask: boolean): boolean;
9
14
  export declare function getContainerSize(container: HTMLCanvasElement | HTMLElement): DOMRect | {
10
15
  width: number;
11
16
  height: number;
12
17
  };
18
+ export declare function isTileLoaded(tile: Tile): boolean;
19
+ export declare function isTileChildLoaded(tile: Tile): boolean;
20
+ export declare function isTileParentLoaded(tile: Tile): boolean;
21
+ export declare function tileAllLoad(tile: Tile, callback: () => void): void;
22
+ export declare function updateTileVisible(tile: Tile, layers: ILayer[], layerService: ILayerService): void;
package/es/tile/utils.js CHANGED
@@ -1,4 +1,6 @@
1
+ import { createLayerContainer } from '@antv/l7-core';
1
2
  import { DOM } from '@antv/l7-utils';
3
+ import { updateLayersConfig } from "./style/utils";
2
4
  export var tileVectorParser = ['mvt', 'geojsonvt', 'testTile'];
3
5
  /**
4
6
  * 判断当前图层是否是瓦片图层
@@ -10,6 +12,66 @@ export function isTileGroup(layer) {
10
12
  var source = layer.getSource();
11
13
  return tileVectorParser.includes(source.parser.type);
12
14
  }
15
+ export function isVectorTile(parserType) {
16
+ return tileVectorParser.indexOf(parserType) >= 0;
17
+ }
18
+ export function registerLayers(parentLayer, layers) {
19
+ layers.map(function (layer) {
20
+ var container = createLayerContainer(parentLayer.sceneContainer);
21
+ layer.setContainer(container, parentLayer.sceneContainer);
22
+ layer.init();
23
+ });
24
+ }
25
+ export function getLayerShape(layerType, layer) {
26
+ var _layerShape$scale;
27
+
28
+ var layerShape = layer.getAttribute('shape');
29
+
30
+ if (layerShape && (_layerShape$scale = layerShape.scale) !== null && _layerShape$scale !== void 0 && _layerShape$scale.field) {
31
+ var _layerShape$scale2;
32
+
33
+ if (((_layerShape$scale2 = layerShape.scale) === null || _layerShape$scale2 === void 0 ? void 0 : _layerShape$scale2.values) === 'text') {
34
+ return [layerShape.scale.field, layerShape.scale.values];
35
+ }
36
+
37
+ return layerShape.scale.field;
38
+ }
39
+
40
+ switch (layerType) {
41
+ case 'PolygonLayer':
42
+ return 'fill';
43
+
44
+ case 'LineLayer':
45
+ return 'tileline';
46
+
47
+ case 'PointLayer':
48
+ return 'circle';
49
+
50
+ case 'RasterLayer':
51
+ return 'image';
52
+
53
+ default:
54
+ return '';
55
+ }
56
+ }
57
+ export function getMaskValue(layerType, mask) {
58
+ switch (layerType) {
59
+ case 'PolygonLayer':
60
+ return true;
61
+
62
+ case 'LineLayer':
63
+ return true;
64
+
65
+ case 'PointLayer':
66
+ return false;
67
+
68
+ case 'RasterLayer':
69
+ return mask;
70
+
71
+ default:
72
+ return mask;
73
+ }
74
+ }
13
75
  export function getContainerSize(container) {
14
76
  if (container.getContext) {
15
77
  return {
@@ -19,4 +81,71 @@ export function getContainerSize(container) {
19
81
  } else {
20
82
  return container.getBoundingClientRect();
21
83
  }
84
+ }
85
+ export function isTileLoaded(tile) {
86
+ return tile.layerIDList.length === tile.loadedLayers;
87
+ }
88
+ export function isTileChildLoaded(tile) {
89
+ var children = tile.children;
90
+ return children.filter(function (child) {
91
+ return isTileLoaded(child);
92
+ }).length === children.length;
93
+ }
94
+ export function isTileParentLoaded(tile) {
95
+ var parent = tile.parent;
96
+
97
+ if (!parent) {
98
+ return true;
99
+ } else {
100
+ return isTileLoaded(parent);
101
+ }
102
+ }
103
+ export function tileAllLoad(tile, callback) {
104
+ var timer = window.setInterval(function () {
105
+ var tileLoaded = isTileLoaded(tile);
106
+ var tileChildLoaded = isTileChildLoaded(tile);
107
+ var tileParentLoaded = isTileParentLoaded(tile);
108
+
109
+ if (tileLoaded && tileChildLoaded && tileParentLoaded) {
110
+ callback();
111
+ window.clearInterval(timer);
112
+ }
113
+ }, 36);
114
+ }
115
+
116
+ function dispatchTileVisibleChange(tile, callback) {
117
+ if (tile.isVisible) {
118
+ callback();
119
+ } else {
120
+ tileAllLoad(tile, function () {
121
+ callback();
122
+ });
123
+ }
124
+ }
125
+
126
+ function updateImmediately(layers) {
127
+ var immediately = true;
128
+ layers.map(function (layer) {
129
+ if (layer.type !== 'PointLayer') {
130
+ immediately = false;
131
+ }
132
+ });
133
+ return immediately;
134
+ }
135
+
136
+ export function updateTileVisible(tile, layers, layerService) {
137
+ if (layers.length === 0) {
138
+ return;
139
+ }
140
+
141
+ if (updateImmediately(layers)) {
142
+ updateLayersConfig(layers, 'visible', tile.isVisible);
143
+ layerService.reRender();
144
+ return;
145
+ }
146
+
147
+ dispatchTileVisibleChange(tile, function () {
148
+ updateLayersConfig(layers, 'visible', tile.isVisible);
149
+ layerService.reRender();
150
+ });
22
151
  }
package/es/utils/blend.js CHANGED
@@ -1,4 +1,4 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
 
3
3
  var _BlendTypes;
4
4
 
@@ -1,7 +1,7 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
4
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
5
  // @mapbox/grid-index 并没有类似 hitTest 的单纯获取碰撞检测结果的方法,query 将导致计算大量多余的包围盒结果,因此使用改良版
6
6
  import { mat4, vec4 } from 'gl-matrix';
7
7
  import GridIndex from "./grid-index";
@@ -16,16 +16,16 @@ interface IConfigToUpdate {
16
16
  * @param configToUpdate
17
17
  * @param layer
18
18
  */
19
- declare function styleDataMapping(configToUpdate: IConfigToUpdate, layer: any): void;
19
+ declare function handleStyleDataMapping(configToUpdate: IConfigToUpdate, layer: any): void;
20
20
  /**
21
21
  * 根据传入参数 float 的类型和值做相应的操作
22
22
  */
23
- declare function floatStyleMapping(fieldName: string, layer: ILayer, styleFloat: any): void;
23
+ declare function handleStyleFloat(fieldName: string, layer: ILayer, styleFloat: any): void;
24
24
  /**
25
25
  * 根据传入参数 stroke / color 的类型和值做相应的操作
26
26
  * @param fieldName
27
27
  * @param layer
28
28
  * @param styleColor
29
29
  */
30
- declare function colorStyleMapping(fieldName: string, layer: ILayer, styleColor: any): void;
31
- export { styleDataMapping, floatStyleMapping, colorStyleMapping };
30
+ declare function handleStyleColor(fieldName: string, layer: ILayer, styleColor: any): void;
31
+ export { handleStyleDataMapping, handleStyleFloat, handleStyleColor };
@@ -19,7 +19,7 @@ function registerStyleAttribute(fieldName, layer, field, values, updateOptions)
19
19
  */
20
20
 
21
21
 
22
- function styleDataMapping(configToUpdate, layer) {
22
+ function handleStyleDataMapping(configToUpdate, layer) {
23
23
  // 瓦片图层不需要进行样式数据映射
24
24
  if (layer.tileLayer || layer.isTileLayer) {
25
25
  return;
@@ -27,37 +27,37 @@ function styleDataMapping(configToUpdate, layer) {
27
27
 
28
28
  if (configToUpdate.opacity) {
29
29
  // 处理 style 中 opacity 属性的数据映射
30
- floatStyleMapping('opacity', layer, configToUpdate.opacity);
30
+ handleStyleFloat('opacity', layer, configToUpdate.opacity);
31
31
  }
32
32
 
33
33
  if (configToUpdate.strokeWidth) {
34
34
  // 处理 style 中 strokeWidth 属性的数据映射
35
- floatStyleMapping('strokeWidth', layer, configToUpdate.strokeWidth);
35
+ handleStyleFloat('strokeWidth', layer, configToUpdate.strokeWidth);
36
36
  }
37
37
 
38
38
  if (configToUpdate.strokeOpacity) {
39
39
  // 处理 style 中 strokeOpacity 属性的数据映射
40
- floatStyleMapping('strokeOpacity', layer, configToUpdate.strokeOpacity);
40
+ handleStyleFloat('strokeOpacity', layer, configToUpdate.strokeOpacity);
41
41
  }
42
42
 
43
43
  if (configToUpdate.stroke) {
44
44
  // 处理 style 中 stroke (strokeColor) 属性的数据映射
45
- colorStyleMapping('stroke', layer, configToUpdate.stroke);
45
+ handleStyleColor('stroke', layer, configToUpdate.stroke);
46
46
  }
47
47
 
48
48
  if (configToUpdate.offsets) {
49
49
  // 处理 style 中 offsets 属性的数据映射
50
- offsetStyleMapping('offsets', layer, configToUpdate.offsets);
50
+ handleStyleOffsets('offsets', layer, configToUpdate.offsets);
51
51
  }
52
52
 
53
53
  if (configToUpdate.textOffset) {
54
54
  // 处理 style 中 textOffset 属性的数据映射
55
- offsetStyleMapping('textOffset', layer, configToUpdate.textOffset);
55
+ handleStyleOffsets('textOffset', layer, configToUpdate.textOffset);
56
56
  }
57
57
 
58
58
  if (configToUpdate.thetaOffset) {
59
59
  // 处理 style 中 thetaOffset 属性的数据映射
60
- floatStyleMapping('thetaOffset', layer, configToUpdate.thetaOffset);
60
+ handleStyleFloat('thetaOffset', layer, configToUpdate.thetaOffset);
61
61
  }
62
62
  }
63
63
  /**
@@ -65,14 +65,15 @@ function styleDataMapping(configToUpdate, layer) {
65
65
  */
66
66
 
67
67
 
68
- function floatStyleMapping(fieldName, layer, styleFloat) {
68
+ function handleStyleFloat(fieldName, layer, styleFloat) {
69
69
  if (isString(styleFloat)) {
70
70
  // 如果传入的 styleFloat 是 string 类型,那么就认为其对应的是传入数据的字段
71
71
  registerStyleAttribute(fieldName, layer, styleFloat, function (value) {
72
72
  return value;
73
73
  });
74
- } else if (isNumber(styleFloat)) {// 传入 number、默认值处理
75
- // registerStyleAttribute(fieldName, layer, [styleFloat], undefined);
74
+ } else if (isNumber(styleFloat)) {
75
+ // 传入 number、默认值处理
76
+ registerStyleAttribute(fieldName, layer, [styleFloat], undefined);
76
77
  } else if (Array.isArray(styleFloat) && styleFloat.length === 2) {
77
78
  // 传入的 styleFloat 是长度为 2 的数组
78
79
  if (isString(styleFloat[0]) && isFunction(styleFloat[1])) {
@@ -98,7 +99,7 @@ function floatStyleMapping(fieldName, layer, styleFloat) {
98
99
  */
99
100
 
100
101
 
101
- function offsetStyleMapping(fieldName, layer, styleOffsets) {
102
+ function handleStyleOffsets(fieldName, layer, styleOffsets) {
102
103
  if (isString(styleOffsets)) {
103
104
  // 如果传入的 styleOffsets 是 string 类型,那么就认为其对应的是传入数据的字段
104
105
  registerStyleAttribute(fieldName, layer, styleOffsets, function (value) {
@@ -123,9 +124,10 @@ function offsetStyleMapping(fieldName, layer, styleOffsets) {
123
124
  */
124
125
 
125
126
 
126
- function colorStyleMapping(fieldName, layer, styleColor) {
127
- if (isString(styleColor)) {// 如果传入的 styleColor 是 string 类型,那么就认为其是颜色值
128
- // registerStyleAttribute(fieldName, layer, styleColor, undefined);
127
+ function handleStyleColor(fieldName, layer, styleColor) {
128
+ if (isString(styleColor)) {
129
+ // 如果传入的 styleColor 是 string 类型,那么就认为其是颜色值
130
+ registerStyleAttribute(fieldName, layer, styleColor, undefined);
129
131
  } else if (Array.isArray(styleColor) && styleColor.length === 2) {
130
132
  // 传入的 styleColor 是长度为 2 的数组
131
133
  if (isString(styleColor[0]) && isFunction(styleColor[1])) {
@@ -144,4 +146,4 @@ function colorStyleMapping(fieldName, layer, styleColor) {
144
146
  }
145
147
  }
146
148
 
147
- export { styleDataMapping, floatStyleMapping, colorStyleMapping };
149
+ export { handleStyleDataMapping, handleStyleFloat, handleStyleColor };
@@ -1,8 +1,8 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
- import _createClass from "@babel/runtime/helpers/createClass";
5
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
5
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
6
6
  import { aProjectFlat } from '@antv/l7-utils';
7
7
  import { vec2 } from 'gl-matrix';
8
8
  var tmp = vec2.create(); // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -1,6 +1,6 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
 
5
5
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { Version } from '@antv/l7-maps';
2
2
  import Source from '@antv/l7-source';
3
- import { normalize, rgb2arr } from '@antv/l7-utils';
3
+ import { isColor, normalize, rgb2arr } from '@antv/l7-utils';
4
4
  import { cloneDeep } from 'lodash';
5
5
 
6
6
  function getArrowPoints(p1, p2) {
@@ -91,7 +91,7 @@ function unProjectCoordinates(coordinates, mapService) {
91
91
  }
92
92
  }
93
93
 
94
- function applyAttributeMapping(attribute, record) {
94
+ function applyAttributeMapping(attribute, record, minimumColor) {
95
95
  var _attribute$scale;
96
96
 
97
97
  if (!attribute.scale) {
@@ -111,10 +111,15 @@ function applyAttributeMapping(attribute, record) {
111
111
  }
112
112
  });
113
113
  var mappingResult = attribute.mapping ? attribute.mapping(params) : [];
114
+
115
+ if (attribute.name === 'color' && !isColor(mappingResult[0])) {
116
+ return [minimumColor];
117
+ }
118
+
114
119
  return mappingResult;
115
120
  }
116
121
 
117
- function mapping(attributes, data, fontService, mapService, layer) {
122
+ function mapping(attributes, data, fontService, mapService, minimumColor, layer) {
118
123
  var _ref2 = layer === null || layer === void 0 ? void 0 : layer.getLayerConfig(),
119
124
  _ref2$arrow = _ref2.arrow,
120
125
  arrow = _ref2$arrow === void 0 ? {
@@ -129,7 +134,7 @@ function mapping(attributes, data, fontService, mapService, layer) {
129
134
  attributes.filter(function (attribute) {
130
135
  return attribute.scale !== undefined;
131
136
  }).forEach(function (attribute) {
132
- var values = applyAttributeMapping(attribute, record);
137
+ var values = applyAttributeMapping(attribute, record, minimumColor);
133
138
  attribute.needRemapping = false; // TODO: 支持每个属性配置 postprocess
134
139
 
135
140
  if (attribute.name === 'color') {
@@ -164,10 +169,11 @@ function mapping(attributes, data, fontService, mapService, layer) {
164
169
 
165
170
  export function calculateData(layer, fontService, mapService, styleAttributeService, data, options) {
166
171
  var source = new Source(data, options);
172
+ var bottomColor = layer.getBottomColor();
167
173
  var attributes = styleAttributeService.getLayerStyleAttributes() || [];
168
174
  var dataArray = source.data.dataArray;
169
175
  var filterData = dataArray;
170
- var mappedEncodeData = mapping(attributes, filterData, fontService, mapService, layer);
176
+ var mappedEncodeData = mapping(attributes, filterData, fontService, mapService, bottomColor, layer);
171
177
  source.destroy();
172
178
  return mappedEncodeData;
173
179
  }
@@ -1,4 +1,4 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
 
3
3
  /**
4
4
  * 'blurH' -> ['blurH', {}]
@@ -1,4 +1,4 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
2
  import { aProjectFlat } from '@antv/l7-utils';
3
3
  import { vec2 } from 'gl-matrix';
4
4
  export function computeMiter(tangent, miter, lineA, lineB, halfThick) {
@@ -1,6 +1,6 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  import { aProjectFlat } from '@antv/l7-utils';
5
5
  import { vec2 } from 'gl-matrix';
6
6
  var lineA = vec2.create();
@@ -3,8 +3,9 @@ import { IWindLayerStyleOptions } from '../core/interface';
3
3
  import { WindModelType } from './models';
4
4
  export default class WindLayer extends BaseLayer<IWindLayerStyleOptions> {
5
5
  type: string;
6
- buildModels(): Promise<void>;
6
+ buildModels(): void;
7
+ rebuildModels(): void;
7
8
  renderModels(): this;
8
9
  protected getDefaultConfig(): {};
9
- getModelType(): WindModelType;
10
+ protected getModelType(): WindModelType;
10
11
  }