@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
@@ -58,7 +58,9 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
58
58
  this.layerModel.initModels(function (models) {
59
59
  _this2.models = models;
60
60
 
61
- _this2.renderLayers();
61
+ _this2.emit('modelLoaded', null);
62
+
63
+ _this2.layerService.throttleRenderLayers();
62
64
  });
63
65
  }
64
66
  }, {
@@ -67,7 +69,9 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
67
69
  var _this3 = this;
68
70
 
69
71
  this.layerModel.buildModels(function (models) {
70
- return _this3.models = models;
72
+ _this3.models = models;
73
+
74
+ _this3.emit('modelLoaded', null);
71
75
  });
72
76
  }
73
77
  }, {
@@ -166,8 +166,7 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
166
166
  wrapS: gl.CLAMP_TO_EDGE,
167
167
  wrapT: gl.CLAMP_TO_EDGE
168
168
  });
169
- this.layerService.updateLayerRenderList();
170
- this.layerService.renderLayers();
169
+ this.layerService.reRender();
171
170
  }
172
171
  }
173
172
  }, {
@@ -192,7 +191,6 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
192
191
  descriptor: {
193
192
  name: 'a_Extrude',
194
193
  buffer: {
195
- // give the WebGL driver a hint that this buffer may change
196
194
  usage: gl.DYNAMIC_DRAW,
197
195
  data: [],
198
196
  type: gl.FLOAT
@@ -204,21 +202,19 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
204
202
  return [extrude[extrudeIndex], extrude[extrudeIndex + 1], extrude[extrudeIndex + 2]];
205
203
  }
206
204
  }
207
- }); // point layer size;
208
-
205
+ });
209
206
  this.styleAttributeService.registerStyleAttribute({
210
207
  name: 'uv',
211
208
  type: AttributeType.Attribute,
212
209
  descriptor: {
213
210
  name: 'a_Uv',
214
211
  buffer: {
215
- // give the WebGL driver a hint that this buffer may change
216
212
  usage: gl.DYNAMIC_DRAW,
217
213
  data: [],
218
214
  type: gl.FLOAT
219
215
  },
220
216
  size: 2,
221
- update: function update(feature, featureIdx, vertex, attributeIdx) {
217
+ update: function update(feature, featureIdx, vertex) {
222
218
  return [vertex[2], vertex[3]];
223
219
  }
224
220
  }
@@ -265,9 +265,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
265
265
  wrapT: gl.CLAMP_TO_EDGE
266
266
  });
267
267
 
268
- _this3.layerService.updateLayerRenderList();
269
-
270
- _this3.layerService.renderLayers();
268
+ _this3.layerService.reRender();
271
269
  };
272
270
 
273
271
  img.src = mapTexture;
@@ -302,10 +300,10 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
302
300
  var gridX1 = gridX + 1;
303
301
  var gridY1 = gridY + 1;
304
302
  var widthStep = imgWidth / gridX;
305
- var heihgtStep = imgHeight / gridY;
303
+ var heightStep = imgHeight / gridY;
306
304
 
307
305
  for (var iy = 0; iy < gridY1; iy++) {
308
- var imgIndexY = Math.floor(iy * heihgtStep);
306
+ var imgIndexY = Math.floor(iy * heightStep);
309
307
  var imgLen = imgIndexY * imgWidth;
310
308
 
311
309
  for (var ix = 0; ix < gridX1; ix++) {
@@ -328,7 +326,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
328
326
  };
329
327
  });
330
328
  this.layer.updateModelData(modelData);
331
- this.layerService.renderLayers();
329
+ this.layerService.throttleRenderLayers();
332
330
  }
