@antv/l7-layers 2.9.27-alpha.2 → 2.9.27-alpha.3

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 (300) hide show
  1. package/es/Geometry/index.js +6 -2
  2. package/es/Geometry/models/billboard.js +1 -2
  3. package/es/Geometry/models/plane.js +2 -4
  4. package/es/Geometry/models/sprite.js +2 -4
  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 +15 -6
  10. package/es/core/BaseLayer.js +51 -69
  11. package/es/core/BaseModel.d.ts +1 -1
  12. package/es/core/BaseModel.js +7 -3
  13. package/es/core/interface.d.ts +18 -0
  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/base.js +2 -4
  18. package/es/earth/shaders/atmosphere_frag.glsl +1 -1
  19. package/es/earth/shaders/bloomsphere_frag.glsl +1 -1
  20. package/es/heatmap/index.js +6 -2
  21. package/es/heatmap/models/heatmap.js +5 -3
  22. package/es/image/index.js +6 -2
  23. package/es/image/models/dataImage.js +4 -7
  24. package/es/image/models/image.js +4 -7
  25. package/es/line/index.d.ts +1 -0
  26. package/es/line/index.js +8 -2
  27. package/es/line/models/arc.js +6 -5
  28. package/es/line/models/half.js +3 -4
  29. package/es/line/models/line.js +9 -8
  30. package/es/line/models/simpleLine.js +2 -1
  31. package/es/line/models/simpleTileLine.d.ts +9 -0
  32. package/es/line/models/simpleTileLine.js +100 -0
  33. package/es/line/models/tile.d.ts +1 -4
  34. package/es/line/models/tile.js +49 -222
  35. package/es/line/models/wall.js +10 -46
  36. package/es/line/shaders/dash/arc_dash_vert.glsl +2 -0
  37. package/es/line/shaders/dash/line_dash_frag.glsl +1 -1
  38. package/es/line/shaders/line_arc2d_vert.glsl +1 -1
  39. package/es/line/shaders/line_arc_3d_frag.glsl +1 -1
  40. package/es/line/shaders/line_arc_3d_vert.glsl +3 -3
  41. package/es/line/shaders/line_arc_frag.glsl +1 -1
  42. package/es/line/shaders/line_arc_great_circle_frag.glsl +1 -1
  43. package/es/line/shaders/line_arc_great_circle_vert.glsl +1 -1
  44. package/es/line/shaders/line_arc_vert.glsl +5 -3
  45. package/es/line/shaders/line_bezier_vert.glsl +1 -1
  46. package/es/line/shaders/line_frag.glsl +1 -2
  47. package/es/line/shaders/line_vert.glsl +1 -1
  48. package/es/line/shaders/linear/arc3d_linear_frag.glsl +1 -1
  49. package/es/line/shaders/linear/arc3d_linear_vert.glsl +3 -3
  50. package/es/line/shaders/linear/arc_linear_frag.glsl +1 -1
  51. package/es/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  52. package/es/line/shaders/tile/line_tile_vert.glsl +19 -177
  53. package/es/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  54. package/es/line/shaders/tile/simpleline_vert.glsl +21 -0
  55. package/es/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +17 -21
  56. package/es/line/shaders/wall/wall_vert.glsl +77 -0
  57. package/es/mask/index.d.ts +1 -0
  58. package/es/mask/index.js +80 -5
  59. package/es/mask/models/fill.d.ts +2 -1
  60. package/es/mask/models/fill.js +13 -10
  61. package/es/mask/shaders/mask_vert.glsl +0 -6
  62. package/es/plugins/DataMappingPlugin.d.ts +4 -3
  63. package/es/plugins/DataMappingPlugin.js +129 -58
  64. package/es/plugins/DataSourcePlugin.js +3 -2
  65. package/es/plugins/FeatureScalePlugin.d.ts +0 -2
  66. package/es/plugins/FeatureScalePlugin.js +8 -51
  67. package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -2
  68. package/es/plugins/LayerAnimateStylePlugin.js +7 -27
  69. package/es/plugins/LayerModelPlugin.js +2 -6
  70. package/es/plugins/LightingPlugin.js +1 -7
  71. package/es/plugins/MultiPassRendererPlugin.d.ts +0 -1
  72. package/es/plugins/MultiPassRendererPlugin.js +4 -16
  73. package/es/plugins/PixelPickingPlugin.d.ts +1 -1
  74. package/es/plugins/PixelPickingPlugin.js +8 -28
  75. package/es/plugins/RegisterStyleAttributePlugin.d.ts +4 -0
  76. package/es/plugins/RegisterStyleAttributePlugin.js +56 -5
  77. package/es/plugins/UpdateStyleAttributePlugin.js +2 -9
  78. package/es/point/index.js +6 -2
  79. package/es/point/models/fill.js +2 -2
  80. package/es/point/models/fillmage.js +1 -1
  81. package/es/point/models/image.js +1 -1
  82. package/es/point/models/normal.d.ts +0 -1
  83. package/es/point/models/normal.js +9 -60
  84. package/es/point/models/radar.js +4 -69
  85. package/es/point/models/simplePoint.d.ts +0 -1
  86. package/es/point/models/simplePoint.js +2 -11
  87. package/es/point/models/text.js +6 -7
  88. package/es/point/models/tile.d.ts +0 -7
  89. package/es/point/models/tile.js +22 -155
  90. package/es/point/models/tileText.d.ts +0 -4
  91. package/es/point/models/tileText.js +98 -185
  92. package/es/point/shaders/animate/wave_frag.glsl +3 -3
  93. package/es/point/shaders/earth/fill_vert.glsl +0 -1
  94. package/es/point/shaders/fill_vert.glsl +0 -1
  95. package/es/point/shaders/normal_frag.glsl +1 -10
  96. package/es/point/shaders/normal_vert.glsl +5 -60
  97. package/es/point/shaders/radar/radar_frag.glsl +4 -15
  98. package/es/point/shaders/radar/radar_vert.glsl +4 -54
  99. package/es/point/shaders/tile/fill_tile_frag.glsl +10 -17
  100. package/es/point/shaders/tile/fill_tile_vert.glsl +20 -123
  101. package/es/point/shaders/tile/text_frag.glsl +33 -0
  102. package/es/point/shaders/tile/text_map_frag.glsl +31 -0
  103. package/es/point/shaders/tile/text_map_vert.glsl +38 -0
  104. package/es/point/shaders/tile/text_vert.glsl +48 -0
  105. package/es/polygon/index.js +6 -2
  106. package/es/polygon/models/extrude.js +1 -3
  107. package/es/polygon/models/fill.js +3 -4
  108. package/es/polygon/models/ocean.d.ts +0 -2
  109. package/es/polygon/models/ocean.js +13 -47
  110. package/es/polygon/models/tile.d.ts +1 -4
  111. package/es/polygon/models/tile.js +25 -57
  112. package/es/polygon/models/water.d.ts +0 -2
  113. package/es/polygon/models/water.js +13 -47
  114. package/es/polygon/shaders/polygon_frag.glsl +2 -2
  115. package/es/polygon/shaders/polygon_vert.glsl +2 -2
  116. package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  117. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  118. package/es/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  119. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  120. package/es/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  121. package/es/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  122. package/es/raster/buffers/triangulation.js +1 -4
  123. package/es/raster/index.js +6 -2
  124. package/es/raster/models/raster.js +3 -2
  125. package/es/shader/minify_frag.glsl +7 -0
  126. package/es/shader/minify_picking_frag.glsl +10 -0
  127. package/es/tile/manager/baseMapTileLayerManager.d.ts +29 -0
  128. package/es/tile/manager/baseMapTileLayerManager.js +207 -0
  129. package/es/tile/manager/tileLayerManager.d.ts +2 -2
  130. package/es/tile/manager/tileLayerManager.js +2 -2
  131. package/es/tile/manager/tilePickerManager.d.ts +2 -3
  132. package/es/tile/manager/tilePickerManager.js +1 -2
  133. package/es/tile/models/tileModel.d.ts +1 -0
  134. package/es/tile/models/tileModel.js +18 -2
  135. package/es/tile/tileFactory/base.d.ts +1 -1
  136. package/es/tile/tileFactory/base.js +58 -33
  137. package/es/tile/tileFactory/line.js +3 -0
  138. package/es/tile/tileFactory/point.js +3 -0
  139. package/es/tile/tileFactory/polygon.js +3 -0
  140. package/es/tile/tileFactory/raster.js +3 -0
  141. package/es/tile/tileFactory/rasterData.js +3 -0
  142. package/es/tile/tileFactory/rasterDataLayer.js +6 -2
  143. package/es/tile/tileFactory/test.js +26 -5
  144. package/es/tile/tileFactory/vectorLayer.d.ts +4 -1
  145. package/es/tile/tileFactory/vectorLayer.js +110 -7
  146. package/es/tile/tileLayer/baseMapTileLayer.d.ts +29 -0
  147. package/es/tile/tileLayer/baseMapTileLayer.js +188 -0
  148. package/es/tile/tileLayer/baseTileLayer.d.ts +4 -4
  149. package/es/tile/tileLayer/baseTileLayer.js +46 -75
  150. package/es/tile/tileTest.d.ts +1 -0
  151. package/es/tile/tileTest.js +3 -2
  152. package/es/tile/tmsMapTileLayer.d.ts +9 -0
  153. package/es/tile/tmsMapTileLayer.js +119 -0
  154. package/es/tile/tmsTileLayer.d.ts +2 -0
  155. package/es/tile/tmsTileLayer.js +24 -2
  156. package/es/tile/utils.d.ts +4 -0
  157. package/es/tile/utils.js +30 -0
  158. package/es/utils/dataMappingStyle.js +3 -0
  159. package/es/utils/layerData.js +2 -2
  160. package/es/utils/updateShape.js +2 -2
  161. package/es/wind/index.js +6 -2
  162. package/es/wind/models/wind.js +8 -8
  163. package/es/wind/shaders/wind_vert.glsl +1 -1
  164. package/lib/Geometry/index.js +6 -2
  165. package/lib/Geometry/models/billboard.js +1 -2
  166. package/lib/Geometry/models/plane.js +2 -4
  167. package/lib/Geometry/models/sprite.js +2 -4
  168. package/lib/canvas/index.js +37 -2
  169. package/lib/citybuliding/building.js +6 -2
  170. package/lib/citybuliding/models/build.js +2 -3
  171. package/lib/core/BaseLayer.js +51 -69
  172. package/lib/core/BaseModel.js +7 -3
  173. package/lib/core/triangulation.js +66 -2
  174. package/lib/earth/index.js +3 -1
  175. package/lib/earth/models/base.js +2 -4
  176. package/lib/earth/shaders/atmosphere_frag.glsl +1 -1
  177. package/lib/earth/shaders/bloomsphere_frag.glsl +1 -1
  178. package/lib/heatmap/index.js +6 -2
  179. package/lib/heatmap/models/heatmap.js +5 -3
  180. package/lib/image/index.js +6 -2
  181. package/lib/image/models/dataImage.js +4 -7
  182. package/lib/image/models/image.js +4 -7
  183. package/lib/line/index.js +7 -2
  184. package/lib/line/models/arc.js +6 -5
  185. package/lib/line/models/half.js +3 -4
  186. package/lib/line/models/line.js +9 -8
  187. package/lib/line/models/simpleLine.js +2 -1
  188. package/lib/line/models/simpleTileLine.js +115 -0
  189. package/lib/line/models/tile.js +49 -223
  190. package/lib/line/models/wall.js +10 -46
  191. package/lib/line/shaders/dash/arc_dash_vert.glsl +2 -0
  192. package/lib/line/shaders/dash/line_dash_frag.glsl +1 -1
  193. package/lib/line/shaders/line_arc2d_vert.glsl +1 -1
  194. package/lib/line/shaders/line_arc_3d_frag.glsl +1 -1
  195. package/lib/line/shaders/line_arc_3d_vert.glsl +3 -3
  196. package/lib/line/shaders/line_arc_frag.glsl +1 -1
  197. package/lib/line/shaders/line_arc_great_circle_frag.glsl +1 -1
  198. package/lib/line/shaders/line_arc_great_circle_vert.glsl +1 -1
  199. package/lib/line/shaders/line_arc_vert.glsl +5 -3
  200. package/lib/line/shaders/line_bezier_vert.glsl +1 -1
  201. package/lib/line/shaders/line_frag.glsl +1 -2
  202. package/lib/line/shaders/line_vert.glsl +1 -1
  203. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +1 -1
  204. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +3 -3
  205. package/lib/line/shaders/linear/arc_linear_frag.glsl +1 -1
  206. package/lib/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  207. package/lib/line/shaders/tile/line_tile_vert.glsl +19 -177
  208. package/lib/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  209. package/lib/line/shaders/tile/simpleline_vert.glsl +21 -0
  210. package/lib/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +17 -21
  211. package/lib/line/shaders/wall/wall_vert.glsl +77 -0
  212. package/lib/mask/index.js +82 -5
  213. package/lib/mask/models/fill.js +14 -10
  214. package/lib/mask/shaders/mask_vert.glsl +0 -6
  215. package/lib/plugins/DataMappingPlugin.js +127 -57
  216. package/lib/plugins/DataSourcePlugin.js +3 -2
  217. package/lib/plugins/FeatureScalePlugin.js +6 -50
  218. package/lib/plugins/LayerAnimateStylePlugin.js +6 -29
  219. package/lib/plugins/LayerModelPlugin.js +2 -6
  220. package/lib/plugins/LightingPlugin.js +1 -7
  221. package/lib/plugins/MultiPassRendererPlugin.js +3 -19
  222. package/lib/plugins/PixelPickingPlugin.js +8 -28
  223. package/lib/plugins/RegisterStyleAttributePlugin.js +56 -5
  224. package/lib/plugins/UpdateStyleAttributePlugin.js +2 -9
  225. package/lib/point/index.js +6 -2
  226. package/lib/point/models/fill.js +2 -2
  227. package/lib/point/models/fillmage.js +1 -1
  228. package/lib/point/models/image.js +1 -1
  229. package/lib/point/models/normal.js +8 -59
  230. package/lib/point/models/radar.js +4 -69
  231. package/lib/point/models/simplePoint.js +1 -10
  232. package/lib/point/models/text.js +6 -7
  233. package/lib/point/models/tile.js +21 -156
  234. package/lib/point/models/tileText.js +97 -184
  235. package/lib/point/shaders/animate/wave_frag.glsl +3 -3
  236. package/lib/point/shaders/earth/fill_vert.glsl +0 -1
  237. package/lib/point/shaders/fill_vert.glsl +0 -1
  238. package/lib/point/shaders/normal_frag.glsl +1 -10
  239. package/lib/point/shaders/normal_vert.glsl +5 -60
  240. package/lib/point/shaders/radar/radar_frag.glsl +4 -15
  241. package/lib/point/shaders/radar/radar_vert.glsl +4 -54
  242. package/lib/point/shaders/tile/fill_tile_frag.glsl +10 -17
  243. package/lib/point/shaders/tile/fill_tile_vert.glsl +20 -123
  244. package/lib/point/shaders/tile/text_frag.glsl +33 -0
  245. package/lib/point/shaders/tile/text_map_frag.glsl +31 -0
  246. package/lib/point/shaders/tile/text_map_vert.glsl +38 -0
  247. package/lib/point/shaders/tile/text_vert.glsl +48 -0
  248. package/lib/polygon/index.js +6 -2
  249. package/lib/polygon/models/extrude.js +1 -3
  250. package/lib/polygon/models/fill.js +3 -4
  251. package/lib/polygon/models/ocean.js +14 -47
  252. package/lib/polygon/models/tile.js +24 -57
  253. package/lib/polygon/models/water.js +14 -47
  254. package/lib/polygon/shaders/polygon_frag.glsl +2 -2
  255. package/lib/polygon/shaders/polygon_vert.glsl +2 -2
  256. package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  257. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  258. package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  259. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  260. package/lib/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  261. package/lib/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  262. package/lib/raster/buffers/triangulation.js +1 -4
  263. package/lib/raster/index.js +6 -2
  264. package/lib/raster/models/raster.js +3 -2
  265. package/lib/shader/minify_frag.glsl +7 -0
  266. package/lib/shader/minify_picking_frag.glsl +10 -0
  267. package/lib/tile/manager/baseMapTileLayerManager.js +222 -0
  268. package/lib/tile/manager/tileLayerManager.js +2 -2
  269. package/lib/tile/manager/tilePickerManager.js +1 -2
  270. package/lib/tile/models/tileModel.js +19 -2
  271. package/lib/tile/tileFactory/base.js +60 -33
  272. package/lib/tile/tileFactory/line.js +3 -0
  273. package/lib/tile/tileFactory/point.js +3 -0
  274. package/lib/tile/tileFactory/polygon.js +3 -0
  275. package/lib/tile/tileFactory/raster.js +3 -0
  276. package/lib/tile/tileFactory/rasterData.js +3 -0
  277. package/lib/tile/tileFactory/rasterDataLayer.js +6 -2
  278. package/lib/tile/tileFactory/test.js +26 -5
  279. package/lib/tile/tileFactory/vectorLayer.js +112 -8
  280. package/lib/tile/tileLayer/baseMapTileLayer.js +195 -0
  281. package/lib/tile/tileLayer/baseTileLayer.js +46 -75
  282. package/lib/tile/tileTest.js +3 -2
  283. package/lib/tile/tmsMapTileLayer.js +136 -0
  284. package/lib/tile/tmsTileLayer.js +25 -2
  285. package/lib/tile/utils.js +38 -0
  286. package/lib/utils/dataMappingStyle.js +3 -0
  287. package/lib/utils/layerData.js +2 -2
  288. package/lib/utils/updateShape.js +2 -2
  289. package/lib/wind/index.js +6 -2
  290. package/lib/wind/models/wind.js +7 -7
  291. package/lib/wind/shaders/wind_vert.glsl +1 -1
  292. package/package.json +8 -7
  293. package/es/line/shaders/tile/line_tile_frag.glsl +0 -79
  294. package/es/line/shaders/wall_vert.glsl +0 -111
  295. package/es/mask/shaders/mask_frag.glsl +0 -7
  296. package/es/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
  297. package/lib/line/shaders/tile/line_tile_frag.glsl +0 -79
  298. package/lib/line/shaders/wall_vert.glsl +0 -111
  299. package/lib/mask/shaders/mask_frag.glsl +0 -7
  300. 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
  }, {
@@ -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;
@@ -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
@@ -87,7 +87,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
87
87
  m.updateAttributes(attributes);
88
88
  });
