@antv/l7-layers 2.10.3 → 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 (362) hide show
  1. package/es/Geometry/index.d.ts +3 -2
  2. package/es/Geometry/index.js +17 -27
  3. package/es/Geometry/models/billboard.d.ts +2 -2
  4. package/es/Geometry/models/billboard.js +37 -77
  5. package/es/Geometry/models/plane.d.ts +2 -2
  6. package/es/Geometry/models/plane.js +40 -80
  7. package/es/Geometry/models/sprite.d.ts +2 -2
  8. package/es/Geometry/models/sprite.js +45 -83
  9. package/es/canvas/index.d.ts +3 -2
  10. package/es/canvas/index.js +19 -29
  11. package/es/canvas/models/canvas.d.ts +2 -2
  12. package/es/canvas/models/canvas.js +15 -54
  13. package/es/citybuliding/building.d.ts +3 -2
  14. package/es/citybuliding/building.js +17 -26
  15. package/es/citybuliding/models/build.d.ts +2 -2
  16. package/es/citybuliding/models/build.js +25 -70
  17. package/es/core/BaseLayer.d.ts +18 -21
  18. package/es/core/BaseLayer.js +274 -385
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +6 -47
  21. package/es/core/triangulation.js +1 -8
  22. package/es/earth/index.d.ts +2 -2
  23. package/es/earth/index.js +9 -28
  24. package/es/earth/models/atmosphere.d.ts +2 -2
  25. package/es/earth/models/atmosphere.js +22 -67
  26. package/es/earth/models/base.d.ts +2 -2
  27. package/es/earth/models/base.js +43 -89
  28. package/es/earth/models/bloomsphere.d.ts +2 -2
  29. package/es/earth/models/bloomsphere.js +22 -67
  30. package/es/heatmap/index.d.ts +3 -2
  31. package/es/heatmap/index.js +22 -33
  32. package/es/heatmap/models/grid.d.ts +2 -2
  33. package/es/heatmap/models/grid.js +27 -68
  34. package/es/heatmap/models/grid3d.d.ts +2 -2
  35. package/es/heatmap/models/grid3d.js +28 -69
  36. package/es/heatmap/models/heatmap.d.ts +2 -2
  37. package/es/heatmap/models/heatmap.js +14 -40
  38. package/es/heatmap/models/hexagon.d.ts +2 -2
  39. package/es/heatmap/models/hexagon.js +28 -69
  40. package/es/image/index.d.ts +3 -2
  41. package/es/image/index.js +17 -27
  42. package/es/image/models/dataImage.d.ts +2 -2
  43. package/es/image/models/dataImage.js +54 -93
  44. package/es/image/models/image.d.ts +2 -2
  45. package/es/image/models/image.js +67 -108
  46. package/es/image/models/tileDataImage.d.ts +2 -2
  47. package/es/image/models/tileDataImage.js +43 -84
  48. package/es/index.d.ts +2 -2
  49. package/es/index.js +2 -2
  50. package/es/line/index.d.ts +4 -5
  51. package/es/line/index.js +25 -51
  52. package/es/line/models/arc.d.ts +2 -2
  53. package/es/line/models/arc.js +38 -73
  54. package/es/line/models/arc_3d.d.ts +2 -2
  55. package/es/line/models/arc_3d.js +34 -69
  56. package/es/line/models/earthArc_3d.d.ts +2 -2
  57. package/es/line/models/earthArc_3d.js +37 -72
  58. package/es/line/models/great_circle.d.ts +2 -2
  59. package/es/line/models/great_circle.js +29 -70
  60. package/es/line/models/half.d.ts +2 -2
  61. package/es/line/models/half.js +17 -40
  62. package/es/line/models/index.d.ts +1 -1
  63. package/es/line/models/index.js +2 -0
  64. package/es/line/models/line.d.ts +2 -2
  65. package/es/line/models/line.js +47 -79
  66. package/es/line/models/linearline.d.ts +2 -2
  67. package/es/line/models/linearline.js +31 -70
  68. package/es/line/models/simpleLine.d.ts +2 -2
  69. package/es/line/models/simpleLine.js +34 -71
  70. package/es/line/models/simpleTileLine.d.ts +2 -2
  71. package/es/line/models/simpleTileLine.js +30 -70
  72. package/es/line/models/tile.d.ts +2 -2
  73. package/es/line/models/tile.js +17 -40
  74. package/es/line/models/wall.d.ts +2 -2
  75. package/es/line/models/wall.js +22 -67
  76. package/es/mask/index.d.ts +4 -2
  77. package/es/mask/index.js +97 -27
  78. package/es/mask/models/fill.d.ts +2 -2
  79. package/es/mask/models/fill.js +16 -40
  80. package/es/mask/models/index.d.ts +1 -1
  81. package/es/mask/models/index.js +3 -1
  82. package/es/plugins/DataMappingPlugin.d.ts +2 -0
  83. package/es/plugins/DataMappingPlugin.js +152 -90
  84. package/es/plugins/DataSourcePlugin.js +30 -74
  85. package/es/plugins/FeatureScalePlugin.d.ts +1 -0
  86. package/es/plugins/FeatureScalePlugin.js +61 -85
  87. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  88. package/es/plugins/LayerModelPlugin.js +37 -121
  89. package/es/plugins/LayerStylePlugin.js +6 -1
  90. package/es/plugins/MultiPassRendererPlugin.js +1 -1
  91. package/es/plugins/PixelPickingPlugin.js +1 -1
  92. package/es/plugins/RegisterStyleAttributePlugin.js +16 -1
  93. package/es/plugins/UpdateModelPlugin.js +0 -3
  94. package/es/plugins/UpdateStyleAttributePlugin.js +6 -3
  95. package/es/point/index.d.ts +4 -4
  96. package/es/point/index.js +23 -55
  97. package/es/point/models/earthExtrude.d.ts +2 -2
  98. package/es/point/models/earthExtrude.js +30 -73
  99. package/es/point/models/earthFill.d.ts +2 -2
  100. package/es/point/models/earthFill.js +21 -66
  101. package/es/point/models/extrude.d.ts +2 -2
  102. package/es/point/models/extrude.js +17 -40
  103. package/es/point/models/fill.d.ts +2 -2
  104. package/es/point/models/fill.js +20 -43
  105. package/es/point/models/fillmage.d.ts +2 -2
  106. package/es/point/models/fillmage.js +43 -82
  107. package/es/point/models/image.d.ts +2 -2
  108. package/es/point/models/image.js +31 -72
  109. package/es/point/models/index.d.ts +1 -1
  110. package/es/point/models/index.js +2 -0
  111. package/es/point/models/normal.d.ts +2 -2
  112. package/es/point/models/normal.js +30 -71
  113. package/es/point/models/radar.d.ts +2 -2
  114. package/es/point/models/radar.js +35 -75
  115. package/es/point/models/simplePoint.d.ts +2 -2
  116. package/es/point/models/simplePoint.js +29 -70
  117. package/es/point/models/text.d.ts +2 -3
  118. package/es/point/models/text.js +110 -183
  119. package/es/point/models/tile.d.ts +2 -2
  120. package/es/point/models/tile.js +35 -77
  121. package/es/point/models/tileText.d.ts +2 -2
  122. package/es/point/models/tileText.js +116 -151
  123. package/es/polygon/index.d.ts +3 -2
  124. package/es/polygon/index.js +24 -27
  125. package/es/polygon/models/extrude.d.ts +2 -2
  126. package/es/polygon/models/extrude.js +32 -69
  127. package/es/polygon/models/fill.d.ts +2 -2
  128. package/es/polygon/models/fill.js +43 -76
  129. package/es/polygon/models/index.d.ts +1 -1
  130. package/es/polygon/models/index.js +2 -0
  131. package/es/polygon/models/ocean.d.ts +2 -2
  132. package/es/polygon/models/ocean.js +28 -69
  133. package/es/polygon/models/tile.d.ts +2 -2
  134. package/es/polygon/models/tile.js +30 -70
  135. package/es/polygon/models/water.d.ts +2 -2
  136. package/es/polygon/models/water.js +28 -69
  137. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -1
  138. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +2 -1
  139. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +2 -1
  140. package/es/raster/index.d.ts +4 -3
  141. package/es/raster/index.js +22 -28
  142. package/es/raster/models/index.d.ts +1 -1
  143. package/es/raster/models/index.js +3 -1
  144. package/es/raster/models/raster.d.ts +2 -2
  145. package/es/raster/models/raster.js +13 -36
  146. package/es/raster/models/rasterRgb.d.ts +2 -2
  147. package/es/raster/models/rasterRgb.js +13 -36
  148. package/es/raster/models/rasterTile.d.ts +2 -2
  149. package/es/raster/models/rasterTile.js +36 -77
  150. package/es/raster/raster.d.ts +1 -1
  151. package/es/raster/raster.js +22 -42
  152. package/es/tile/interaction/TilePickService.d.ts +16 -0
  153. package/es/tile/interaction/TilePickService.js +129 -0
  154. package/es/tile/interaction/getRasterData.d.ts +2 -2
  155. package/es/tile/interaction/utils.js +11 -3
  156. package/es/tile/interface.d.ts +4 -5
  157. package/es/tile/manager/base.d.ts +12 -17
  158. package/es/tile/manager/base.js +47 -212
  159. package/es/tile/manager/layerManager.d.ts +19 -0
  160. package/es/tile/manager/layerManager.js +254 -0
  161. package/es/tile/manager/mapLayerManager.d.ts +7 -0
  162. package/es/tile/manager/mapLayerManager.js +119 -0
  163. package/es/tile/models/tileModel.d.ts +10 -0
  164. package/es/tile/models/tileModel.js +81 -0
  165. package/es/tile/render/TileRenderService.d.ts +10 -0
  166. package/es/tile/render/TileRenderService.js +68 -0
  167. package/es/tile/style/TileStyleService.d.ts +17 -0
  168. package/es/tile/style/TileStyleService.js +118 -0
  169. package/es/tile/style/constants.d.ts +13 -1
  170. package/es/tile/style/constants.js +15 -6
  171. package/es/tile/style/utils.d.ts +8 -1
  172. package/es/tile/style/utils.js +126 -0
  173. package/es/tile/tileFactory/base.d.ts +45 -0
  174. package/es/tile/tileFactory/base.js +403 -0
  175. package/es/tile/tileFactory/index.d.ts +4 -10
  176. package/es/tile/tileFactory/index.js +23 -30
  177. package/es/tile/tileFactory/layers/{RasterDataLayer.d.ts → rasterDataLayer.d.ts} +3 -3
  178. package/es/tile/tileFactory/layers/{RasterDataLayer.js → rasterDataLayer.js} +21 -33
  179. package/es/tile/tileFactory/layers/{TileDebugLayer.d.ts → tileTest.d.ts} +2 -2
  180. package/es/tile/tileFactory/layers/{TileDebugLayer.js → tileTest.js} +10 -23
  181. package/es/tile/tileFactory/layers/vectorLayer.d.ts +30 -0
  182. package/es/tile/tileFactory/layers/vectorLayer.js +253 -0
  183. package/es/tile/tileFactory/line.d.ts +12 -0
  184. package/es/tile/tileFactory/line.js +59 -0
  185. package/es/tile/tileFactory/mask.d.ts +12 -0
  186. package/es/tile/tileFactory/mask.js +60 -0
  187. package/es/tile/tileFactory/point.d.ts +12 -0
  188. package/es/tile/tileFactory/point.js +60 -0
  189. package/es/tile/tileFactory/polygon.d.ts +12 -0
  190. package/es/tile/tileFactory/polygon.js +59 -0
  191. package/es/tile/tileFactory/raster.d.ts +12 -0
  192. package/es/tile/tileFactory/raster.js +55 -0
  193. package/es/tile/tileFactory/rasterData.d.ts +12 -0
  194. package/es/tile/tileFactory/rasterData.js +81 -0
  195. package/es/tile/tileFactory/test.d.ts +12 -0
  196. package/es/tile/tileFactory/test.js +94 -0
  197. package/es/tile/tileLayer/MapTileLayer.d.ts +6 -0
  198. package/es/tile/tileLayer/MapTileLayer.js +48 -0
  199. package/es/tile/tileLayer/TileLayer.d.ts +22 -0
  200. package/es/tile/tileLayer/TileLayer.js +198 -0
  201. package/es/tile/tileLayer/base.d.ts +33 -0
  202. package/es/tile/tileLayer/base.js +212 -0
  203. package/es/tile/utils.d.ts +11 -1
  204. package/es/tile/utils.js +129 -0
  205. package/es/utils/dataMappingStyle.d.ts +4 -4
  206. package/es/utils/dataMappingStyle.js +18 -16
  207. package/es/utils/layerData.js +11 -5
  208. package/es/wind/index.d.ts +3 -2
  209. package/es/wind/index.js +17 -27
  210. package/es/wind/models/wind.d.ts +2 -2
  211. package/es/wind/models/wind.js +104 -123
  212. package/lib/Geometry/index.js +17 -29
  213. package/lib/Geometry/models/billboard.js +37 -79
  214. package/lib/Geometry/models/plane.js +40 -82
  215. package/lib/Geometry/models/sprite.js +45 -85
  216. package/lib/canvas/index.js +19 -31
  217. package/lib/canvas/models/canvas.js +15 -56
  218. package/lib/citybuliding/building.js +17 -28
  219. package/lib/citybuliding/models/build.js +25 -72
  220. package/lib/core/BaseLayer.js +269 -385
  221. package/lib/core/BaseModel.js +6 -48
  222. package/lib/core/triangulation.js +1 -8
  223. package/lib/earth/index.js +9 -30
  224. package/lib/earth/models/atmosphere.js +22 -69
  225. package/lib/earth/models/base.js +42 -90
  226. package/lib/earth/models/bloomsphere.js +22 -69
  227. package/lib/heatmap/index.js +22 -35
  228. package/lib/heatmap/models/grid.js +27 -70
  229. package/lib/heatmap/models/grid3d.js +28 -71
  230. package/lib/heatmap/models/heatmap.js +14 -40
  231. package/lib/heatmap/models/hexagon.js +28 -71
  232. package/lib/image/index.js +17 -29
  233. package/lib/image/models/dataImage.js +54 -95
  234. package/lib/image/models/image.js +67 -110
  235. package/lib/image/models/tileDataImage.js +43 -86
  236. package/lib/index.js +5 -5
  237. package/lib/line/index.js +26 -53
  238. package/lib/line/models/arc.js +38 -75
  239. package/lib/line/models/arc_3d.js +34 -71
  240. package/lib/line/models/earthArc_3d.js +37 -74
  241. package/lib/line/models/great_circle.js +29 -72
  242. package/lib/line/models/half.js +17 -40
  243. package/lib/line/models/index.js +3 -0
  244. package/lib/line/models/line.js +47 -81
  245. package/lib/line/models/linearline.js +31 -72
  246. package/lib/line/models/simpleLine.js +34 -73
  247. package/lib/line/models/simpleTileLine.js +30 -72
  248. package/lib/line/models/tile.js +17 -40
  249. package/lib/line/models/wall.js +22 -69
  250. package/lib/mask/index.js +99 -28
  251. package/lib/mask/models/fill.js +16 -40
  252. package/lib/mask/models/index.js +4 -1
  253. package/lib/plugins/DataMappingPlugin.js +149 -91
  254. package/lib/plugins/DataSourcePlugin.js +30 -76
  255. package/lib/plugins/FeatureScalePlugin.js +61 -87
  256. package/lib/plugins/LayerModelPlugin.js +41 -128
  257. package/lib/plugins/LayerStylePlugin.js +6 -1
  258. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  259. package/lib/plugins/PixelPickingPlugin.js +1 -1
  260. package/lib/plugins/RegisterStyleAttributePlugin.js +16 -1
  261. package/lib/plugins/UpdateModelPlugin.js +0 -3
  262. package/lib/plugins/UpdateStyleAttributePlugin.js +6 -3
  263. package/lib/point/index.js +24 -56
  264. package/lib/point/models/earthExtrude.js +30 -75
  265. package/lib/point/models/earthFill.js +21 -68
  266. package/lib/point/models/extrude.js +17 -40
  267. package/lib/point/models/fill.js +21 -44
  268. package/lib/point/models/fillmage.js +43 -84
  269. package/lib/point/models/image.js +31 -74
  270. package/lib/point/models/index.js +3 -0
  271. package/lib/point/models/normal.js +30 -73
  272. package/lib/point/models/radar.js +35 -77
  273. package/lib/point/models/simplePoint.js +29 -72
  274. package/lib/point/models/text.js +109 -183
  275. package/lib/point/models/tile.js +35 -79
  276. package/lib/point/models/tileText.js +115 -151
  277. package/lib/polygon/index.js +25 -29
  278. package/lib/polygon/models/extrude.js +32 -71
  279. package/lib/polygon/models/fill.js +43 -78
  280. package/lib/polygon/models/index.js +3 -0
  281. package/lib/polygon/models/ocean.js +28 -71
  282. package/lib/polygon/models/tile.js +30 -72
  283. package/lib/polygon/models/water.js +28 -71
  284. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -1
  285. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +2 -1
  286. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +2 -1
  287. package/lib/raster/index.js +22 -30
  288. package/lib/raster/models/index.js +4 -1
  289. package/lib/raster/models/raster.js +13 -36
  290. package/lib/raster/models/rasterRgb.js +13 -36
  291. package/lib/raster/models/rasterTile.js +36 -79
  292. package/lib/raster/raster.js +22 -44
  293. package/lib/tile/interaction/TilePickService.js +143 -0
  294. package/lib/tile/interaction/utils.js +11 -3
  295. package/lib/tile/manager/base.js +47 -213
  296. package/lib/tile/manager/layerManager.js +275 -0
  297. package/lib/tile/manager/mapLayerManager.js +134 -0
  298. package/lib/tile/models/tileModel.js +94 -0
  299. package/lib/tile/render/TileRenderService.js +78 -0
  300. package/lib/tile/style/TileStyleService.js +133 -0
  301. package/lib/tile/style/constants.js +19 -8
  302. package/lib/tile/style/utils.js +140 -0
  303. package/lib/tile/tileFactory/base.js +427 -0
  304. package/lib/tile/tileFactory/index.js +24 -42
  305. package/lib/tile/tileFactory/layers/{RasterDataLayer.js → rasterDataLayer.js} +21 -35
  306. package/lib/tile/tileFactory/layers/{TileDebugLayer.js → tileTest.js} +11 -24
  307. package/lib/tile/tileFactory/layers/vectorLayer.js +268 -0
  308. package/lib/tile/tileFactory/line.js +70 -0
  309. package/lib/tile/tileFactory/mask.js +71 -0
  310. package/lib/tile/tileFactory/point.js +71 -0
  311. package/lib/tile/tileFactory/polygon.js +70 -0
  312. package/lib/tile/tileFactory/raster.js +68 -0
  313. package/lib/tile/tileFactory/rasterData.js +93 -0
  314. package/lib/tile/tileFactory/test.js +106 -0
  315. package/lib/tile/tileLayer/MapTileLayer.js +63 -0
  316. package/lib/tile/tileLayer/TileLayer.js +215 -0
  317. package/lib/tile/tileLayer/base.js +225 -0
  318. package/lib/tile/utils.js +148 -0
  319. package/lib/utils/dataMappingStyle.js +20 -18
  320. package/lib/utils/layerData.js +10 -4
  321. package/lib/wind/index.js +17 -29
  322. package/lib/wind/models/wind.js +104 -125
  323. package/package.json +7 -7
  324. package/es/core/LayerPickService.d.ts +0 -9
  325. package/es/core/LayerPickService.js +0 -85
  326. package/es/tile/service/TileLayerService.d.ts +0 -33
  327. package/es/tile/service/TileLayerService.js +0 -172
  328. package/es/tile/service/TilePickService.d.ts +0 -22
  329. package/es/tile/service/TilePickService.js +0 -148
  330. package/es/tile/service/TileSourceService.d.ts +0 -7
  331. package/es/tile/service/TileSourceService.js +0 -39
  332. package/es/tile/tileFactory/DebugTile.d.ts +0 -16
  333. package/es/tile/tileFactory/DebugTile.js +0 -100
  334. package/es/tile/tileFactory/ImageTile.d.ts +0 -14
  335. package/es/tile/tileFactory/ImageTile.js +0 -89
  336. package/es/tile/tileFactory/MaskTile.d.ts +0 -17
  337. package/es/tile/tileFactory/MaskTile.js +0 -98
  338. package/es/tile/tileFactory/RasterRGBTile.d.ts +0 -16
  339. package/es/tile/tileFactory/RasterRGBTile.js +0 -91
  340. package/es/tile/tileFactory/RasterTile.d.ts +0 -27
  341. package/es/tile/tileFactory/RasterTile.js +0 -186
  342. package/es/tile/tileFactory/Tile.d.ts +0 -34
  343. package/es/tile/tileFactory/Tile.js +0 -199
  344. package/es/tile/tileFactory/VectorTile.d.ts +0 -20
  345. package/es/tile/tileFactory/VectorTile.js +0 -152
  346. package/es/tile/tileFactory/util.d.ts +0 -6
  347. package/es/tile/tileFactory/util.js +0 -33
  348. package/es/tile/tileLayer/BaseLayer.d.ts +0 -46
  349. package/es/tile/tileLayer/BaseLayer.js +0 -358
  350. package/lib/core/LayerPickService.js +0 -96
  351. package/lib/tile/service/TileLayerService.js +0 -185
  352. package/lib/tile/service/TilePickService.js +0 -162
  353. package/lib/tile/service/TileSourceService.js +0 -59
  354. package/lib/tile/tileFactory/DebugTile.js +0 -115
  355. package/lib/tile/tileFactory/ImageTile.js +0 -104
  356. package/lib/tile/tileFactory/MaskTile.js +0 -113
  357. package/lib/tile/tileFactory/RasterRGBTile.js +0 -106
  358. package/lib/tile/tileFactory/RasterTile.js +0 -205
  359. package/lib/tile/tileFactory/Tile.js +0 -210
  360. package/lib/tile/tileFactory/VectorTile.js +0 -167
  361. package/lib/tile/tileFactory/util.js +0 -48
  362. package/lib/tile/tileLayer/BaseLayer.js +0 -373
@@ -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() {