@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,225 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Base = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _lodash = require("lodash");
17
+
18
+ var _utils = require("../utils");
19
+
20
+ var Base = /*#__PURE__*/function () {
21
+ function Base() {
22
+ (0, _classCallCheck2.default)(this, Base);
23
+ (0, _defineProperty2.default)(this, "initedTileset", false);
24
+ (0, _defineProperty2.default)(this, "viewchange", (0, _lodash.debounce)(this.mapchange, 200));
25
+ }
26
+
27
+ (0, _createClass2.default)(Base, [{
28
+ key: "children",
29
+ get: function get() {
30
+ return this.tileLayerManager.children;
31
+ }
32
+ }, {
33
+ key: "mapchange",
34
+ value: function mapchange() {
35
+ var _this$tilesetManager;
36
+
37
+ var _this$getCurrentView = this.getCurrentView(),
38
+ latLonBounds = _this$getCurrentView.latLonBounds,
39
+ zoom = _this$getCurrentView.zoom;
40
+
41
+ if (this.mapService.version === 'GAODE1.x') {
42
+ var _this$parent$getLayer = this.parent.getLayerConfig(),
43
+ visible = _this$parent$getLayer.visible;
44
+
45
+ if (zoom < 3 && visible) {
46
+ this.parent.updateLayerConfig({
47
+ visible: false
48
+ });
49
+ this.layerService.reRender();
50
+ } else if (zoom >= 3 && !visible) {
51
+ this.parent.updateLayerConfig({
52
+ visible: true
53
+ });
54
+ this.layerService.reRender();
55
+ }
56
+ }
57
+
58
+ if (this.lastViewStates && this.lastViewStates.zoom === zoom && this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()) {
59
+ return;
60
+ }
61
+
62
+ this.lastViewStates = {
63
+ zoom: zoom,
64
+ latLonBounds: latLonBounds
65
+ };
66
+ (_this$tilesetManager = this.tilesetManager) === null || _this$tilesetManager === void 0 ? void 0 : _this$tilesetManager.throttleUpdate(zoom, latLonBounds);
67
+ }
68
+ }, {
69
+ key: "getCurrentView",
70
+ value: function getCurrentView() {
71
+ var bounds = this.mapService.getBounds();
72
+ var latLonBounds = [bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1]];
73
+ var zoom = this.mapService.getZoom();
74
+ return {
75
+ latLonBounds: latLonBounds,
76
+ zoom: zoom
77
+ };
78
+ }
79
+ }, {
80
+ key: "initTileSetManager",
81
+ value: function initTileSetManager() {
82
+ var _this$tilesetManager2;
83
+
84
+ var source = this.parent.getSource();
85
+ this.tilesetManager = source.tileset;
86
+
87
+ if (!this.initedTileset) {
88
+ this.bindTilesetEvent();
89
+ this.initedTileset = true;
90
+ }
91
+
92
+ var _this$getCurrentView2 = this.getCurrentView(),
93
+ latLonBounds = _this$getCurrentView2.latLonBounds,
94
+ zoom = _this$getCurrentView2.zoom;
95
+
96
+ (_this$tilesetManager2 = this.tilesetManager) === null || _this$tilesetManager2 === void 0 ? void 0 : _this$tilesetManager2.update(zoom, latLonBounds);
97
+ }
98
+ }, {
99
+ key: "bindTilesetEvent",
100
+ value: function bindTilesetEvent() {
101
+ var _this = this;
102
+
103
+ if (!this.tilesetManager) {
104
+ return;
105
+ } // 瓦片数据加载成功
106
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
107
+
108
+
109
+ this.tilesetManager.on('tile-loaded', function (tile) {// 将事件抛出,图层上可以监听使用
110
+ }); // 瓦片数据从缓存删除或被执行重新加载
111
+
112
+ this.tilesetManager.on('tile-unload', function (tile) {
113
+ // 将事件抛出,图层上可以监听使用
114
+ _this.tileUnLoad(tile);
115
+ }); // 瓦片数据加载失败
116
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
117
+
118
+ this.tilesetManager.on('tile-error', function (error, tile) {
119
+ // 将事件抛出,图层上可以监听使用
120
+ _this.tileError(error);
121
+ }); // 瓦片显隐状态更新
122
+
123
+ this.tilesetManager.on('tile-update', function () {
124
+ _this.tileUpdate();
125
+ }); // 地图视野发生改变
126
+
127
+ this.mapService.on('zoomend', function () {
128
+ return _this.viewchange();
129
+ });
130
+ this.mapService.on('moveend', function () {
131
+ return _this.viewchange();
132
+ });
133
+ }
134
+ }, {
135
+ key: "render",
136
+ value: function render() {
137
+ this.tileLayerManager.render();
138
+ } // 防抖操作
139
+
140
+ }, {
141
+ key: "tileLoaded",
142
+ value: // eslint-disable-next-line @typescript-eslint/no-unused-vars
143
+ function tileLoaded(tile) {//
144
+ }
145
+ }, {
146
+ key: "tileError",
147
+ value: function tileError(error) {
148
+ console.warn('error:', error);
149
+ }
150
+ }, {
151
+ key: "destroy",
152
+ value: function destroy() {
153
+ var _this$tilesetManager3;
154
+
155
+ (_this$tilesetManager3 = this.tilesetManager) === null || _this$tilesetManager3 === void 0 ? void 0 : _this$tilesetManager3.destroy();
156
+ this.tileLayerManager.destroy();
157
+ }
158
+ }, {
159
+ key: "tileUnLoad",
160
+ value: function tileUnLoad(tile) {
161
+ this.tileLayerManager.removeTile(tile);
162
+ }
163
+ }, {
164
+ key: "tileUpdate",
165
+ value: function tileUpdate() {
166
+ var _this2 = this;
167
+
168
+ if (!this.tilesetManager) {
169
+ return;
170
+ }
171
+
172
+ this.tilesetManager.tiles.filter(function (tile) {
173
+ return tile.isLoaded;
174
+ }).map(function (tile) {
175
+ if (!_this2.isTileReady(tile)) return;
176
+
177
+ if (!_this2.tileLayerManager.hasTile(tile)) {
178
+ var _this2$tileLayerManag = _this2.tileLayerManager.addTile(tile),
179
+ layers = _this2$tileLayerManag.layers;
180
+
181
+ _this2.setPickState(layers);
182
+ } else {
183
+ if (!tile.isVisibleChange) {
184
+ return;
185
+ }
186
+
187
+ var _layers = _this2.tileLayerManager.getChildren(tile.layerIDList);
188
+
189
+ (0, _utils.updateTileVisible)(tile, _layers, _this2.layerService);
190
+
191
+ _this2.setPickState(_layers);
192
+ }
193
+ });
194
+
195
+ if (this.tilesetManager.isLoaded) {
196
+ // 将事件抛出,图层上可以使用瓦片
197
+ this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
198
+ }
199
+ }
200
+ }, {
201
+ key: "isTileReady",
202
+ value: function isTileReady(tile) {
203
+ var _tile$data;
204
+
205
+ if ((_tile$data = tile.data) !== null && _tile$data !== void 0 && _tile$data.layers && this.sourceLayer) {
206
+ // vector
207
+ var vectorTileLayer = tile.data.layers[this.sourceLayer];
208
+ var features = vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.features;
209
+
210
+ if (!(Array.isArray(features) && features.length > 0)) {
211
+ return false;
212
+ }
213
+ }
214
+
215
+ return true;
216
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
217
+
218
+ }, {
219
+ key: "setPickState",
220
+ value: function setPickState(layers) {}
221
+ }]);
222
+ return Base;
223
+ }();
224
+
225
+ exports.Base = Base;
package/lib/tile/utils.js CHANGED
@@ -4,11 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getContainerSize = getContainerSize;
7
+ exports.getLayerShape = getLayerShape;
8
+ exports.getMaskValue = getMaskValue;
9
+ exports.isTileChildLoaded = isTileChildLoaded;
7
10
  exports.isTileGroup = isTileGroup;