89
89
 
90
- _this.layer.renderLayers();
90
+ _this.layerService.throttleRenderLayers();
91
91
 
92
92
  _this.timer = requestAnimationFrame(_this.updateModel);
93
93
  });
@@ -265,9 +265,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
265
265
  wrapT: gl.CLAMP_TO_EDGE
266
266
  });
267
267
 
268
- _this4.layerService.updateLayerRenderList();
269
-
270
- _this4.layerService.renderLayers();
268
+ _this4.layerService.reRender();
271
269
  };
272
270
 
273
271
  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
  }
@@ -77,16 +77,22 @@ 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
82
  private configSchema;
83
83
  private currentPickId;
84
- private rawConfig;
84
+ protected rawConfig: Partial<ILayerConfig & ChildLayerStyleOptions>;
85
85
  private needUpdateConfig;
86
86
  /**
87
87
  * 待更新样式属性,在初始化阶段完成注册
88
88
  */
89
- private pendingStyleAttributes;
89
+ protected pendingStyleAttributes: Array<{
90
+ attributeName: string;
91
+ attributeField: StyleAttributeField;
92
+ attributeValues?: StyleAttributeOption;
93
+ defaultName?: string;
94
+ updateOptions?: Partial<IStyleAttributeUpdateOptions>;
95
+ }>;
90
96
  private scaleOptions;
