@antv/l7-layers 2.9.27-alpha.2 → 2.9.27-alpha.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 (342) hide show
  1. package/es/Geometry/index.js +6 -2
  2. package/es/Geometry/models/billboard.js +3 -7
  3. package/es/Geometry/models/plane.js +5 -7
  4. package/es/Geometry/models/sprite.js +4 -7
  5. package/es/canvas/index.d.ts +4 -0
  6. package/es/canvas/index.js +38 -2
  7. package/es/citybuliding/building.js +6 -2
  8. package/es/citybuliding/models/build.js +2 -3
  9. package/es/core/BaseLayer.d.ts +20 -12
  10. package/es/core/BaseLayer.js +61 -85
  11. package/es/core/BaseModel.d.ts +2 -2
  12. package/es/core/BaseModel.js +22 -19
  13. package/es/core/interface.d.ts +20 -1
  14. package/es/core/triangulation.d.ts +6 -0
  15. package/es/core/triangulation.js +64 -2
  16. package/es/earth/index.js +3 -1
  17. package/es/earth/models/atmosphere.js +4 -7
  18. package/es/earth/models/base.js +12 -18
  19. package/es/earth/models/bloomsphere.js +4 -8
  20. package/es/earth/shaders/atmosphere_frag.glsl +1 -1
  21. package/es/earth/shaders/bloomsphere_frag.glsl +1 -1
  22. package/es/heatmap/index.d.ts +2 -2
  23. package/es/heatmap/index.js +7 -5
  24. package/es/heatmap/models/grid.js +1 -3
  25. package/es/heatmap/models/grid3d.js +4 -11
  26. package/es/heatmap/models/heatmap.js +8 -9
  27. package/es/heatmap/models/hexagon.js +2 -6
  28. package/es/heatmap/triangulation.js +0 -1
  29. package/es/image/index.d.ts +1 -1
  30. package/es/image/index.js +10 -3
  31. package/es/image/models/dataImage.d.ts +1 -1
  32. package/es/image/models/dataImage.js +14 -39
  33. package/es/image/models/image.js +5 -10
  34. package/es/image/models/index.d.ts +1 -1
  35. package/es/image/models/index.js +3 -1
  36. package/es/image/models/tileDataImage.d.ts +19 -0
  37. package/es/image/models/tileDataImage.js +174 -0
  38. package/es/line/index.d.ts +1 -0
  39. package/es/line/index.js +8 -2
  40. package/es/line/models/arc.js +10 -10
  41. package/es/line/models/arc_3d.js +8 -10
  42. package/es/line/models/earthArc_3d.js +8 -10
  43. package/es/line/models/great_circle.js +7 -7
  44. package/es/line/models/half.js +3 -4
  45. package/es/line/models/line.js +10 -9
  46. package/es/line/models/linearline.js +3 -4
  47. package/es/line/models/simpleLine.js +5 -4
  48. package/es/line/models/simpleTileLine.d.ts +9 -0
  49. package/es/line/models/simpleTileLine.js +100 -0
  50. package/es/line/models/tile.d.ts +1 -4
  51. package/es/line/models/tile.js +50 -223
  52. package/es/line/models/wall.js +11 -47
  53. package/es/line/shaders/dash/arc_dash_vert.glsl +2 -0
  54. package/es/line/shaders/dash/line_dash_frag.glsl +1 -1
  55. package/es/line/shaders/line_arc2d_vert.glsl +2 -2
  56. package/es/line/shaders/line_arc_3d_frag.glsl +10 -10
  57. package/es/line/shaders/line_arc_3d_vert.glsl +5 -6
  58. package/es/line/shaders/line_arc_frag.glsl +9 -10
  59. package/es/line/shaders/line_arc_great_circle_frag.glsl +6 -6
  60. package/es/line/shaders/line_arc_great_circle_vert.glsl +2 -3
  61. package/es/line/shaders/line_arc_vert.glsl +6 -4
  62. package/es/line/shaders/line_bezier_vert.glsl +2 -2
  63. package/es/line/shaders/line_frag.glsl +5 -6
  64. package/es/line/shaders/line_vert.glsl +1 -1
  65. package/es/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
  66. package/es/line/shaders/linear/arc3d_linear_vert.glsl +11 -12
  67. package/es/line/shaders/linear/arc_linear_frag.glsl +1 -1
  68. package/es/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  69. package/es/line/shaders/tile/line_tile_vert.glsl +19 -177
  70. package/es/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  71. package/es/line/shaders/tile/simpleline_vert.glsl +21 -0
  72. package/es/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +21 -25
  73. package/es/line/shaders/wall/wall_vert.glsl +77 -0
  74. package/es/mask/index.d.ts +1 -0
  75. package/es/mask/index.js +80 -5
  76. package/es/mask/models/fill.d.ts +2 -1
  77. package/es/mask/models/fill.js +13 -10
  78. package/es/mask/shaders/mask_vert.glsl +0 -6
  79. package/es/plugins/DataMappingPlugin.d.ts +4 -3
  80. package/es/plugins/DataMappingPlugin.js +129 -58
  81. package/es/plugins/DataSourcePlugin.js +3 -2
  82. package/es/plugins/FeatureScalePlugin.d.ts +0 -2
  83. package/es/plugins/FeatureScalePlugin.js +8 -51
  84. package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -2
  85. package/es/plugins/LayerAnimateStylePlugin.js +7 -27
  86. package/es/plugins/LayerModelPlugin.js +2 -6
  87. package/es/plugins/LightingPlugin.js +1 -7
  88. package/es/plugins/MultiPassRendererPlugin.d.ts +0 -1
  89. package/es/plugins/MultiPassRendererPlugin.js +4 -16
  90. package/es/plugins/PixelPickingPlugin.d.ts +1 -1
  91. package/es/plugins/PixelPickingPlugin.js +8 -28
  92. package/es/plugins/RegisterStyleAttributePlugin.d.ts +4 -0
  93. package/es/plugins/RegisterStyleAttributePlugin.js +56 -5
  94. package/es/plugins/UpdateStyleAttributePlugin.js +2 -9
  95. package/es/point/index.js +9 -6
  96. package/es/point/models/earthExtrude.d.ts +1 -1
  97. package/es/point/models/earthExtrude.js +9 -14
  98. package/es/point/models/earthFill.js +2 -2
  99. package/es/point/models/extrude.d.ts +1 -1
  100. package/es/point/models/extrude.js +9 -12
  101. package/es/point/models/fill.d.ts +1 -1
  102. package/es/point/models/fill.js +8 -9
  103. package/es/point/models/fillmage.js +5 -6
  104. package/es/point/models/image.js +3 -3
  105. package/es/point/models/index.d.ts +1 -1
  106. package/es/point/models/index.js +3 -3
  107. package/es/point/models/normal.d.ts +0 -1
  108. package/es/point/models/normal.js +9 -62
  109. package/es/point/models/radar.js +5 -70
  110. package/es/point/models/simplePoint.d.ts +0 -1
  111. package/es/point/models/simplePoint.js +2 -11
  112. package/es/point/models/text.js +7 -10
  113. package/es/point/models/tile.d.ts +0 -7
  114. package/es/point/models/tile.js +24 -158
  115. package/es/point/models/tileText.d.ts +0 -4
  116. package/es/point/models/tileText.js +99 -188
  117. package/es/point/shaders/animate/wave_frag.glsl +4 -4
  118. package/es/point/shaders/earth/fill_vert.glsl +0 -1
  119. package/es/point/shaders/fill_vert.glsl +0 -1
  120. package/es/point/shaders/normal_frag.glsl +1 -10
  121. package/es/point/shaders/normal_vert.glsl +5 -60
  122. package/es/point/shaders/radar/radar_frag.glsl +4 -15
  123. package/es/point/shaders/radar/radar_vert.glsl +4 -54
  124. package/es/point/shaders/tile/fill_tile_frag.glsl +10 -17
  125. package/es/point/shaders/tile/fill_tile_vert.glsl +20 -123
  126. package/es/point/shaders/tile/text_frag.glsl +33 -0
  127. package/es/point/shaders/tile/text_map_frag.glsl +31 -0
  128. package/es/point/shaders/tile/text_map_vert.glsl +38 -0
  129. package/es/point/shaders/tile/text_vert.glsl +48 -0
  130. package/es/polygon/index.js +6 -2
  131. package/es/polygon/models/extrude.js +4 -8
  132. package/es/polygon/models/fill.js +3 -4
  133. package/es/polygon/models/ocean.d.ts +0 -2
  134. package/es/polygon/models/ocean.js +13 -47
  135. package/es/polygon/models/tile.d.ts +1 -4
  136. package/es/polygon/models/tile.js +25 -57
  137. package/es/polygon/models/water.d.ts +0 -2
  138. package/es/polygon/models/water.js +13 -47
  139. package/es/polygon/shaders/polygon_frag.glsl +2 -2
  140. package/es/polygon/shaders/polygon_vert.glsl +2 -2
  141. package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  142. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  143. package/es/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  144. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  145. package/es/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  146. package/es/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  147. package/es/raster/buffers/triangulation.js +1 -4
  148. package/es/raster/index.js +6 -2
  149. package/es/raster/models/raster.d.ts +1 -1
  150. package/es/raster/models/raster.js +6 -5
  151. package/es/shader/minify_frag.glsl +7 -0
  152. package/es/shader/minify_picking_frag.glsl +10 -0
  153. package/es/tile/manager/baseMapTileLayerManager.d.ts +29 -0
  154. package/es/tile/manager/baseMapTileLayerManager.js +207 -0
  155. package/es/tile/manager/tileLayerManager.d.ts +2 -2
  156. package/es/tile/manager/tileLayerManager.js +12 -2
  157. package/es/tile/manager/tilePickerManager.d.ts +2 -3
  158. package/es/tile/manager/tilePickerManager.js +1 -2
  159. package/es/tile/models/tileModel.d.ts +1 -0
  160. package/es/tile/models/tileModel.js +18 -2
  161. package/es/tile/tileFactory/base.d.ts +1 -1
  162. package/es/tile/tileFactory/base.js +58 -33
  163. package/es/tile/tileFactory/line.js +3 -0
  164. package/es/tile/tileFactory/point.js +3 -0
  165. package/es/tile/tileFactory/polygon.js +3 -0
  166. package/es/tile/tileFactory/raster.js +3 -0
  167. package/es/tile/tileFactory/rasterData.js +3 -0
  168. package/es/tile/tileFactory/rasterDataLayer.js +6 -2
  169. package/es/tile/tileFactory/test.js +26 -5
  170. package/es/tile/tileFactory/vectorLayer.d.ts +4 -1
  171. package/es/tile/tileFactory/vectorLayer.js +110 -7
  172. package/es/tile/tileLayer/baseMapTileLayer.d.ts +29 -0
  173. package/es/tile/tileLayer/baseMapTileLayer.js +188 -0
  174. package/es/tile/tileLayer/baseTileLayer.d.ts +4 -4
  175. package/es/tile/tileLayer/baseTileLayer.js +46 -75
  176. package/es/tile/tileTest.d.ts +1 -0
  177. package/es/tile/tileTest.js +3 -2
  178. package/es/tile/tmsMapTileLayer.d.ts +9 -0
  179. package/es/tile/tmsMapTileLayer.js +119 -0
  180. package/es/tile/tmsTileLayer.d.ts +2 -0
  181. package/es/tile/tmsTileLayer.js +24 -2
  182. package/es/tile/utils.d.ts +4 -0
  183. package/es/tile/utils.js +30 -0
  184. package/es/utils/dataMappingStyle.js +3 -0
  185. package/es/utils/layerData.js +2 -2
  186. package/es/utils/updateShape.js +2 -2
  187. package/es/wind/index.js +6 -2
  188. package/es/wind/models/wind.js +8 -8
  189. package/es/wind/shaders/wind_vert.glsl +1 -1
  190. package/lib/Geometry/index.js +6 -2
  191. package/lib/Geometry/models/billboard.js +3 -7
  192. package/lib/Geometry/models/plane.js +5 -7
  193. package/lib/Geometry/models/sprite.js +4 -7
  194. package/lib/canvas/index.js +37 -2
  195. package/lib/citybuliding/building.js +6 -2
  196. package/lib/citybuliding/models/build.js +2 -3
  197. package/lib/core/BaseLayer.js +61 -85
  198. package/lib/core/BaseModel.js +22 -19
  199. package/lib/core/triangulation.js +66 -2
  200. package/lib/earth/index.js +3 -1
  201. package/lib/earth/models/atmosphere.js +4 -7
  202. package/lib/earth/models/base.js +12 -18
  203. package/lib/earth/models/bloomsphere.js +4 -8
  204. package/lib/earth/shaders/atmosphere_frag.glsl +1 -1
  205. package/lib/earth/shaders/bloomsphere_frag.glsl +1 -1
  206. package/lib/heatmap/index.js +7 -5
  207. package/lib/heatmap/models/grid.js +1 -3
  208. package/lib/heatmap/models/grid3d.js +4 -11
  209. package/lib/heatmap/models/heatmap.js +8 -9
  210. package/lib/heatmap/models/hexagon.js +2 -6
  211. package/lib/heatmap/triangulation.js +0 -1
  212. package/lib/image/index.js +10 -3
  213. package/lib/image/models/dataImage.js +13 -38
  214. package/lib/image/models/image.js +5 -10
  215. package/lib/image/models/index.js +4 -1
  216. package/lib/image/models/tileDataImage.js +188 -0
  217. package/lib/line/index.js +7 -2
  218. package/lib/line/models/arc.js +10 -10
  219. package/lib/line/models/arc_3d.js +8 -10
  220. package/lib/line/models/earthArc_3d.js +8 -10
  221. package/lib/line/models/great_circle.js +7 -7
  222. package/lib/line/models/half.js +3 -4
  223. package/lib/line/models/line.js +10 -9
  224. package/lib/line/models/linearline.js +3 -4
  225. package/lib/line/models/simpleLine.js +5 -4
  226. package/lib/line/models/simpleTileLine.js +115 -0
  227. package/lib/line/models/tile.js +50 -224
  228. package/lib/line/models/wall.js +11 -47
  229. package/lib/line/shaders/dash/arc_dash_vert.glsl +2 -0
  230. package/lib/line/shaders/dash/line_dash_frag.glsl +1 -1
  231. package/lib/line/shaders/line_arc2d_vert.glsl +2 -2
  232. package/lib/line/shaders/line_arc_3d_frag.glsl +10 -10
  233. package/lib/line/shaders/line_arc_3d_vert.glsl +5 -6
  234. package/lib/line/shaders/line_arc_frag.glsl +9 -10
  235. package/lib/line/shaders/line_arc_great_circle_frag.glsl +6 -6
  236. package/lib/line/shaders/line_arc_great_circle_vert.glsl +2 -3
  237. package/lib/line/shaders/line_arc_vert.glsl +6 -4
  238. package/lib/line/shaders/line_bezier_vert.glsl +2 -2
  239. package/lib/line/shaders/line_frag.glsl +5 -6
  240. package/lib/line/shaders/line_vert.glsl +1 -1
  241. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
  242. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +11 -12
  243. package/lib/line/shaders/linear/arc_linear_frag.glsl +1 -1
  244. package/lib/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  245. package/lib/line/shaders/tile/line_tile_vert.glsl +19 -177
  246. package/lib/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  247. package/lib/line/shaders/tile/simpleline_vert.glsl +21 -0
  248. package/lib/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +21 -25
  249. package/lib/line/shaders/wall/wall_vert.glsl +77 -0
  250. package/lib/mask/index.js +82 -5
  251. package/lib/mask/models/fill.js +14 -10
  252. package/lib/mask/shaders/mask_vert.glsl +0 -6
  253. package/lib/plugins/DataMappingPlugin.js +127 -57
  254. package/lib/plugins/DataSourcePlugin.js +3 -2
  255. package/lib/plugins/FeatureScalePlugin.js +6 -50
  256. package/lib/plugins/LayerAnimateStylePlugin.js +6 -29
  257. package/lib/plugins/LayerModelPlugin.js +2 -6
  258. package/lib/plugins/LightingPlugin.js +1 -7
  259. package/lib/plugins/MultiPassRendererPlugin.js +3 -19
  260. package/lib/plugins/PixelPickingPlugin.js +8 -28
  261. package/lib/plugins/RegisterStyleAttributePlugin.js +56 -5
  262. package/lib/plugins/UpdateStyleAttributePlugin.js +2 -9
  263. package/lib/point/index.js +9 -6
  264. package/lib/point/models/earthExtrude.js +9 -14
  265. package/lib/point/models/earthFill.js +2 -2
  266. package/lib/point/models/extrude.js +9 -12
  267. package/lib/point/models/fill.js +8 -9
  268. package/lib/point/models/fillmage.js +5 -6
  269. package/lib/point/models/image.js +3 -3
  270. package/lib/point/models/index.js +1 -1
  271. package/lib/point/models/normal.js +8 -61
  272. package/lib/point/models/radar.js +5 -70
  273. package/lib/point/models/simplePoint.js +1 -10
  274. package/lib/point/models/text.js +7 -10
  275. package/lib/point/models/tile.js +23 -159
  276. package/lib/point/models/tileText.js +98 -187
  277. package/lib/point/shaders/animate/wave_frag.glsl +4 -4
  278. package/lib/point/shaders/earth/fill_vert.glsl +0 -1
  279. package/lib/point/shaders/fill_vert.glsl +0 -1
  280. package/lib/point/shaders/normal_frag.glsl +1 -10
  281. package/lib/point/shaders/normal_vert.glsl +5 -60
  282. package/lib/point/shaders/radar/radar_frag.glsl +4 -15
  283. package/lib/point/shaders/radar/radar_vert.glsl +4 -54
  284. package/lib/point/shaders/tile/fill_tile_frag.glsl +10 -17
  285. package/lib/point/shaders/tile/fill_tile_vert.glsl +20 -123
  286. package/lib/point/shaders/tile/text_frag.glsl +33 -0
  287. package/lib/point/shaders/tile/text_map_frag.glsl +31 -0
  288. package/lib/point/shaders/tile/text_map_vert.glsl +38 -0
  289. package/lib/point/shaders/tile/text_vert.glsl +48 -0
  290. package/lib/polygon/index.js +6 -2
  291. package/lib/polygon/models/extrude.js +4 -8
  292. package/lib/polygon/models/fill.js +3 -4
  293. package/lib/polygon/models/ocean.js +14 -47
  294. package/lib/polygon/models/tile.js +24 -57
  295. package/lib/polygon/models/water.js +14 -47
  296. package/lib/polygon/shaders/polygon_frag.glsl +2 -2
  297. package/lib/polygon/shaders/polygon_vert.glsl +2 -2
  298. package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  299. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  300. package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  301. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  302. package/lib/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  303. package/lib/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  304. package/lib/raster/buffers/triangulation.js +1 -4
  305. package/lib/raster/index.js +6 -2
  306. package/lib/raster/models/raster.js +6 -5
  307. package/lib/shader/minify_frag.glsl +7 -0
  308. package/lib/shader/minify_picking_frag.glsl +10 -0
  309. package/lib/tile/manager/baseMapTileLayerManager.js +222 -0
  310. package/lib/tile/manager/tileLayerManager.js +12 -2
  311. package/lib/tile/manager/tilePickerManager.js +1 -2
  312. package/lib/tile/models/tileModel.js +19 -2
  313. package/lib/tile/tileFactory/base.js +60 -33
  314. package/lib/tile/tileFactory/line.js +3 -0
  315. package/lib/tile/tileFactory/point.js +3 -0
  316. package/lib/tile/tileFactory/polygon.js +3 -0
  317. package/lib/tile/tileFactory/raster.js +3 -0
  318. package/lib/tile/tileFactory/rasterData.js +3 -0
  319. package/lib/tile/tileFactory/rasterDataLayer.js +6 -2
  320. package/lib/tile/tileFactory/test.js +26 -5
  321. package/lib/tile/tileFactory/vectorLayer.js +112 -8
  322. package/lib/tile/tileLayer/baseMapTileLayer.js +195 -0
  323. package/lib/tile/tileLayer/baseTileLayer.js +46 -75
  324. package/lib/tile/tileTest.js +3 -2
  325. package/lib/tile/tmsMapTileLayer.js +136 -0
  326. package/lib/tile/tmsTileLayer.js +25 -2
  327. package/lib/tile/utils.js +38 -0
  328. package/lib/utils/dataMappingStyle.js +3 -0
  329. package/lib/utils/layerData.js +2 -2
  330. package/lib/utils/updateShape.js +2 -2
  331. package/lib/wind/index.js +6 -2
  332. package/lib/wind/models/wind.js +7 -7
  333. package/lib/wind/shaders/wind_vert.glsl +1 -1
  334. package/package.json +8 -7
  335. package/es/line/shaders/tile/line_tile_frag.glsl +0 -79
  336. package/es/line/shaders/wall_vert.glsl +0 -111
  337. package/es/mask/shaders/mask_frag.glsl +0 -7
  338. package/es/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
  339. package/lib/line/shaders/tile/line_tile_frag.glsl +0 -79
  340. package/lib/line/shaders/wall_vert.glsl +0 -111
  341. package/lib/mask/shaders/mask_frag.glsl +0 -7
  342. package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