333
331
  /**
334
332
  * load terrain texture & offset attribute z
@@ -407,7 +405,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
407
405
  type: gl.FLOAT
408
406
  },
409
407
  size: 2,
410
- update: function update(feature, featureIdx, vertex, attributeIdx) {
408
+ update: function update(feature, featureIdx, vertex) {
411
409
  return [vertex[3], vertex[4]];
412
410
  }
413
411
  }
@@ -49,8 +49,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
49
49
  _ref$spriteBottom = _ref.spriteBottom,
50
50
  spriteBottom = _ref$spriteBottom === void 0 ? -100000 : _ref$spriteBottom;
51
51
 
52
- var updateZ = _this.spriteUpdate; // const bottomZ = -100000;
53
-
52
+ var updateZ = _this.spriteUpdate;
54
53
  var bottomZ = spriteBottom;
55
54
  var topZ = _this.spriteTop;
56
55
 
@@ -79,7 +78,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
79
78
 
80
79
  _defineProperty(_assertThisInitialized(_this), "updateModel", function () {
81
80
  // @ts-ignore
82
- var attributes = _this.layer.createAttrubutes({
81
+ var attributes = _this.layer.createAttributes({
83
82
  triangulation: _this.planeGeometryUpdateTriangulation
84
83
  });
85
84
 
@@ -87,7 +86,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
87
86
  m.updateAttributes(attributes);
88
87
  });
89
88
 
90
- _this.layer.renderLayers();
89
+ _this.layerService.throttleRenderLayers();
91
90
 
92
91
  _this.timer = requestAnimationFrame(_this.updateModel);
93
92
  });
@@ -265,9 +264,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
265
264
  wrapT: gl.CLAMP_TO_EDGE
266
265
  });
267
266
 
268
- _this4.layerService.updateLayerRenderList();
269
-
270
- _this4.layerService.renderLayers();
267
+ _this4.layerService.reRender();
271
268
  };
272
269
 
273
270
  img.src = mapTexture;
@@ -1,10 +1,14 @@
1
1
  import BaseLayer from '../core/BaseLayer';
2
+ import { ILayer } from '@antv/l7-core';
2
3
  import { ICanvasLayerStyleOptions } from '../core/interface';
3
4
  import { CanvasModelType } from './models/index';
4
5
  export default class CanvasLayer extends BaseLayer<ICanvasLayerStyleOptions> {
5
6
  type: string;
7
+ forceRender: boolean;
6
8
  buildModels(): void;
7
9
  rebuildModels(): void;
10
+ hide(): ILayer;
11
+ renderModels(): this;
8
12
  protected getConfigSchema(): {
9
13
  properties: {
10
14
  opacity: {
@@ -31,6 +31,8 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
31
31
 
32
32
  _defineProperty(_assertThisInitialized(_this), "type", 'CanvasLayer');
33
33
 
34
+ _defineProperty(_assertThisInitialized(_this), "forceRender", true);
35
+
34
36
  return _this;
35
37
  }
36
38
 
@@ -44,7 +46,9 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
44
46
  this.layerModel.initModels(function (models) {
45
47
  _this2.models = models;
46
48
 
47
- _this2.renderLayers();
49
+ _this2.emit('modelLoaded', null);
50
+
51
+ _this2.layerService.throttleRenderLayers();
48
52
  });
49
53
  }
50
54
  }, {
@@ -53,8 +57,40 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
53
57
  var _this3 = this;
54
58
 
55
59
  this.layerModel.buildModels(function (models) {
56
- return _this3.models = models;
60
+ _this3.models = models;
61
+
62
+ _this3.emit('modelLoaded', null);
63
+ });
64
+ }
65
+ }, {
66
+ key: "hide",
67
+ value: function hide() {
68
+ var _this$layerModel;
69
+
70
+ // 清除画布
71
+ this.layerModel.clearCanvas && ((_this$layerModel = this.layerModel) === null || _this$layerModel === void 0 ? void 0 : _this$layerModel.clearCanvas());
72
+ this.updateLayerConfig({
73
+ visible: false
74
+ });
75
+ this.reRender();
76
+ return this;
77
+ }
78
+ }, {
79
+ key: "renderModels",
80
+ value: function renderModels() {
81
+ var _this$layerModel2,
82
+ _this4 = this;
83
+
84
+ if (this !== null && this !== void 0 && (_this$layerModel2 = this.layerModel) !== null && _this$layerModel2 !== void 0 && _this$layerModel2.renderUpdate) {
85
+ this.layerModel.renderUpdate();
86
+ }
87
+
88
+ this.models.forEach(function (model) {
89
+ model.draw({
90
+ uniforms: _this4.layerModel.getUninforms()
91
+ }, false);
57
92
  });
93
+ return this;
58
94
  }
59
95
  }, {
60
96
  key: "getConfigSchema",
@@ -43,7 +43,9 @@ var CityBuildingLayer = /*#__PURE__*/function (_BaseLayer) {
43
43
  this.layerModel.initModels(function (models) {
44
44
  _this2.models = models;
45
45
 
46
- _this2.renderLayers();
46
+ _this2.emit('modelLoaded', null);
47
+
48
+ _this2.layerService.throttleRenderLayers();
47
49
  });
48
50
  }