11
+ exports.isTileLoaded = isTileLoaded;
12
+ exports.isTileParentLoaded = isTileParentLoaded;
13
+ exports.isVectorTile = isVectorTile;
14
+ exports.registerLayers = registerLayers;
15
+ exports.tileAllLoad = tileAllLoad;
8
16
  exports.tileVectorParser = void 0;
17
+ exports.updateTileVisible = updateTileVisible;
18
+
19
+ var _l7Core = require("@antv/l7-core");
9
20
 
10
21
  var _l7Utils = require("@antv/l7-utils");
11
22
 
23
+ var _utils = require("./style/utils");
24
+
12
25
  var tileVectorParser = ['mvt', 'geojsonvt', 'testTile'];
13
26
  /**
14
27
  * 判断当前图层是否是瓦片图层
@@ -23,6 +36,70 @@ function isTileGroup(layer) {
23
36
  return tileVectorParser.includes(source.parser.type);
24
37
  }
25
38
 
39
+ function isVectorTile(parserType) {
40
+ return tileVectorParser.indexOf(parserType) >= 0;
41
+ }
42
+
43
+ function registerLayers(parentLayer, layers) {
44
+ layers.map(function (layer) {
45
+ var container = (0, _l7Core.createLayerContainer)(parentLayer.sceneContainer);
46
+ layer.setContainer(container, parentLayer.sceneContainer);
47
+ layer.init();
48
+ });
49
+ }
50
+
51
+ function getLayerShape(layerType, layer) {
52
+ var _layerShape$scale;
53
+
54
+ var layerShape = layer.getAttribute('shape');
55
+
56
+ if (layerShape && (_layerShape$scale = layerShape.scale) !== null && _layerShape$scale !== void 0 && _layerShape$scale.field) {
57
+ var _layerShape$scale2;
58
+
59
+ if (((_layerShape$scale2 = layerShape.scale) === null || _layerShape$scale2 === void 0 ? void 0 : _layerShape$scale2.values) === 'text') {
60
+ return [layerShape.scale.field, layerShape.scale.values];
61
+ }
62
+
63
+ return layerShape.scale.field;
64
+ }
65
+
66
+ switch (layerType) {
67
+ case 'PolygonLayer':
68
+ return 'fill';
69
+
70
+ case 'LineLayer':
71
+ return 'tileline';
72
+
73
+ case 'PointLayer':
74
+ return 'circle';
75
+
76
+ case 'RasterLayer':
77
+ return 'image';
78
+
79
+ default:
80
+ return '';
81
+ }
82
+ }
83
+
84
+ function getMaskValue(layerType, mask) {
85
+ switch (layerType) {
86
+ case 'PolygonLayer':
87
+ return true;
88
+
89
+ case 'LineLayer':
90
+ return true;
91
+
92
+ case 'PointLayer':
93
+ return false;
94
+
95
+ case 'RasterLayer':
96
+ return mask;
97
+
98
+ default:
99
+ return mask;
100
+ }
101
+ }
102
+
26
103
  function getContainerSize(container) {
27
104
  if (container.getContext) {
28
105
  return {
@@ -32,4 +109,75 @@ function getContainerSize(container) {
32
109
  } else {
33
110
  return container.getBoundingClientRect();
34
111
  }
112
+ }
113
+
114
+ function isTileLoaded(tile) {
115
+ return tile.layerIDList.length === tile.loadedLayers;
116
+ }
117
+
118
+ function isTileChildLoaded(tile) {
119
+ var children = tile.children;
120
+ return children.filter(function (child) {
121
+ return isTileLoaded(child);
122
+ }).length === children.length;
123
+ }
124
+
125
+ function isTileParentLoaded(tile) {
126
+ var parent = tile.parent;
127
+
128
+ if (!parent) {
129
+ return true;
130
+ } else {
131
+ return isTileLoaded(parent);
132
+ }
133
+ }
134
+
135
+ function tileAllLoad(tile, callback) {
136
+ var timer = window.setInterval(function () {
137
+ var tileLoaded = isTileLoaded(tile);
138
+ var tileChildLoaded = isTileChildLoaded(tile);
139
+ var tileParentLoaded = isTileParentLoaded(tile);
140
+
141
+ if (tileLoaded && tileChildLoaded && tileParentLoaded) {
142
+ callback();
143
+ window.clearInterval(timer);
144
+ }
145
+ }, 36);
146
+ }
147
+
148
+ function dispatchTileVisibleChange(tile, callback) {
149
+ if (tile.isVisible) {
150
+ callback();
151
+ } else {
152
+ tileAllLoad(tile, function () {
153
+ callback();
154
+ });
155
+ }
156
+ }
157
+
158
+ function updateImmediately(layers) {
159
+ var immediately = true;
160
+ layers.map(function (layer) {
161
+ if (layer.type !== 'PointLayer') {
162
+ immediately = false;
163
+ }
164
+ });
165
+ return immediately;
166
+ }
167
+
168
+ function updateTileVisible(tile, layers, layerService) {
169
+ if (layers.length === 0) {
170
+ return;
171
+ }
172
+
173
+ if (updateImmediately(layers)) {
174
+ (0, _utils.updateLayersConfig)(layers, 'visible', tile.isVisible);
175
+ layerService.reRender();
176
+ return;
177
+ }
178
+
179
+ dispatchTileVisibleChange(tile, function () {
180
+ (0, _utils.updateLayersConfig)(layers, 'visible', tile.isVisible);
181
+ layerService.reRender();
182
+ });
35
183
  }
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.colorStyleMapping = colorStyleMapping;
7
- exports.floatStyleMapping = floatStyleMapping;
8
- exports.styleDataMapping = styleDataMapping;
6
+ exports.handleStyleColor = handleStyleColor;
7
+ exports.handleStyleDataMapping = handleStyleDataMapping;
8
+ exports.handleStyleFloat = handleStyleFloat;
9
9
 
10
10
  var _lodash = require("lodash");
11
11
 
@@ -25,7 +25,7 @@ function registerStyleAttribute(fieldName, layer, field, values, updateOptions)
25
25
  */