@@ -12,6 +12,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
12
12
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
13
13
 
14
14
  import BaseTileLayer from "./tileLayer/baseTileLayer";
15
+ import { tileAllLoad } from "./utils";
15
16
  export var TMSTileLayer = /*#__PURE__*/function (_BaseTileLayer) {
16
17
  _inherits(TMSTileLayer, _BaseTileLayer);
17
18
 
@@ -83,18 +84,39 @@ export var TMSTileLayer = /*#__PURE__*/function (_BaseTileLayer) {
83
84
 
84
85
  var _layers = _this2.tileLayerManager.getChilds(tile.layerIDList);
85
86
 
86
- _this2.tileLayerManager.updateLayersConfig(_layers, 'visible', tile.isVisible);
87
+ _this2.updateTileVisible(tile, _layers);
87
88
 
88
89
  _this2.setPickState(_layers);
89
90
  }
90
91
  });
91
- this.parent.renderLayers();
92
92
 
93
93
  if (this.tilesetManager.isLoaded) {
94
94
  // 将事件抛出,图层上可以使用瓦片
95
95
  this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
96
96
  }
97
97
  }
98
+ }, {
99
+ key: "emitTileVisibleEvent",
100
+ value: function emitTileVisibleEvent(tile, callback) {
101
+ if (tile.isVisible) {
102
+ callback();
103
+ } else {
104
+ tileAllLoad(tile, function () {
105
+ callback();
106
+ });
107
+ }
108
+ }
109
+ }, {
110
+ key: "updateTileVisible",
111
+ value: function updateTileVisible(tile, layers) {
112
+ var _this3 = this;
113
+
114
+ this.emitTileVisibleEvent(tile, function () {
115
+ _this3.tileLayerManager.updateLayersConfig(layers, 'visible', tile.isVisible);
116
+
117
+ _this3.layerService.reRender();
118
+ });
119
+ }
98
120
  }]);