49
51
  }, {
@@ -52,7 +54,9 @@ var CityBuildingLayer = /*#__PURE__*/function (_BaseLayer) {
52
54
  var _this3 = this;
53
55
 
54
56
  this.layerModel.buildModels(function (models) {
55
- return _this3.models = models;
57
+ _this3.models = models;
58
+
59
+ _this3.emit('modelLoaded', null);
56
60
  });
57
61
  }
58
62
  }, {
@@ -154,7 +154,7 @@ var CityBuildModel = /*#__PURE__*/function (_BaseModel) {
154
154
  type: gl.FLOAT
155
155
  },
156
156
  size: 1,
157
- update: function update(feature, featureIdx, vertex, attributeIdx) {
157
+ update: function update(feature) {
158
158
  var _feature$size = feature.size,
159
159
  size = _feature$size === void 0 ? 10 : _feature$size;
160
160
  return Array.isArray(size) ? [size[0]] : [size];
@@ -173,8 +173,7 @@ var CityBuildModel = /*#__PURE__*/function (_BaseModel) {
173
173
  type: gl.FLOAT
174
174
  },
175
175
  size: 2,
176
- update: function update(feature, featureIdx, vertex, attributeIdx) {
177
- var size = feature.size;
176
+ update: function update(feature, featureIdx, vertex) {
178
177
  return [vertex[3], vertex[4]];
179
178
  }
180
179
  }
@@ -1,5 +1,5 @@
1
1
  import { SyncBailHook, SyncHook, SyncWaterfallHook } from '@antv/async-hook';
2
- import { BlendType, IActiveOption, IAnimateOption, IAttrubuteAndElements, ICameraService, ICoordinateSystemService, IDataState, IEncodeFeature, IFontService, IGlobalConfigService, IIconService, IInteractionService, ILayer, ILayerConfig, ILayerModel, ILayerModelInitializationOptions, ILayerPlugin, ILayerService, IMapService, IModel, IModelInitializationOptions, IMultiPassRenderer, IPass, IPickingService, IPostProcessingPass, IRendererService, IScale, IScaleOptions, IShaderModuleService, ISourceCFG, IStyleAttributeService, IStyleAttributeUpdateOptions, LayerEventType, LegendItems, StyleAttributeField, StyleAttributeOption, Triangulation } from '@antv/l7-core';
2
+ import { BlendType, IActiveOption, IAnimateOption, IAttributeAndElements, ICameraService, ICoordinateSystemService, IDataState, IEncodeFeature, IFontService, IGlobalConfigService, IIconService, IInteractionService, ILayer, ILayerConfig, ILayerModel, ILayerModelInitializationOptions, ILayerPlugin, ILayerService, IMapService, IModel, IModelInitializationOptions, IMultiPassRenderer, IPass, IPickingService, IPostProcessingPass, IRendererService, IScale, IScaleOptions, IShaderModuleService, ISourceCFG, IStyleAttributeService, IStyleAttributeUpdateOptions, LayerEventType, LegendItems, StyleAttributeField, StyleAttributeOption, Triangulation } from '@antv/l7-core';
3
3
  import Source from '@antv/l7-source';
4
4
  import { EventEmitter } from 'eventemitter3';
5
5
  import { Container } from 'inversify';
@@ -77,21 +77,26 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
77
77
  /**
78
78
  * 图层容器
79
79
  */
80
- private container;
80
+ protected container: Container;
81
81
  private encodedData;
82
- private configSchema;
83
82
  private currentPickId;
84
- private rawConfig;
83
+ protected rawConfig: Partial<ILayerConfig & ChildLayerStyleOptions>;
85
84
  private needUpdateConfig;
86
85
  /**
87
86
  * 待更新样式属性,在初始化阶段完成注册
88
87
  */
89
- private pendingStyleAttributes;
88
+ protected pendingStyleAttributes: Array<{
89
+ attributeName: string;
90
+ attributeField: StyleAttributeField;
91
+ attributeValues?: StyleAttributeOption;
92
+ defaultName?: string;
93
+ updateOptions?: Partial<IStyleAttributeUpdateOptions>;
94
+ }>;
90
95
  private scaleOptions;
91
96
  private animateStartTime;
92
- private aniamateStatus;
97
+ private animateStatus;
93
98
  private bottomColor;
94
- private isDestroied;
99
+ private isDestroyed;
95
100
  constructor(config?: Partial<ILayerConfig & ChildLayerStyleOptions>);
96
101
  addMaskLayer(maskLayer: ILayer): void;
97
102
  removeMaskLayer(maskLayer: ILayer): void;
@@ -110,7 +115,7 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
110
115
  getBottomColor(): string;
111
116
  addPlugin(plugin: ILayerPlugin): ILayer;
112
117
  init(): this;
113
- updateModelData(data: IAttrubuteAndElements): void;
118
+ updateModelData(data: IAttributeAndElements): void;
114
119
  createModelData(data: any, option?: ISourceCFG): any;
115
120
  calculateEncodeData(data: any, option?: ISourceCFG): IEncodeFeature[] | null;
116
121
  /**
@@ -188,7 +193,7 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
188
193
  }): void;
189
194
  boxSelect(box: [number, number, number, number], cb: (...args: any[]) => void): void;
190
195
  buildLayerModel(options: ILayerModelInitializationOptions & Partial<IModelInitializationOptions>): Promise<IModel>;
191
- createAttrubutes(options: ILayerModelInitializationOptions & Partial<IModelInitializationOptions>): any;
196
+ createAttributes(options: ILayerModelInitializationOptions & Partial<IModelInitializationOptions>): any;
192
197
  getTime(): number;
193
198
  setAnimateStartTime(): void;
194
199
  stopAnimate(): void;
@@ -208,7 +213,10 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
208
213
  protected getConfigSchema(): void;
209
214
  protected getModelType(): unknown;
210
215
  protected getDefaultConfig(): {};
211
- private sourceEvent;
212
- private reRender;
213
- private splitValuesAndCallbackInAttribute;
216
+ protected sourceEvent: () => void;
217
+ protected reRender(): void;
218
+ protected splitValuesAndCallbackInAttribute(valuesOrCallback?: unknown[], defaultValues?: unknown[]): {
219
+ values: unknown[] | undefined;
220
+ callback: (unknown[] & ((...args: any[]) => any)) | undefined;
221
+ };
214
222
  }
@@ -52,13 +52,13 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
52
52
 
53
53
  // 生命周期钩子
54
54
  // 待渲染 model 列表
55
- // TODO: 用于保存子图层对象
55
+ // 用于保存子图层对象
56
56
  // Tip: 用于标识矢量图层
57
57
 
58
58
  /**
59
59
  * 待更新样式属性,在初始化阶段完成注册
60
60
  */
61
- // TODO: layer 保底颜色
61
+ // Tip: layer 保底颜色
62
62
  // private pickingPassRender: IPass<'pixelPicking'>;
63
63
  function BaseLayer() {
64
64
  var _this;
@@ -144,11 +144,11 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
144
144
 
145
145
  _defineProperty(_assertThisInitialized(_this), "scaleOptions", {});
146
146
 
147
- _defineProperty(_assertThisInitialized(_this), "aniamateStatus", false);
147
+ _defineProperty(_assertThisInitialized(_this), "animateStatus", false);
148
148
 
149
149
  _defineProperty(_assertThisInitialized(_this), "bottomColor", 'rgba(0, 0, 0, 0)');
150
150
 
151
- _defineProperty(_assertThisInitialized(_this), "isDestroied", false);
151
+ _defineProperty(_assertThisInitialized(_this), "isDestroyed", false);
152
152
 
153
153
  _defineProperty(_assertThisInitialized(_this), "encodeDataLength", 0);
154
154
 
@@ -159,9 +159,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
159
159
 
160
160
  if (layerConfig && layerConfig.autoFit) {
161
161
  _this.fitBounds(layerConfig.fitBoundsOptions);
162
- } // 对外暴露事件 迁移到 DataMappingPlugin generateMapping,保证在重新重新映射后触发
163
- // this.emit('dataUpdate');
164
-
162
+ }
165
163
 
166
164
  _this.reRender();
167
165
  });
@@ -253,11 +251,6 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
253
251
  }, {
254
252
  key: "addPlugin",
255
253
  value: function addPlugin(plugin) {
256
- // TODO: 控制插件注册顺序
257
- // @example:
258
- // pointLayer.addPlugin(new MyCustomPlugin(), {
259
- // before: 'L7BuiltinPlugin'
260
- // });
261
254
  this.plugins.push(plugin);
262
255
  return this;
263
256
  }
@@ -420,21 +413,13 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
420
413
 
421
414
  if (animateOption !== null && animateOption !== void 0 && animateOption.enable) {
422
415
  this.layerService.startAnimate();
423
- this.aniamateStatus = true;
416
+ this.animateStatus = true;
424
417
  }
425
418
  }