91
97
  private animateStartTime;
92
98
  private aniamateStatus;
@@ -208,7 +214,10 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
208
214
  protected getConfigSchema(): void;
209
215
  protected getModelType(): unknown;
210
216
  protected getDefaultConfig(): {};
211
- private sourceEvent;
212
- private reRender;
213
- private splitValuesAndCallbackInAttribute;
217
+ protected sourceEvent: () => void;
218
+ protected reRender(): void;
219
+ protected splitValuesAndCallbackInAttribute(valuesOrCallback?: unknown[], defaultValues?: unknown[]): {
220
+ values: unknown[] | undefined;
221
+ callback: (unknown[] & ((...args: any[]) => any)) | undefined;
222
+ };
214
223
  }
@@ -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;
@@ -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
  });
@@ -426,15 +424,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
426
424
  }, {
427
425
  key: "color",
428
426
  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
-
427
+ this.updateStyleAttribute('color', field, values, updateOptions);
438
428
  return this;
439
429
  } // 为对应的图层传入纹理的编号名称(point/image 在 shape 方法中传入纹理名称的方法并不通用)
440
430
 
@@ -474,7 +464,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
474
464
  field: field,
475
465
  values: values
476
466
  };
477
- this.updateStyleAttribute('shape', field, values, updateOptions); // TODO: 根据 shape 判断是否需要更新 model
467
+ this.updateStyleAttribute('shape', field, values, updateOptions); // Tip: 根据 shape 判断是否需要更新 model
478
468
 