99
121
 
100
122
  return TMSTileLayer;
@@ -11,3 +11,7 @@ export declare function getContainerSize(container: HTMLCanvasElement | HTMLElem
11
11
  };
12
12
  export declare function readRasterValue(tile: Tile, mapService: IMapService, x: number, y: number): any;
13
13
  export declare function readPixel(x: number, y: number, rendererService: IRendererService): false | Uint8Array;
14
+ export declare function isTileLoaded(tile: Tile): boolean;
15
+ export declare function isTileChildLoaded(tile: Tile): boolean;
16
+ export declare function isTileParentLoaded(tile: Tile): boolean;
17
+ export declare function tileAllLoad(tile: Tile, callback: () => void): void;
package/es/tile/utils.js CHANGED
@@ -128,4 +128,34 @@ export function readPixel(x, y, rendererService) {
128
128
  data: new Uint8Array(1 * 1 * 4)
129
129
  });
130
130
  return pickedColors;
131
+ }
132
+ export function isTileLoaded(tile) {
133
+ return tile.layerIDList.length === tile.loadedLayers;
134
+ }
135
+ export function isTileChildLoaded(tile) {
136
+ var childs = tile.children;
137
+ return childs.filter(function (child) {
138
+ return isTileLoaded(child);
139
+ }).length === childs.length;
140
+ }
141
+ export function isTileParentLoaded(tile) {
142
+ var parent = tile.parent;
143
+
144
+ if (!parent) {
145
+ return true;
146
+ } else {
147
+ return isTileLoaded(parent);
148
+ }
149
+ }
150
+ export function tileAllLoad(tile, callback) {
151
+ var timer = window.setInterval(function () {
152
+ var tileLoaded = isTileLoaded(tile);
153
+ var tileChildLoaded = isTileChildLoaded(tile);
154
+ var tileParentLoaded = isTileParentLoaded(tile);
155
+
156
+ if (tileLoaded && tileChildLoaded && tileParentLoaded) {
157
+ callback();
158
+ window.clearInterval(timer);
159
+ }
160
+ }, 36);
131
161
  }