426
419
  }, {
427
420
  key: "color",
428
421
  value: function color(field, values, updateOptions) {
429
- // 设置 color、size、shape、style 时由于场景服务尚未完成(并没有调用 scene.addLayer),因此暂时加入待更新属性列表
430
- this.updateStyleAttribute('color', field, values, updateOptions); // this.pendingStyleAttributes.push({
431
- // attributeName: 'color',
432
- // attributeField: field,
433
- // attributeValues: values,
434
- // defaultName: 'colors',
435
- // updateOptions,
436
- // });
437
-
422
+ this.updateStyleAttribute('color', field, values, updateOptions);
438
423
  return this;
439
424
  } // 为对应的图层传入纹理的编号名称(point/image 在 shape 方法中传入纹理名称的方法并不通用)
440
425
 
@@ -474,7 +459,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
474
459
  field: field,
475
460
  values: values
476
461
  };
477
- this.updateStyleAttribute('shape', field, values, updateOptions); // TODO: 根据 shape 判断是否需要更新 model
462
+ this.updateStyleAttribute('shape', field, values, updateOptions); // Tip: 根据 shape 判断是否需要更新 model
478
463
 
479
464
  if (!this.tileLayer) {
480
465
  updateShape(this, lastShape, currentShape);
@@ -507,8 +492,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
507
492
 
508
493
  this.updateLayerConfig({
509
494
  animateOption: rawAnimate
510
- }); // this.animateOptions = options;
511
-
495
+ });
512
496
  return this;