479
469
  if (!this.tileLayer) {
480
470
  updateShape(this, lastShape, currentShape);
@@ -615,7 +605,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
615
605
  }, {
616
606
  key: "render",
617
607
  value: function render() {
618
- if (this.tileLayer !== undefined) {
608
+ if (this.tileLayer) {
619
609
  // 瓦片图层执行单独的 render 渲染队列
620
610
  this.tileLayer.render();
621
611
  return this;
@@ -812,11 +802,6 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
812
802
  }, {
813
803
  key: "hide",
814
804
  value: function hide() {
815
- if (this.type === 'CanvasLayer' && this.layerModel.clearCanvas) {
816
- // 对 canvasLayer 的 hide 操作做特殊处理
817
- this.layerModel.clearCanvas();
818
- }
819
-
820
805
  this.updateLayerConfig({
821
806
  visible: false
822
807
  });
@@ -972,7 +957,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
972
957
  }, {
973
958
  key: "destroy",
974
959
  value: function destroy() {
975
- var _this$layerModel2;
960
+ var _this$multiPassRender, _this$layerModel2;
976
961
 
977
962
  var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
978
963
 
@@ -982,25 +967,24 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
982
967
 
983
968
 
984
969
  this.layerChildren.map(function (child) {
985
- return child.destroy();
970
+ return child.destroy(false);
986
971
  });
987
972
  this.layerChildren = []; // remove mask list
988
973
 
989
974
  this.masks.map(function (mask) {
990
- return mask.destroy();
975
+ return mask.destroy(false);
991
976
  });
992
977
  this.masks = [];
993
978
  this.hooks.beforeDestroy.call(); // 清除sources事件
994
979
 
995
980
  this.layerSource.off('sourceUpdate', this.sourceEvent);
996
- this.multiPassRenderer.destroy(); // console.log(this.styleAttributeService.getAttributes())
997
- // 清除所有属性以及关联的 vao == 销毁所有 => model this.models.forEach((model) => model.destroy());
981
+ (_this$multiPassRender = this.multiPassRenderer) === null || _this$multiPassRender === void 0 ? void 0 : _this$multiPassRender.destroy(); // 清除所有属性以及关联的 vao == 销毁所有 => model this.models.forEach((model) => model.destroy());
998
982
 
999
983
  this.styleAttributeService.clearAllAttributes(); // 执行每个图层单独的 clearModels 方法 (清除一些额外的 texture、program、buffer 等)
1000
984
 
1001
- this.hooks.afterDestroy.call(); // TODO: 清除各个图层自定义的 models 资源
985
+ this.hooks.afterDestroy.call(); // Tip: 清除各个图层自定义的 models 资源
1002
986
 
1003
- (_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels();
987
+ (_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels(refresh);
1004
988
  this.models = [];
1005
989
  this.layerService.cleanRemove(this, refresh);
1006
990
  this.emit('remove', {
@@ -1176,45 +1160,47 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1176
1160
 
1177
1161
  var createModel = this.rendererService.createModel;
1178
1162
  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({
1163
+ setTimeout(function () {
1164
+ // filter supported worker & worker enabled layer
1165
+ if (workerOptions && workerOptions.modelType in WorkerSourceMap && workerEnabled) {
1166
+ _this9.styleAttributeService.createAttributesAndIndicesAscy(_this9.encodedData, segmentNumber, workerOptions).then(function (_ref7) {
1167
+ var attributes = _ref7.attributes,
1168
+ elements = _ref7.elements;
1169
+ var m = createModel(_objectSpread({
1170
+ attributes: attributes,
1171
+ uniforms: uniforms,
1172
+ fs: fs,
1173
+ vs: vs,
1174
+ elements: elements,
1175
+ blend: BlendTypes[BlendType.normal]
1176
+ }, rest));
1177
+ resolve(m);
1178
+ }).catch(function (err) {
1179
+ return reject(err);
1180
+ });
1181
+ } else {
1182
+ var _this9$styleAttribute = _this9.styleAttributeService.createAttributesAndIndices(_this9.encodedData, triangulation, segmentNumber),
1183
+ attributes = _this9$styleAttribute.attributes,
1184
+ elements = _this9$styleAttribute.elements,
1185
+ count = _this9$styleAttribute.count;
1186
+
1187
+ var modeloptions = _objectSpread({
1185
1188
  attributes: attributes,
1186
1189
  uniforms: uniforms,
1187
1190
  fs: fs,
1188
1191
  vs: vs,
1189
1192
  elements: elements,
1190
1193
  blend: BlendTypes[BlendType.normal]
1191
- }, rest));
1194
+ }, rest);
1195
+
1196
+ if (count) {
1197
+ modeloptions.count = count;
1198
+ }
1199
+
1200
+ var m = createModel(modeloptions);
1192
1201
  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
1202
  }
1214
-
1215
- var m = createModel(modeloptions);
1216
- resolve(m);
1217
- }
1203
+ });
1218
1204
  });
1219
1205
  }
1220
1206
  }, {
@@ -1258,6 +1244,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1258
1244
  }, {
1259
1245
  key: "needPick",
1260
1246
  value: function needPick(type) {
1247
+ // 地图图层的判断
1248
+ if (this.rawConfig.usage === 'basemap') return false;
1249
+
1261
1250
  var _this$getLayerConfig10 = this.getLayerConfig(),
1262
1251
  _this$getLayerConfig11 = _this$getLayerConfig10.enableHighlight,
1263
1252
  enableHighlight = _this$getLayerConfig11 === void 0 ? true : _this$getLayerConfig11,
@@ -1315,8 +1304,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1315
1304
  }, {
1316
1305
  key: "renderModels",
1317
1306
  value: function renderModels(isPicking) {
1318
- var _this10 = this,
1319
- _this$layerModel4;
1307
+ var _this10 = this;
1320
1308
 
1321
1309
  // TODO: this.getEncodedData().length > 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
1322
1310
  if (this.encodeDataLength <= 0 && !this.forceRender) return this;
@@ -1331,10 +1319,6 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1331
1319
  });
1332
1320
  }
1333
1321
 
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
1322
  this.models.forEach(function (model) {
1339
1323
  model.draw({
1340
1324
  uniforms: _this10.layerModel.getUninforms()
@@ -1373,6 +1357,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1373
1357
  * 继承空方法
1374
1358
  * @param time
1375
1359
  */
1360
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1376
1361
 
1377
1362
  }, {
1378
1363
  key: "setEarthTime",
@@ -1397,10 +1382,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1397
1382
  }, {
1398
1383
  key: "reRender",
1399
1384
  value: function reRender() {
1400
- if (this.inited) {
1401
- this.layerService.updateLayerRenderList();
1402
- this.layerService.renderLayers();
1403
- }
1385
+ this.inited && this.layerService.reRender();
1404
1386
  }
1405
1387
  }, {
1406
1388
  key: "splitValuesAndCallbackInAttribute",
@@ -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;
@@ -428,20 +428,24 @@ var BaseModel = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
428
428
  key: "needUpdate",
429
429
  value: function needUpdate() {
430
430
  return false;
431
- }
431
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
432
+
432
433
  }, {
433
434
  key: "buildModels",
434
435
  value: function buildModels(callbackModel) {
435
436
  throw new Error('Method not implemented.');
436
- }
437
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
438
+
437
439
  }, {
438
440
  key: "initModels",
439
441
  value: function initModels(callbackModel) {
440
442
  throw new Error('Method not implemented.');
441
- }
443
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
444
+
442
445
  }, {
443
446
  key: "clearModels",
444
447
  value: function clearModels() {
448
+ var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
445
449
  return;
446
450
  }
447
451
  }, {
@@ -32,6 +32,9 @@ export interface IBaseLayerStyleOptions {
32
32
  zIndex?: number;
33
33
  mask?: boolean;
34
34
  maskInside?: boolean;
35
+ usage?: string;
36
+ color?: string;
37
+ size?: number;
35
38
  }
36
39
  export interface ILineLayerStyleOptions extends IBaseLayerStyleOptions {
37
40
  tileOrigin?: number[];
@@ -116,6 +119,7 @@ export interface IRasterTileLayerStyleOptions extends IBaseLayerStyleOptions {
116
119
  }
117
120
  export interface IMaskLayerStyleOptions extends IBaseLayerStyleOptions {
118
121
  opacity: number;
122
+ color: string;
119
123
  }
120
124
  export interface IWindLayerStyleOptions extends IBaseLayerStyleOptions {
121
125
  uMin?: number;
@@ -145,6 +149,20 @@ export interface IImageLayerStyleOptions extends IBaseLayerStyleOptions {
145
149
  pixelConstantB?: number;
146
150
  pixelConstantRGB?: number;
147
151
  }
152
+ export interface ICityBuildLayerStyleOptions {
153
+ opacity: number;
154
+ baseColor: string;
155
+ brightColor: string;
156
+ windowColor: string;
157
+ time: number;
158
+ sweep: {
159
+ enable: boolean;
160
+ sweepRadius: number;
161
+ sweepColor: string;
162
+ sweepSpeed: number;
163
+ sweepCenter?: [number, number];
164
+ };
165
+ }
148
166
  export interface IGeometryLayerStyleOptions extends IBaseLayerStyleOptions {
149
167
  mapTexture?: string;
150
168
  terrainTexture?: string;
@@ -54,6 +54,12 @@ export declare function SimpleLineTriangulation(feature: IEncodeFeature): {
54
54
  size: number;
55
55
  count: number;
56
56
  };
57
+ export declare function TileSimpleLineTriangulation(feature: IEncodeFeature): {
58
+ vertices: any[];
59
+ indices: never[];
60
+ size: number;
61
+ count: number;
62
+ };
57
63
  export declare function polygonTriangulation(feature: IEncodeFeature): {
58
64
  indices: number[];
59
65
  vertices: number[];
@@ -134,6 +134,16 @@ export function SimpleLineTriangulation(feature) {
134
134
  var coordinates = feature.coordinates;
135
135
  var pos = [];
136
136
 
137
+ if (!Array.isArray(coordinates[0])) {
138
+ return {
139
+ vertices: [],
140
+ indices: [],
141
+ normals: [],
142
+ size: 6,
143
+ count: 0
144
+ };
145
+ }
146
+
137
147
  var _getSimpleLineVertice = getSimpleLineVertices(coordinates),
138
148
  results = _getSimpleLineVertice.results,
139
149
  totalDistance = _getSimpleLineVertice.totalDistance;
@@ -149,6 +159,32 @@ export function SimpleLineTriangulation(feature) {
149
159
  count: results.length
150
160
  };
151
161
  }
162
+ export function TileSimpleLineTriangulation(feature) {
163
+ var coordinates = feature.coordinates;
164
+ var pos = [];
165
+
166
+ if (!Array.isArray(coordinates[0])) {
167
+ return {
168
+ vertices: [],
169
+ indices: [],
170
+ size: 4,
171
+ count: 0
172
+ };
173
+ }
174
+
175
+ var _getTileSimpleLineVer = getTileSimpleLineVertices(coordinates),
176
+ results = _getTileSimpleLineVer.results;
177
+
178
+ results.map(function (point) {
179
+ pos.push(point[0], point[1], point[2], point[3]);
180
+ });
181
+ return {
182
+ vertices: pos,
183
+ indices: [],
184
+ size: 4,
185
+ count: results.length
186
+ };
187
+ }
152
188
 
153
189
  function lineSegmentDistance(b1, a1) {
154
190
  var dx = a1[0] - b1[0];
@@ -161,7 +197,10 @@ function pushDis(point, n) {
161
197
  point.push(0);
162
198
  }
163
199
 
164
- point.push(n);
200
+ if (n !== undefined) {
201
+ point.push(n);
202
+ }
203
+
165
204
  return point;
166
205
  }
167
206
 
@@ -196,6 +235,29 @@ function getSimpleLineVertices(points) {
196
235
  }
197
236
  }
198
237
 
238
+ function getTileSimpleLineVertices(points) {
239
+ if (points.length < 2) {
240
+ return {
241
+ results: points
242
+ };
243
+ } else {
244
+ var results = [];
245
+ var point = pushDis(points[0]);
246
+ results.push(point);
247
+
248
+ for (var i = 1; i < points.length - 1; i++) {
249
+ var mulPoint = pushDis(points[i]);
250
+ results.push(mulPoint);
251
+ results.push(mulPoint);
252
+ }
253
+
254
+ results.push(pushDis(points[points.length - 1]));
255
+ return {
256
+ results: results
257
+ };
258
+ }
259
+ }
260
+
199
261
  export function polygonTriangulation(feature) {
200
262
  var coordinates = feature.coordinates;
201
263
  var flattengeo = earcut.flatten(coordinates);
@@ -207,7 +269,7 @@ export function polygonTriangulation(feature) {
207
269
  vertices: vertices,
208
270
  size: dimensions
209
271
  };
210
- } // TODO:构建几何图形(带有中心点和大小)
272
+ } // 构建几何图形(带有中心点和大小)
211
273
 
212
274
  export function polygonTriangulationWithCenter(feature) {
213
275
  var coordinates = feature.coordinates;
package/es/earth/index.js CHANGED
@@ -61,7 +61,9 @@ var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
61
61
  this.layerModel.initModels(function (models) {
62
62
  _this2.models = models;
63
63
 
64
- _this2.renderLayers();
64
+ _this2.emit('modelLoaded', null);
65
+
66
+ _this2.layerService.throttleRenderLayers();
65
67
  });
66
68
  }
67
69
  /**