@@ -23,6 +23,9 @@ function registerStyleAttribute(fieldName, layer, field, values, updateOptions)
23
23
 
24
24
 
25
25
  function handleStyleDataMapping(configToUpdate, layer) {
26
+ // 瓦片图层不需要进行样式数据映射
27
+ if (layer.tileLayer || layer.isTileLayer) return;
28
+
26
29
  if (configToUpdate.opacity) {
27
30
  // 处理 style 中 opacity 属性的数据映射
28
31
  handleStyleFloat('opacity', layer, configToUpdate.opacity);
@@ -17,7 +17,7 @@ function adjustData2Amap2Coordinates(mappedData, mapService) {
17
17
  if (typeof mappedData[0].coordinates[0] === 'number') {
18
18
  // 单个的点数据
19
19
  // @ts-ignore
20
- mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
20
+ mappedData // 避免经纬度被重复计算导致坐标位置偏移
21
21
  .filter(function (d) {
22
22
  return !d.originCoordinates;
23
23
  }).map(function (d) {
@@ -31,7 +31,7 @@ function adjustData2Amap2Coordinates(mappedData, mapService) {
31
31
  } else {
32
32
  // 连续的线、面数据
33
33
  // @ts-ignore
34
- mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
34
+ mappedData // 避免经纬度被重复计算导致坐标位置偏移
35
35
  .filter(function (d) {
36
36
  return !d.originCoordinates;
37
37
  }).map(function (d) {
@@ -1,4 +1,4 @@
1
- // TODO: shapeUpdateList 存储一系列的 shape 类型
1
+ // shapeUpdateList 存储一系列的 shape 类型
2
2
  // 当这一系列的 shape 相互切换的时候需要重构 layer 的 model (顶点数据集)
3
3
  var shapeUpdateList = [// PointLayer
4
4
  ['circle', 'cylinder'], ['square', 'cylinder'], ['triangle', 'cylinder'], ['pentagon', 'cylinder'], ['hexagon', 'cylinder'], ['octogon', 'cylinder'], ['hexagram', 'cylinder'], ['rhombus', 'cylinder'], ['vesica', 'cylinder']];
@@ -11,7 +11,7 @@ export function updateShape(layer, lastShape, currentShape) {
11
11
 
12
12
  shapeUpdateList.map(function (shapes) {
13
13
  if (shapes.includes(lastShape) && shapes.includes(currentShape)) {
14
- // TODO: dataSourceNeedUpdate 借用数据更新时更新 layer model 的工作流
14
+ // dataSourceNeedUpdate 借用数据更新时更新 layer model 的工作流
15
15
  layer.dataState.dataSourceNeedUpdate = true;
16
16
  return;
17
17
  }
package/es/wind/index.js CHANGED
@@ -44,7 +44,9 @@ var WindLayer = /*#__PURE__*/function (_BaseLayer) {
44
44
  this.layerModel.initModels(function (models) {
45
45
  _this2.models = models;
46
46
 
47
- _this2.renderLayers();
47
+ _this2.emit('modelLoaded', null);
48
+
49
+ _this2.layerService.throttleRenderLayers();
48
50
  });
49
51
  }
50
52
  }, {
@@ -53,7 +55,9 @@ var WindLayer = /*#__PURE__*/function (_BaseLayer) {
53
55
  var _this3 = this;
54
56
 
55
57
  this.layerModel.buildModels(function (models) {
56
- return _this3.models = models;
58
+ _this3.models = models;
59
+
60
+ _this3.emit('modelLoaded', null);
57
61
  });
58
62
  }
59
63
  }, {
@@ -11,7 +11,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
11
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
12
 
13
13
  import { AttributeType, gl } from '@antv/l7-core';
14
- import { FrequencyController } from '@antv/l7-utils';
14
+ import { FrequencyController, getMask } from '@antv/l7-utils';
15
15
  import BaseModel from "../../core/BaseModel";
16
16
  import { RasterImageTriangulation } from "../../core/triangulation";
17
17
 
@@ -19,7 +19,7 @@ import { RasterImageTriangulation } from "../../core/triangulation";
19
19
  var WindFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nvarying vec2 v_texCoord;\nvoid main() {\n vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));\n gl_FragColor = color;\n gl_FragColor.a *= u_opacity;\n}\n";
20
20
 
21
21
  /* babel-plugin-inline-import '../shaders/wind_vert.glsl' */
22
- var WindVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
22
+ var WindVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n \n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
23
23
  import { Wind } from "./windRender";
24
24
  var defaultRampColors = {
25
25
  0.0: '#3288bd',
@@ -149,9 +149,7 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
149
149
  height: imageHeight
150
150
  });
151
151
 
152
- _this3.layerService.updateLayerRenderList();
153
-
154
- _this3.layerService.renderLayers();
152
+ _this3.layerService.reRender();
155
153
  });
156
154
  this.layer.buildLayerModel({
157
155
  moduleName: 'wind',
@@ -162,7 +160,9 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
162
160
  depth: {
163
161
  enable: false
164
162
  },
165
- blend: this.getBlend()
163
+ stencil: getMask(mask, maskInside),
164
+ blend: this.getBlend(),
165
+ pick: false
166
166
  }).then(function (model) {
167
167
  _this3.colorModel = model;
168
168
  callbackModel([model]);
@@ -225,7 +225,7 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
225
225
  type: gl.FLOAT
226
226
  },
227
227
  size: 2,
228
- update: function update(feature, featureIdx, vertex, attributeIdx) {
228
+ update: function update(feature, featureIdx, vertex) {
229
229
  return [vertex[3], vertex[4]];
230
230
  }
231
231
  }
@@ -291,7 +291,7 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
291
291
  var _this$wind$draw = this.wind.draw(),
292
292
  d = _this$wind$draw.d,
293
293
  w = _this$wind$draw.w,
294
- h = _this$wind$draw.h; // TODO: 恢复 L7 渲染流程中 gl 状态
294
+ h = _this$wind$draw.h; // 恢复 L7 渲染流程中 gl 状态
295
295
 
296
296
 
297
297
  this.rendererService.setBaseState();
@@ -8,7 +8,7 @@ varying vec2 v_texCoord;
8
8
  void main() {
9
9
  v_texCoord = a_Uv;
10
10
  vec4 project_pos = project_position(vec4(a_Position, 1.0));
11
- // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));
11
+
12
12
  if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
13
13
  gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));
14
14
  } else {
@@ -71,7 +71,9 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
71
71
  this.layerModel.initModels(function (models) {
72
72
  _this2.models = models;
73
73
 
74
- _this2.renderLayers();
74
+ _this2.emit('modelLoaded', null);
75
+
76
+ _this2.layerService.throttleRenderLayers();
75
77
  });
76
78
  }
77
79
  }, {
@@ -80,7 +82,9 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
80
82
  var _this3 = this;
81
83
 
82
84
  this.layerModel.buildModels(function (models) {
83
- return _this3.models = models;
85
+ _this3.models = models;
86
+
87
+ _this3.emit('modelLoaded', null);
84
88
  });
85
89
  }
86
90
  }, {
@@ -181,8 +181,7 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
181
181
  wrapS: _l7Core.gl.CLAMP_TO_EDGE,
182
182
  wrapT: _l7Core.gl.CLAMP_TO_EDGE
183
183
  });
184
- this.layerService.updateLayerRenderList();
185
- this.layerService.renderLayers();
184
+ this.layerService.reRender();
186
185
  }
187
186
  }
188
187
  }, {
@@ -207,7 +206,6 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
207
206
  descriptor: {
208
207
  name: 'a_Extrude',
209
208
  buffer: {
210
- // give the WebGL driver a hint that this buffer may change
211
209
  usage: _l7Core.gl.DYNAMIC_DRAW,
212
210
  data: [],
213
211
  type: _l7Core.gl.FLOAT
@@ -219,21 +217,19 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
219
217
  return [extrude[extrudeIndex], extrude[extrudeIndex + 1], extrude[extrudeIndex + 2]];
220
218
  }
221
219
  }
222
- }); // point layer size;
223
-
220
+ });
224
221
  this.styleAttributeService.registerStyleAttribute({
225
222
  name: 'uv',
226
223
  type: _l7Core.AttributeType.Attribute,
227
224
  descriptor: {
228
225
  name: 'a_Uv',
229
226
  buffer: {
230
- // give the WebGL driver a hint that this buffer may change
231
227
  usage: _l7Core.gl.DYNAMIC_DRAW,
232
228
  data: [],
233
229
  type: _l7Core.gl.FLOAT
234
230
  },
235
231
  size: 2,
236
- update: function update(feature, featureIdx, vertex, attributeIdx) {
232
+ update: function update(feature, featureIdx, vertex) {
237
233
  return [vertex[2], vertex[3]];
238
234
  }
239
235
  }
@@ -281,9 +281,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
281
281
  wrapT: _l7Core.gl.CLAMP_TO_EDGE
282
282
  });
283
283
 
284
- _this3.layerService.updateLayerRenderList();
285
-
286
- _this3.layerService.renderLayers();
284
+ _this3.layerService.reRender();
287
285
  };