513
497
  }
514
498
  }, {
@@ -615,7 +599,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
615
599
  }, {
616
600
  key: "render",
617
601
  value: function render() {
618
- if (this.tileLayer !== undefined) {
602
+ if (this.tileLayer) {
619
603
  // 瓦片图层执行单独的 render 渲染队列
620
604
  this.tileLayer.render();
621
605
  return this;
@@ -812,11 +796,6 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
812
796
  }, {
813
797
  key: "hide",
814
798
  value: function hide() {
815
- if (this.type === 'CanvasLayer' && this.layerModel.clearCanvas) {
816
- // 对 canvasLayer 的 hide 操作做特殊处理
817
- this.layerModel.clearCanvas();
818
- }
819
-
820
799
  this.updateLayerConfig({
821
800
  visible: false
822
801
  });
@@ -972,35 +951,34 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
972
951
  }, {
973
952
  key: "destroy",
974
953
  value: function destroy() {
975
- var _this$layerModel2;
954
+ var _this$multiPassRender, _this$layerModel2;
976
955
 
977
956
  var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
978
957
 
979
- if (this.isDestroied) {
958
+ if (this.isDestroyed) {
980
959
  return;
981
960
  } // remove child layer
982
961
 
983
962
 
984
963
  this.layerChildren.map(function (child) {
985
- return child.destroy();
964
+ return child.destroy(false);
986
965
  });
987
966
  this.layerChildren = []; // remove mask list
988
967
 
989
968
  this.masks.map(function (mask) {
990
- return mask.destroy();
969
+ return mask.destroy(false);
991
970
  });
992
971
  this.masks = [];
993
972
  this.hooks.beforeDestroy.call(); // 清除sources事件
994
973
 
995
974
  this.layerSource.off('sourceUpdate', this.sourceEvent);
996
- this.multiPassRenderer.destroy(); // console.log(this.styleAttributeService.getAttributes())
997
- // 清除所有属性以及关联的 vao == 销毁所有 => model this.models.forEach((model) => model.destroy());
975
+ (_this$multiPassRender = this.multiPassRenderer) === null || _this$multiPassRender === void 0 ? void 0 : _this$multiPassRender.destroy(); // 清除所有属性以及关联的 vao == 销毁所有 => model this.models.forEach((model) => model.destroy());
998
976
 
999
977
  this.styleAttributeService.clearAllAttributes(); // 执行每个图层单独的 clearModels 方法 (清除一些额外的 texture、program、buffer 等)
1000
978
 
1001
- this.hooks.afterDestroy.call(); // TODO: 清除各个图层自定义的 models 资源
979
+ this.hooks.afterDestroy.call(); // Tip: 清除各个图层自定义的 models 资源
1002
980
 
1003
- (_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels();
981
+ (_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels(refresh);
1004
982
  this.models = [];
1005
983
  this.layerService.cleanRemove(this, refresh);
1006
984
  this.emit('remove', {
@@ -1014,7 +992,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1014
992
  this.removeAllListeners(); // 解绑图层容器中的服务
1015
993
  // this.container.unbind(TYPES.IStyleAttributeService);
1016
994
 
1017
- this.isDestroied = true;
995
+ this.isDestroyed = true;
1018
996
  }
1019
997
  }, {
1020
998
  key: "clear",
@@ -1176,50 +1154,52 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1176
1154
 
1177
1155
  var createModel = this.rendererService.createModel;
1178
1156
  return new Promise(function (resolve, reject) {
1179
- // filter supported worker & worker enabled layer
1180
- if (workerOptions && workerOptions.modelType in WorkerSourceMap && workerEnabled) {
1181
- _this9.styleAttributeService.createAttributesAndIndicesAscy(_this9.encodedData, segmentNumber, workerOptions).then(function (_ref7) {
1182
- var attributes = _ref7.attributes,
1183
- elements = _ref7.elements;
1184
- var m = createModel(_objectSpread({
1157
+ setTimeout(function () {
1158
+ // filter supported worker & worker enabled layer
1159
+ if (workerOptions && workerOptions.modelType in WorkerSourceMap && workerEnabled) {
1160
+ _this9.styleAttributeService.createAttributesAndIndicesAscy(_this9.encodedData, segmentNumber, workerOptions).then(function (_ref7) {
1161
+ var attributes = _ref7.attributes,
1162
+ elements = _ref7.elements;
1163
+ var m = createModel(_objectSpread({
1164
+ attributes: attributes,
1165
+ uniforms: uniforms,
1166
+ fs: fs,
1167
+ vs: vs,
1168
+ elements: elements,
1169
+ blend: BlendTypes[BlendType.normal]
1170
+ }, rest));
1171
+ resolve(m);
1172
+ }).catch(function (err) {
1173
+ return reject(err);
1174
+ });
1175
+ } else {
1176
+ var _this9$styleAttribute = _this9.styleAttributeService.createAttributesAndIndices(_this9.encodedData, triangulation, segmentNumber),
1177
+ attributes = _this9$styleAttribute.attributes,
1178
+ elements = _this9$styleAttribute.elements,
1179
+ count = _this9$styleAttribute.count;
1180
+
1181
+ var modelOptions = _objectSpread({
1185
1182
  attributes: attributes,
1186
1183
  uniforms: uniforms,
1187
1184
  fs: fs,
1188
1185
  vs: vs,
1189
1186
  elements: elements,
1190
1187
  blend: BlendTypes[BlendType.normal]
1191
- }, rest));
1188
+ }, rest);
1189
+
1190
+ if (count) {
1191
+ modelOptions.count = count;
1192
+ }
1193
+
1194
+ var m = createModel(modelOptions);
1192
1195
  resolve(m);
1193
- }).catch(function (err) {
1194
- return reject(err);
1195
- });
1196
- } else {
1197
- var _this9$styleAttribute = _this9.styleAttributeService.createAttributesAndIndices(_this9.encodedData, triangulation, segmentNumber),
1198
- attributes = _this9$styleAttribute.attributes,
1199
- elements = _this9$styleAttribute.elements,
1200
- count = _this9$styleAttribute.count;
1201
-
1202
- var modeloptions = _objectSpread({
1203
- attributes: attributes,
1204
- uniforms: uniforms,
1205
- fs: fs,
1206
- vs: vs,
1207
- elements: elements,
1208
- blend: BlendTypes[BlendType.normal]
1209
- }, rest);
1210
-
1211
- if (count) {
1212
- modeloptions.count = count;
1213
1196
  }
1214
-
1215
- var m = createModel(modeloptions);
1216
- resolve(m);
1217
- }
1197
+ });
1218
1198
  });
1219
1199
  }
1220
1200
  }, {
1221
- key: "createAttrubutes",
1222
- value: function createAttrubutes(options) {
1201
+ key: "createAttributes",
1202
+ value: function createAttributes(options) {
1223
1203
  var triangulation = options.triangulation; // @ts-ignore
1224
1204
 
1225
1205
  var _this$styleAttributeS4 = this.styleAttributeService.createAttributes(this.encodedData, triangulation),
@@ -1240,9 +1220,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1240
1220
  }, {
1241
1221
  key: "stopAnimate",
1242
1222
  value: function stopAnimate() {
1243
- if (this.aniamateStatus) {
1223
+ if (this.animateStatus) {
1244
1224
  this.layerService.stopAnimate();
1245
- this.aniamateStatus = false;
1225
+ this.animateStatus = false;
1246
1226
  this.updateLayerConfig({
1247
1227
  animateOption: {
1248
1228
  enable: false
@@ -1258,6 +1238,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1258
1238
  }, {
1259
1239
  key: "needPick",
1260
1240
  value: function needPick(type) {
1241
+ // 地图图层的判断
1242
+ if (this.rawConfig.usage === 'basemap') return false;
1243
+
1261
1244
  var _this$getLayerConfig10 = this.getLayerConfig(),
1262
1245
  _this$getLayerConfig11 = _this$getLayerConfig10.enableHighlight,
1263
1246
  enableHighlight = _this$getLayerConfig11 === void 0 ? true : _this$getLayerConfig11,
@@ -1315,8 +1298,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1315
1298
  }, {
1316
1299
  key: "renderModels",
1317
1300
  value: function renderModels(isPicking) {
1318
- var _this10 = this,
1319
- _this$layerModel4;
1301
+ var _this10 = this;
1320
1302
 
1321
1303
  // TODO: this.getEncodedData().length > 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
1322
1304
  if (this.encodeDataLength <= 0 && !this.forceRender) return this;
@@ -1331,10 +1313,6 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1331
1313
  });
1332
1314
  }
1333
1315
 
1334
- if (this !== null && this !== void 0 && (_this$layerModel4 = this.layerModel) !== null && _this$layerModel4 !== void 0 && _this$layerModel4.renderUpdate) {
1335
- this.layerModel.renderUpdate();
1336
- }
1337
-
1338
1316
  this.models.forEach(function (model) {
1339
1317
  model.draw({
1340
1318
  uniforms: _this10.layerModel.getUninforms()
@@ -1373,6 +1351,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1373
1351
  * 继承空方法
1374
1352
  * @param time
1375
1353
  */
1354
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1376
1355
 
1377
1356
  }, {
1378
1357
  key: "setEarthTime",
@@ -1397,10 +1376,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1397
1376
  }, {
1398
1377
  key: "reRender",
1399
1378
  value: function reRender() {
1400
- if (this.inited) {
1401
- this.layerService.updateLayerRenderList();
1402
- this.layerService.renderLayers();
1403
- }
1379
+ this.inited && this.layerService.reRender();
1404
1380
  }
1405
1381
  }, {
1406
1382
  key: "splitValuesAndCallbackInAttribute",
@@ -29,7 +29,7 @@ export default class BaseModel<ChildLayerStyleOptions = {}> implements ILayerMod
29
29
  protected cellLength: number;
30
30
  protected cellProperties: ICellProperty[];
31
31
  protected cellTypeLayout: number[];
32
- protected stylePropertyesExist: {
32
+ protected stylePropertiesExist: {
33
33
  hasThetaOffset: number;
34
34
  hasOpacity: number;
35
35
  hasStrokeOpacity: number;
@@ -126,7 +126,7 @@ export default class BaseModel<ChildLayerStyleOptions = {}> implements ILayerMod
126
126
  needUpdate(): boolean;
127
127
  buildModels(callbackModel: (models: IModel[]) => void): void;
128
128
  initModels(callbackModel: (models: IModel[]) => void): void;
129
- clearModels(): void;
129
+ clearModels(refresh?: boolean): void;
130
130
  getAttribute(): {
131
131
  attributes: {
132
132
  [attributeName: string]: IAttribute;