26
26
 
27
27
 
28
- function styleDataMapping(configToUpdate, layer) {
28
+ function handleStyleDataMapping(configToUpdate, layer) {
29
29
  // 瓦片图层不需要进行样式数据映射
30
30
  if (layer.tileLayer || layer.isTileLayer) {
31
31
  return;
@@ -33,37 +33,37 @@ function styleDataMapping(configToUpdate, layer) {
33
33
 
34
34
  if (configToUpdate.opacity) {
35
35
  // 处理 style 中 opacity 属性的数据映射
36
- floatStyleMapping('opacity', layer, configToUpdate.opacity);
36
+ handleStyleFloat('opacity', layer, configToUpdate.opacity);
37
37
  }
38
38
 
39
39
  if (configToUpdate.strokeWidth) {
40
40
  // 处理 style 中 strokeWidth 属性的数据映射
41
- floatStyleMapping('strokeWidth', layer, configToUpdate.strokeWidth);
41
+ handleStyleFloat('strokeWidth', layer, configToUpdate.strokeWidth);
42
42
  }
43
43
 
44
44
  if (configToUpdate.strokeOpacity) {
45
45
  // 处理 style 中 strokeOpacity 属性的数据映射
46
- floatStyleMapping('strokeOpacity', layer, configToUpdate.strokeOpacity);
46
+ handleStyleFloat('strokeOpacity', layer, configToUpdate.strokeOpacity);
47
47
  }
48
48
 
49
49
  if (configToUpdate.stroke) {
50
50
  // 处理 style 中 stroke (strokeColor) 属性的数据映射
51
- colorStyleMapping('stroke', layer, configToUpdate.stroke);
51
+ handleStyleColor('stroke', layer, configToUpdate.stroke);
52
52
  }
53
53
 
54
54
  if (configToUpdate.offsets) {
55
55
  // 处理 style 中 offsets 属性的数据映射
56
- offsetStyleMapping('offsets', layer, configToUpdate.offsets);
56
+ handleStyleOffsets('offsets', layer, configToUpdate.offsets);
57
57
  }
58
58
 
59
59
  if (configToUpdate.textOffset) {
60
60
  // 处理 style 中 textOffset 属性的数据映射
61
- offsetStyleMapping('textOffset', layer, configToUpdate.textOffset);
61
+ handleStyleOffsets('textOffset', layer, configToUpdate.textOffset);
62
62
  }
63
63
 
64
64
  if (configToUpdate.thetaOffset) {
65
65
  // 处理 style 中 thetaOffset 属性的数据映射
66
- floatStyleMapping('thetaOffset', layer, configToUpdate.thetaOffset);
66
+ handleStyleFloat('thetaOffset', layer, configToUpdate.thetaOffset);
67
67
  }
68
68
  }
69
69
  /**
@@ -71,14 +71,15 @@ function styleDataMapping(configToUpdate, layer) {
71
71
  */
72
72
 
73
73
 
74
- function floatStyleMapping(fieldName, layer, styleFloat) {
74
+ function handleStyleFloat(fieldName, layer, styleFloat) {
75
75
  if ((0, _lodash.isString)(styleFloat)) {
76
76
  // 如果传入的 styleFloat 是 string 类型,那么就认为其对应的是传入数据的字段
77
77
  registerStyleAttribute(fieldName, layer, styleFloat, function (value) {
78
78
  return value;
79
79
  });
80
- } else if ((0, _lodash.isNumber)(styleFloat)) {// 传入 number、默认值处理
81
- // registerStyleAttribute(fieldName, layer, [styleFloat], undefined);
80
+ } else if ((0, _lodash.isNumber)(styleFloat)) {
81
+ // 传入 number、默认值处理
82
+ registerStyleAttribute(fieldName, layer, [styleFloat], undefined);
82
83
  } else if (Array.isArray(styleFloat) && styleFloat.length === 2) {
83
84
  // 传入的 styleFloat 是长度为 2 的数组
84
85
  if ((0, _lodash.isString)(styleFloat[0]) && (0, _lodash.isFunction)(styleFloat[1])) {
@@ -104,7 +105,7 @@ function floatStyleMapping(fieldName, layer, styleFloat) {
104
105
  */
105
106
 
106
107
 
107
- function offsetStyleMapping(fieldName, layer, styleOffsets) {
108
+ function handleStyleOffsets(fieldName, layer, styleOffsets) {
108
109
  if ((0, _lodash.isString)(styleOffsets)) {
109
110
  // 如果传入的 styleOffsets 是 string 类型,那么就认为其对应的是传入数据的字段
110
111
  registerStyleAttribute(fieldName, layer, styleOffsets, function (value) {
@@ -129,9 +130,10 @@ function offsetStyleMapping(fieldName, layer, styleOffsets) {
129
130
  */
130
131
 
131
132
 
132
- function colorStyleMapping(fieldName, layer, styleColor) {
133
- if ((0, _lodash.isString)(styleColor)) {// 如果传入的 styleColor 是 string 类型,那么就认为其是颜色值
134
- // registerStyleAttribute(fieldName, layer, styleColor, undefined);
133
+ function handleStyleColor(fieldName, layer, styleColor) {
134
+ if ((0, _lodash.isString)(styleColor)) {
135
+ // 如果传入的 styleColor 是 string 类型,那么就认为其是颜色值
136
+ registerStyleAttribute(fieldName, layer, styleColor, undefined);
135
137
  } else if (Array.isArray(styleColor) && styleColor.length === 2) {
136
138
  // 传入的 styleColor 是长度为 2 的数组
137
139
  if ((0, _lodash.isString)(styleColor[0]) && (0, _lodash.isFunction)(styleColor[1])) {
@@ -103,7 +103,7 @@ function unProjectCoordinates(coordinates, mapService) {
103
103
  }
104
104
  }
105
105
 
106
- function applyAttributeMapping(attribute, record) {
106
+ function applyAttributeMapping(attribute, record, minimumColor) {
107
107
  var _attribute$scale;
108
108
 
109
109
  if (!attribute.scale) {
@@ -123,10 +123,15 @@ function applyAttributeMapping(attribute, record) {
123
123
  }
124
124
  });
125
125
  var mappingResult = attribute.mapping ? attribute.mapping(params) : [];
126
+
127
+ if (attribute.name === 'color' && !(0, _l7Utils.isColor)(mappingResult[0])) {
128
+ return [minimumColor];
129
+ }
130
+
126
131
  return mappingResult;
127
132
  }
128
133
 
129
- function mapping(attributes, data, fontService, mapService, layer) {
134
+ function mapping(attributes, data, fontService, mapService, minimumColor, layer) {
130
135
  var _ref2 = layer === null || layer === void 0 ? void 0 : layer.getLayerConfig(),
131
136
  _ref2$arrow = _ref2.arrow,
132
137
  arrow = _ref2$arrow === void 0 ? {
@@ -141,7 +146,7 @@ function mapping(attributes, data, fontService, mapService, layer) {
141
146
  attributes.filter(function (attribute) {
142
147
  return attribute.scale !== undefined;
143
148
  }).forEach(function (attribute) {
144
- var values = applyAttributeMapping(attribute, record);
149
+ var values = applyAttributeMapping(attribute, record, minimumColor);
145
150
  attribute.needRemapping = false; // TODO: 支持每个属性配置 postprocess
146
151
 
147
152
  if (attribute.name === 'color') {
@@ -176,10 +181,11 @@ function mapping(attributes, data, fontService, mapService, layer) {
176
181
 
177
182
  function calculateData(layer, fontService, mapService, styleAttributeService, data, options) {
178
183
  var source = new _l7Source.default(data, options);
184
+ var bottomColor = layer.getBottomColor();
179
185
  var attributes = styleAttributeService.getLayerStyleAttributes() || [];
180
186
  var dataArray = source.data.dataArray;
181
187
  var filterData = dataArray;
182
- var mappedEncodeData = mapping(attributes, filterData, fontService, mapService, layer);
188
+ var mappedEncodeData = mapping(attributes, filterData, fontService, mapService, bottomColor, layer);
183
189
  source.destroy();
184
190
  return mappedEncodeData;
185
191
  }
package/lib/wind/index.js CHANGED
@@ -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"));
@@ -54,32 +50,24 @@ var WindLayer = /*#__PURE__*/function (_BaseLayer) {
54
50
 
55
51
  (0, _createClass2.default)(WindLayer, [{
56
52
  key: "buildModels",
57
- value: function () {
58
- var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
59
- var modelType;
60
- return _regenerator.default.wrap(function _callee$(_context) {
61
- while (1) {
62
- switch (_context.prev = _context.next) {
63
- case 0:
64
- modelType = this.getModelType();
65
- this.layerModel = new _models.default[modelType](this);
66
- _context.next = 4;
67
- return this.initLayerModels();
68
-
69
- case 4:
70
- case "end":
71
- return _context.stop();
72
- }
73
- }
74
- }, _callee, this);
75
- }));
76
-
77
- function buildModels() {
78
- return _buildModels.apply(this, arguments);
79
- }
53
+ value: function buildModels() {
54
+ var _this2 = this;
55
+
56
+ var modelType = this.getModelType();
57
+ this.layerModel = new _models.default[modelType](this);
58
+ this.layerModel.initModels(function (models) {
59
+ _this2.dispatchModelLoad(models);
60
+ });
61
+ }
62
+ }, {
63
+ key: "rebuildModels",
64
+ value: function rebuildModels() {
65
+ var _this3 = this;
80
66
 
81
- return buildModels;
82
- }()
67
+ this.layerModel.buildModels(function (models) {
68
+ _this3.dispatchModelLoad(models);
69
+ });
70
+ }
83
71
  }, {
84
72
  key: "renderModels",
85
73
  value: function renderModels() {