288
286
 
289
287
  img.src = mapTexture;
@@ -318,10 +316,10 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
318
316
  var gridX1 = gridX + 1;
319
317
  var gridY1 = gridY + 1;
320
318
  var widthStep = imgWidth / gridX;
321
- var heihgtStep = imgHeight / gridY;
319
+ var heightStep = imgHeight / gridY;
322
320
 
323
321
  for (var iy = 0; iy < gridY1; iy++) {
324
- var imgIndexY = Math.floor(iy * heihgtStep);
322
+ var imgIndexY = Math.floor(iy * heightStep);
325
323
  var imgLen = imgIndexY * imgWidth;
326
324
 
327
325
  for (var ix = 0; ix < gridX1; ix++) {
@@ -344,7 +342,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
344
342
  };
345
343
  });
346
344
  this.layer.updateModelData(modelData);
347
- this.layerService.renderLayers();
345
+ this.layerService.throttleRenderLayers();
348
346
  }
349
347
  /**
350
348
  * load terrain texture & offset attribute z
@@ -423,7 +421,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
423
421
  type: _l7Core.gl.FLOAT
424
422
  },
425
423
  size: 2,
426
- update: function update(feature, featureIdx, vertex, attributeIdx) {
424
+ update: function update(feature, featureIdx, vertex) {
427
425
  return [vertex[3], vertex[4]];
428
426
  }
429
427
  }
@@ -67,8 +67,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
67
67
  _ref$spriteBottom = _ref.spriteBottom,
68
68
  spriteBottom = _ref$spriteBottom === void 0 ? -100000 : _ref$spriteBottom;
69
69
 
70
- var updateZ = _this.spriteUpdate; // const bottomZ = -100000;
71
-
70
+ var updateZ = _this.spriteUpdate;
72
71
  var bottomZ = spriteBottom;
73
72
  var topZ = _this.spriteTop;
74
73
 
@@ -96,7 +95,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
96
95
  });
97
96
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateModel", function () {
98
97
  // @ts-ignore
99
- var attributes = _this.layer.createAttrubutes({
98
+ var attributes = _this.layer.createAttributes({
100
99
  triangulation: _this.planeGeometryUpdateTriangulation
101
100
  });
102
101
 
@@ -104,7 +103,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
104
103
  m.updateAttributes(attributes);
105
104
  });
106
105
 
107
- _this.layer.renderLayers();
106
+ _this.layerService.throttleRenderLayers();
108
107
 
109
108
  _this.timer = requestAnimationFrame(_this.updateModel);
110
109
  });
@@ -280,9 +279,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
280
279
  wrapT: _l7Core.gl.CLAMP_TO_EDGE
281
280
  });
282
281
 
283
- _this4.layerService.updateLayerRenderList();
284
-
285
- _this4.layerService.renderLayers();
282
+ _this4.layerService.reRender();
286
283
  };
287
284
 
288
285
  img.src = mapTexture;
@@ -45,6 +45,7 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
45
45
 
46
46
  _this = _super.call.apply(_super, [this].concat(args));
47
47
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'CanvasLayer');
48
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "forceRender", true);
48
49
  return _this;
49
50
  }
50
51
 
@@ -58,7 +59,9 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
58
59
  this.layerModel.initModels(function (models) {
59
60
  _this2.models = models;
60
61
 
61
- _this2.renderLayers();
62
+ _this2.emit('modelLoaded', null);
63
+
64
+ _this2.layerService.throttleRenderLayers();
62
65
  });
63
66
  }
64
67
  }, {
@@ -67,8 +70,40 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
67
70
  var _this3 = this;
68
71
 
69
72
  this.layerModel.buildModels(function (models) {
70
- return _this3.models = models;
73
+ _this3.models = models;
74
+
75
+ _this3.emit('modelLoaded', null);
76
+ });
77
+ }
78
+ }, {
79
+ key: "hide",
80
+ value: function hide() {
81
+ var _this$layerModel;
82
+
83
+ // 清除画布
84
+ this.layerModel.clearCanvas && ((_this$layerModel = this.layerModel) === null || _this$layerModel === void 0 ? void 0 : _this$layerModel.clearCanvas());
85
+ this.updateLayerConfig({
86
+ visible: false
87
+ });
88
+ this.reRender();
89
+ return this;
90
+ }
91
+ }, {
92
+ key: "renderModels",
93
+ value: function renderModels() {
94
+ var _this$layerModel2,
95
+ _this4 = this;
96
+
97
+ if (this !== null && this !== void 0 && (_this$layerModel2 = this.layerModel) !== null && _this$layerModel2 !== void 0 && _this$layerModel2.renderUpdate) {
98
+ this.layerModel.renderUpdate();
99
+ }
100
+
101
+ this.models.forEach(function (model) {
102
+ model.draw({
103
+ uniforms: _this4.layerModel.getUninforms()
104
+ }, false);
71
105
  });
106
+ return this;
72
107
  }
73
108
  }, {
74
109
  key: "getConfigSchema",
@@ -57,7 +57,9 @@ var CityBuildingLayer = /*#__PURE__*/function (_BaseLayer) {
57
57
  this.layerModel.initModels(function (models) {
58
58
  _this2.models = models;
59
59
 
60
- _this2.renderLayers();
60
+ _this2.emit('modelLoaded', null);
61
+
62
+ _this2.layerService.throttleRenderLayers();
61
63
  });
62
64
  }
63
65
  }, {
@@ -66,7 +68,9 @@ var CityBuildingLayer = /*#__PURE__*/function (_BaseLayer) {
66
68
  var _this3 = this;
67
69
 
68
70
  this.layerModel.buildModels(function (models) {
69
- return _this3.models = models;
71
+ _this3.models = models;
72
+
73
+ _this3.emit('modelLoaded', null);
70
74
  });
71
75
  }
72
76
  }, {
@@ -170,7 +170,7 @@ var CityBuildModel = /*#__PURE__*/function (_BaseModel) {
170
170
  type: _l7Core.gl.FLOAT
171
171
  },
172
172
  size: 1,
173
- update: function update(feature, featureIdx, vertex, attributeIdx) {
173
+ update: function update(feature) {
174
174
  var _feature$size = feature.size,
175
175
  size = _feature$size === void 0 ? 10 : _feature$size;
176
176
  return Array.isArray(size) ? [size[0]] : [size];
@@ -189,8 +189,7 @@ var CityBuildModel = /*#__PURE__*/function (_BaseModel) {
189
189
  type: _l7Core.gl.FLOAT
190
190
  },
191
191
  size: 2,
192
- update: function update(feature, featureIdx, vertex, attributeIdx) {
193
- var size = feature.size;
192
+ update: function update(feature, featureIdx, vertex) {
194
193
  return [vertex[3], vertex[4]];
195
194
  }
196
195
  }