@antv/l7-layers 2.9.27-alpha.1 → 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 (302) hide show
  1. package/es/Geometry/index.d.ts +13 -0
  2. package/es/Geometry/index.js +20 -2
  3. package/es/Geometry/models/billboard.js +1 -2
  4. package/es/Geometry/models/plane.js +2 -4
  5. package/es/Geometry/models/sprite.js +2 -4
  6. package/es/canvas/index.d.ts +4 -0
  7. package/es/canvas/index.js +38 -2
  8. package/es/citybuliding/building.js +6 -2
  9. package/es/citybuliding/models/build.js +2 -3
  10. package/es/core/BaseLayer.d.ts +17 -6
  11. package/es/core/BaseLayer.js +89 -94
  12. package/es/core/BaseModel.d.ts +1 -1
  13. package/es/core/BaseModel.js +7 -3
  14. package/es/core/interface.d.ts +18 -0
  15. package/es/core/triangulation.d.ts +6 -0
  16. package/es/core/triangulation.js +64 -2
  17. package/es/earth/index.d.ts +5 -0
  18. package/es/earth/index.js +12 -1
  19. package/es/earth/models/base.js +2 -4
  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.js +6 -2
  23. package/es/heatmap/models/heatmap.js +5 -3
  24. package/es/image/index.js +6 -2
  25. package/es/image/models/dataImage.js +4 -7
  26. package/es/image/models/image.js +4 -7
  27. package/es/line/index.d.ts +1 -0
  28. package/es/line/index.js +8 -2
  29. package/es/line/models/arc.js +6 -5
  30. package/es/line/models/half.js +3 -4
  31. package/es/line/models/line.js +9 -8
  32. package/es/line/models/simpleLine.js +2 -1
  33. package/es/line/models/simpleTileLine.d.ts +9 -0
  34. package/es/line/models/simpleTileLine.js +100 -0
  35. package/es/line/models/tile.d.ts +1 -4
  36. package/es/line/models/tile.js +49 -222
  37. package/es/line/models/wall.js +10 -46
  38. package/es/line/shaders/dash/arc_dash_vert.glsl +2 -0
  39. package/es/line/shaders/dash/line_dash_frag.glsl +1 -1
  40. package/es/line/shaders/line_arc2d_vert.glsl +1 -1
  41. package/es/line/shaders/line_arc_3d_frag.glsl +1 -1
  42. package/es/line/shaders/line_arc_3d_vert.glsl +3 -3
  43. package/es/line/shaders/line_arc_frag.glsl +1 -1
  44. package/es/line/shaders/line_arc_great_circle_frag.glsl +1 -1
  45. package/es/line/shaders/line_arc_great_circle_vert.glsl +1 -1
  46. package/es/line/shaders/line_arc_vert.glsl +5 -3
  47. package/es/line/shaders/line_bezier_vert.glsl +1 -1
  48. package/es/line/shaders/line_frag.glsl +1 -2
  49. package/es/line/shaders/line_vert.glsl +1 -1
  50. package/es/line/shaders/linear/arc3d_linear_frag.glsl +1 -1
  51. package/es/line/shaders/linear/arc3d_linear_vert.glsl +3 -3
  52. package/es/line/shaders/linear/arc_linear_frag.glsl +1 -1
  53. package/es/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  54. package/es/line/shaders/tile/line_tile_vert.glsl +19 -177
  55. package/es/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  56. package/es/line/shaders/tile/simpleline_vert.glsl +21 -0
  57. package/es/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +17 -21
  58. package/es/line/shaders/wall/wall_vert.glsl +77 -0
  59. package/es/mask/index.d.ts +1 -0
  60. package/es/mask/index.js +80 -5
  61. package/es/mask/models/fill.d.ts +2 -1
  62. package/es/mask/models/fill.js +13 -10
  63. package/es/mask/shaders/mask_vert.glsl +0 -6
  64. package/es/plugins/DataMappingPlugin.d.ts +4 -3
  65. package/es/plugins/DataMappingPlugin.js +129 -58
  66. package/es/plugins/DataSourcePlugin.js +3 -2
  67. package/es/plugins/FeatureScalePlugin.d.ts +0 -2
  68. package/es/plugins/FeatureScalePlugin.js +8 -51
  69. package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -2
  70. package/es/plugins/LayerAnimateStylePlugin.js +7 -27
  71. package/es/plugins/LayerModelPlugin.js +2 -6
  72. package/es/plugins/LightingPlugin.js +1 -7
  73. package/es/plugins/MultiPassRendererPlugin.d.ts +0 -1
  74. package/es/plugins/MultiPassRendererPlugin.js +4 -16
  75. package/es/plugins/PixelPickingPlugin.d.ts +1 -1
  76. package/es/plugins/PixelPickingPlugin.js +8 -28
  77. package/es/plugins/RegisterStyleAttributePlugin.d.ts +4 -0
  78. package/es/plugins/RegisterStyleAttributePlugin.js +56 -5
  79. package/es/plugins/UpdateStyleAttributePlugin.js +2 -9
  80. package/es/point/index.js +6 -2
  81. package/es/point/models/fill.js +2 -2
  82. package/es/point/models/fillmage.js +1 -1
  83. package/es/point/models/image.js +1 -1
  84. package/es/point/models/normal.d.ts +0 -1
  85. package/es/point/models/normal.js +9 -60
  86. package/es/point/models/radar.js +4 -69
  87. package/es/point/models/simplePoint.d.ts +0 -1
  88. package/es/point/models/simplePoint.js +2 -11
  89. package/es/point/models/text.js +6 -7
  90. package/es/point/models/tile.d.ts +0 -7
  91. package/es/point/models/tile.js +22 -155
  92. package/es/point/models/tileText.d.ts +0 -4
  93. package/es/point/models/tileText.js +98 -185
  94. package/es/point/shaders/animate/wave_frag.glsl +3 -3
  95. package/es/point/shaders/earth/fill_vert.glsl +0 -1
  96. package/es/point/shaders/fill_vert.glsl +0 -1
  97. package/es/point/shaders/normal_frag.glsl +1 -10
  98. package/es/point/shaders/normal_vert.glsl +5 -60
  99. package/es/point/shaders/radar/radar_frag.glsl +4 -15
  100. package/es/point/shaders/radar/radar_vert.glsl +4 -54
  101. package/es/point/shaders/tile/fill_tile_frag.glsl +10 -17
  102. package/es/point/shaders/tile/fill_tile_vert.glsl +20 -123
  103. package/es/point/shaders/tile/text_frag.glsl +33 -0
  104. package/es/point/shaders/tile/text_map_frag.glsl +31 -0
  105. package/es/point/shaders/tile/text_map_vert.glsl +38 -0
  106. package/es/point/shaders/tile/text_vert.glsl +48 -0
  107. package/es/polygon/index.js +6 -2
  108. package/es/polygon/models/extrude.js +1 -3
  109. package/es/polygon/models/fill.js +3 -4
  110. package/es/polygon/models/ocean.d.ts +0 -2
  111. package/es/polygon/models/ocean.js +13 -47
  112. package/es/polygon/models/tile.d.ts +1 -4
  113. package/es/polygon/models/tile.js +25 -57
  114. package/es/polygon/models/water.d.ts +0 -2
  115. package/es/polygon/models/water.js +13 -47
  116. package/es/polygon/shaders/polygon_frag.glsl +2 -2
  117. package/es/polygon/shaders/polygon_vert.glsl +2 -2
  118. package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  119. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  120. package/es/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  121. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  122. package/es/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  123. package/es/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  124. package/es/raster/buffers/triangulation.js +1 -4
  125. package/es/raster/index.js +6 -2
  126. package/es/raster/models/raster.js +3 -2
  127. package/es/shader/minify_frag.glsl +7 -0
  128. package/es/shader/minify_picking_frag.glsl +10 -0
  129. package/es/tile/manager/baseMapTileLayerManager.d.ts +29 -0
  130. package/es/tile/manager/baseMapTileLayerManager.js +207 -0
  131. package/es/tile/manager/tileLayerManager.d.ts +2 -2
  132. package/es/tile/manager/tileLayerManager.js +2 -2
  133. package/es/tile/manager/tilePickerManager.d.ts +2 -3
  134. package/es/tile/manager/tilePickerManager.js +1 -2
  135. package/es/tile/models/tileModel.d.ts +1 -0
  136. package/es/tile/models/tileModel.js +18 -2
  137. package/es/tile/tileFactory/base.d.ts +1 -1
  138. package/es/tile/tileFactory/base.js +58 -33
  139. package/es/tile/tileFactory/line.js +3 -0
  140. package/es/tile/tileFactory/point.js +3 -0
  141. package/es/tile/tileFactory/polygon.js +3 -0
  142. package/es/tile/tileFactory/raster.js +3 -0
  143. package/es/tile/tileFactory/rasterData.js +3 -0
  144. package/es/tile/tileFactory/rasterDataLayer.js +6 -2
  145. package/es/tile/tileFactory/test.js +26 -5
  146. package/es/tile/tileFactory/vectorLayer.d.ts +4 -1
  147. package/es/tile/tileFactory/vectorLayer.js +110 -7
  148. package/es/tile/tileLayer/baseMapTileLayer.d.ts +29 -0
  149. package/es/tile/tileLayer/baseMapTileLayer.js +188 -0
  150. package/es/tile/tileLayer/baseTileLayer.d.ts +4 -4
  151. package/es/tile/tileLayer/baseTileLayer.js +46 -75
  152. package/es/tile/tileTest.d.ts +1 -0
  153. package/es/tile/tileTest.js +3 -2
  154. package/es/tile/tmsMapTileLayer.d.ts +9 -0
  155. package/es/tile/tmsMapTileLayer.js +119 -0
  156. package/es/tile/tmsTileLayer.d.ts +2 -0
  157. package/es/tile/tmsTileLayer.js +24 -2
  158. package/es/tile/utils.d.ts +4 -0
  159. package/es/tile/utils.js +30 -0
  160. package/es/utils/dataMappingStyle.js +3 -0
  161. package/es/utils/layerData.js +2 -2
  162. package/es/utils/updateShape.js +2 -2
  163. package/es/wind/index.js +6 -2
  164. package/es/wind/models/wind.js +8 -8
  165. package/es/wind/shaders/wind_vert.glsl +1 -1
  166. package/lib/Geometry/index.js +19 -2
  167. package/lib/Geometry/models/billboard.js +1 -2
  168. package/lib/Geometry/models/plane.js +2 -4
  169. package/lib/Geometry/models/sprite.js +2 -4
  170. package/lib/canvas/index.js +37 -2
  171. package/lib/citybuliding/building.js +6 -2
  172. package/lib/citybuliding/models/build.js +2 -3
  173. package/lib/core/BaseLayer.js +86 -94
  174. package/lib/core/BaseModel.js +7 -3
  175. package/lib/core/triangulation.js +66 -2
  176. package/lib/earth/index.js +11 -1
  177. package/lib/earth/models/base.js +2 -4
  178. package/lib/earth/shaders/atmosphere_frag.glsl +1 -1
  179. package/lib/earth/shaders/bloomsphere_frag.glsl +1 -1
  180. package/lib/heatmap/index.js +6 -2
  181. package/lib/heatmap/models/heatmap.js +5 -3
  182. package/lib/image/index.js +6 -2
  183. package/lib/image/models/dataImage.js +4 -7
  184. package/lib/image/models/image.js +4 -7
  185. package/lib/line/index.js +7 -2
  186. package/lib/line/models/arc.js +6 -5
  187. package/lib/line/models/half.js +3 -4
  188. package/lib/line/models/line.js +9 -8
  189. package/lib/line/models/simpleLine.js +2 -1
  190. package/lib/line/models/simpleTileLine.js +115 -0
  191. package/lib/line/models/tile.js +49 -223
  192. package/lib/line/models/wall.js +10 -46
  193. package/lib/line/shaders/dash/arc_dash_vert.glsl +2 -0
  194. package/lib/line/shaders/dash/line_dash_frag.glsl +1 -1
  195. package/lib/line/shaders/line_arc2d_vert.glsl +1 -1
  196. package/lib/line/shaders/line_arc_3d_frag.glsl +1 -1
  197. package/lib/line/shaders/line_arc_3d_vert.glsl +3 -3
  198. package/lib/line/shaders/line_arc_frag.glsl +1 -1
  199. package/lib/line/shaders/line_arc_great_circle_frag.glsl +1 -1
  200. package/lib/line/shaders/line_arc_great_circle_vert.glsl +1 -1
  201. package/lib/line/shaders/line_arc_vert.glsl +5 -3
  202. package/lib/line/shaders/line_bezier_vert.glsl +1 -1
  203. package/lib/line/shaders/line_frag.glsl +1 -2
  204. package/lib/line/shaders/line_vert.glsl +1 -1
  205. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +1 -1
  206. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +3 -3
  207. package/lib/line/shaders/linear/arc_linear_frag.glsl +1 -1
  208. package/lib/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  209. package/lib/line/shaders/tile/line_tile_vert.glsl +19 -177
  210. package/lib/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  211. package/lib/line/shaders/tile/simpleline_vert.glsl +21 -0
  212. package/lib/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +17 -21
  213. package/lib/line/shaders/wall/wall_vert.glsl +77 -0
  214. package/lib/mask/index.js +82 -5
  215. package/lib/mask/models/fill.js +14 -10
  216. package/lib/mask/shaders/mask_vert.glsl +0 -6
  217. package/lib/plugins/DataMappingPlugin.js +127 -57
  218. package/lib/plugins/DataSourcePlugin.js +3 -2
  219. package/lib/plugins/FeatureScalePlugin.js +6 -50
  220. package/lib/plugins/LayerAnimateStylePlugin.js +6 -29
  221. package/lib/plugins/LayerModelPlugin.js +2 -6
  222. package/lib/plugins/LightingPlugin.js +1 -7
  223. package/lib/plugins/MultiPassRendererPlugin.js +3 -19
  224. package/lib/plugins/PixelPickingPlugin.js +8 -28
  225. package/lib/plugins/RegisterStyleAttributePlugin.js +56 -5
  226. package/lib/plugins/UpdateStyleAttributePlugin.js +2 -9
  227. package/lib/point/index.js +6 -2
  228. package/lib/point/models/fill.js +2 -2
  229. package/lib/point/models/fillmage.js +1 -1
  230. package/lib/point/models/image.js +1 -1
  231. package/lib/point/models/normal.js +8 -59
  232. package/lib/point/models/radar.js +4 -69
  233. package/lib/point/models/simplePoint.js +1 -10
  234. package/lib/point/models/text.js +6 -7
  235. package/lib/point/models/tile.js +21 -156
  236. package/lib/point/models/tileText.js +97 -184
  237. package/lib/point/shaders/animate/wave_frag.glsl +3 -3
  238. package/lib/point/shaders/earth/fill_vert.glsl +0 -1
  239. package/lib/point/shaders/fill_vert.glsl +0 -1
  240. package/lib/point/shaders/normal_frag.glsl +1 -10
  241. package/lib/point/shaders/normal_vert.glsl +5 -60
  242. package/lib/point/shaders/radar/radar_frag.glsl +4 -15
  243. package/lib/point/shaders/radar/radar_vert.glsl +4 -54
  244. package/lib/point/shaders/tile/fill_tile_frag.glsl +10 -17
  245. package/lib/point/shaders/tile/fill_tile_vert.glsl +20 -123
  246. package/lib/point/shaders/tile/text_frag.glsl +33 -0
  247. package/lib/point/shaders/tile/text_map_frag.glsl +31 -0
  248. package/lib/point/shaders/tile/text_map_vert.glsl +38 -0
  249. package/lib/point/shaders/tile/text_vert.glsl +48 -0
  250. package/lib/polygon/index.js +6 -2
  251. package/lib/polygon/models/extrude.js +1 -3
  252. package/lib/polygon/models/fill.js +3 -4
  253. package/lib/polygon/models/ocean.js +14 -47
  254. package/lib/polygon/models/tile.js +24 -57
  255. package/lib/polygon/models/water.js +14 -47
  256. package/lib/polygon/shaders/polygon_frag.glsl +2 -2
  257. package/lib/polygon/shaders/polygon_vert.glsl +2 -2
  258. package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  259. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  260. package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  261. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  262. package/lib/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  263. package/lib/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  264. package/lib/raster/buffers/triangulation.js +1 -4
  265. package/lib/raster/index.js +6 -2
  266. package/lib/raster/models/raster.js +3 -2
  267. package/lib/shader/minify_frag.glsl +7 -0
  268. package/lib/shader/minify_picking_frag.glsl +10 -0
  269. package/lib/tile/manager/baseMapTileLayerManager.js +222 -0
  270. package/lib/tile/manager/tileLayerManager.js +2 -2
  271. package/lib/tile/manager/tilePickerManager.js +1 -2
  272. package/lib/tile/models/tileModel.js +19 -2
  273. package/lib/tile/tileFactory/base.js +60 -33
  274. package/lib/tile/tileFactory/line.js +3 -0
  275. package/lib/tile/tileFactory/point.js +3 -0
  276. package/lib/tile/tileFactory/polygon.js +3 -0
  277. package/lib/tile/tileFactory/raster.js +3 -0
  278. package/lib/tile/tileFactory/rasterData.js +3 -0
  279. package/lib/tile/tileFactory/rasterDataLayer.js +6 -2
  280. package/lib/tile/tileFactory/test.js +26 -5
  281. package/lib/tile/tileFactory/vectorLayer.js +112 -8
  282. package/lib/tile/tileLayer/baseMapTileLayer.js +195 -0
  283. package/lib/tile/tileLayer/baseTileLayer.js +46 -75
  284. package/lib/tile/tileTest.js +3 -2
  285. package/lib/tile/tmsMapTileLayer.js +136 -0
  286. package/lib/tile/tmsTileLayer.js +25 -2
  287. package/lib/tile/utils.js +38 -0
  288. package/lib/utils/dataMappingStyle.js +3 -0
  289. package/lib/utils/layerData.js +2 -2
  290. package/lib/utils/updateShape.js +2 -2
  291. package/lib/wind/index.js +6 -2
  292. package/lib/wind/models/wind.js +7 -7
  293. package/lib/wind/shaders/wind_vert.glsl +1 -1
  294. package/package.json +8 -7
  295. package/es/line/shaders/tile/line_tile_frag.glsl +0 -79
  296. package/es/line/shaders/wall_vert.glsl +0 -111
  297. package/es/mask/shaders/mask_frag.glsl +0 -7
  298. package/es/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
  299. package/lib/line/shaders/tile/line_tile_frag.glsl +0 -79
  300. package/lib/line/shaders/wall_vert.glsl +0 -111
  301. package/lib/mask/shaders/mask_frag.glsl +0 -7
  302. package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
@@ -83,13 +83,13 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
83
83
 
84
84
  // 生命周期钩子
85
85
  // 待渲染 model 列表
86
- // TODO: 用于保存子图层对象
86
+ // 用于保存子图层对象
87
87
  // Tip: 用于标识矢量图层
88
88
 
89
89
  /**
90
90
  * 待更新样式属性,在初始化阶段完成注册
91
91
  */
92
- // TODO: layer 保底颜色
92
+ // Tip: layer 保底颜色
93
93
  // private pickingPassRender: IPass<'pixelPicking'>;
94
94
  function BaseLayer() {
95
95
  var _this;
@@ -106,7 +106,16 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
106
106
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "pickedFeatureID", null);
107
107
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "selectedFeatureID", null);
108
108
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "styleNeedUpdate", false);
109
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "forceRender", false);
109
110
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "clusterZoom", 0);
111
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "defaultSourceConfig", {
112
+ data: [],
113
+ options: {
114
+ parser: {
115
+ type: 'json'
116
+ }
117
+ }
118
+ });
110
119
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "dataState", {
111
120
  dataSourceNeedUpdate: false,
112
121
  dataMappingNeedUpdate: false,
@@ -143,6 +152,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
143
152
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "aniamateStatus", false);
144
153
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "bottomColor", 'rgba(0, 0, 0, 0)');
145
154
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isDestroied", false);
155
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "encodeDataLength", 0);
146
156
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sourceEvent", function () {
147
157
  _this.dataState.dataSourceNeedUpdate = true;
148
158
 
@@ -150,9 +160,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
150
160
 
151
161
  if (layerConfig && layerConfig.autoFit) {
152
162
  _this.fitBounds(layerConfig.fitBoundsOptions);
153
- } // 对外暴露事件 迁移到 DataMappingPlugin generateMapping,保证在重新重新映射后触发
154
- // this.emit('dataUpdate');
155
-
163
+ }
156
164
 
157
165
  _this.reRender();
158
166
  });
@@ -416,15 +424,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
416
424
  }, {
417
425
  key: "color",
418
426
  value: function color(field, values, updateOptions) {
419
- // 设置 color、size、shape、style 时由于场景服务尚未完成(并没有调用 scene.addLayer),因此暂时加入待更新属性列表
420
- this.updateStyleAttribute('color', field, values, updateOptions); // this.pendingStyleAttributes.push({
421
- // attributeName: 'color',
422
- // attributeField: field,
423
- // attributeValues: values,
424
- // defaultName: 'colors',
425
- // updateOptions,
426
- // });
427
-
427
+ this.updateStyleAttribute('color', field, values, updateOptions);
428
428
  return this;
429
429
  } // 为对应的图层传入纹理的编号名称(point/image 在 shape 方法中传入纹理名称的方法并不通用)
430
430
 
@@ -464,7 +464,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
464
464
  field: field,
465
465
  values: values
466
466
  };
467
- this.updateStyleAttribute('shape', field, values, updateOptions); // TODO: 根据 shape 判断是否需要更新 model
467
+ this.updateStyleAttribute('shape', field, values, updateOptions); // Tip: 根据 shape 判断是否需要更新 model
468
468
 
469
469
  if (!this.tileLayer) {
470
470
  (0, _updateShape.updateShape)(this, lastShape, currentShape);
@@ -603,17 +603,15 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
603
603
  }, {
604
604
  key: "render",
605
605
  value: function render() {
606
- if (this.tileLayer !== undefined) {
606
+ if (this.tileLayer) {
607
607
  // 瓦片图层执行单独的 render 渲染队列
608
608
  this.tileLayer.render();
609
609
  return this;
610
- } // TODO: this.getEncodedData().length !== 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
611
-
612
-
613
- if (this.getEncodedData() && this.getEncodedData().length !== 0) {
614
- this.renderModels();
615
610
  }
616
611
 
612
+ if (this.encodeDataLength <= 0 && !this.forceRender) return this; // Tip: this.getEncodedData().length !== 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
613
+
614
+ this.renderModels();
617
615
  return this;
618
616
  }
619
617
  /**
@@ -628,24 +626,27 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
628
626
  while (1) {
629
627
  switch (_context.prev = _context.next) {
630
628
  case 0:
631
- if (!(this.getEncodedData() && this.getEncodedData().length !== 0)) {
632
- _context.next = 7;
629
+ if (!(this.encodeDataLength <= 0 && !this.forceRender)) {
630
+ _context.next = 2;
633
631
  break;
634
632
  }
635
633
 
634
+ return _context.abrupt("return");
635
+
636
+ case 2:
636
637
  if (!(this.multiPassRenderer && this.multiPassRenderer.getRenderFlag())) {
637
- _context.next = 6;
638
+ _context.next = 7;
638
639
  break;
639
640
  }
640
641
 
641
- _context.next = 4;
642
+ _context.next = 5;
642
643
  return this.multiPassRenderer.render();
643
644
 
644
- case 4:
645
- _context.next = 7;
645
+ case 5:
646
+ _context.next = 8;
646
647
  break;
647
648
 
648
- case 6:
649
+ case 7:
649
650
  if (this.multiPassRenderer) {
650
651
  // renderPass 触发的渲染
651
652
  this.renderModels();
@@ -653,7 +654,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
653
654
  this.renderModels();
654
655
  }
655
656
 
656
- case 7:
657
+ case 8:
657
658
  case "end":
658
659
  return _context.stop();
659
660
  }
@@ -799,11 +800,6 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
799
800
  }, {
800
801
  key: "hide",
801
802
  value: function hide() {
802
- if (this.type === 'CanvasLayer' && this.layerModel.clearCanvas) {
803
- // 对 canvasLayer 的 hide 操作做特殊处理
804
- this.layerModel.clearCanvas();
805
- }
806
-
807
803
  this.updateLayerConfig({
808
804
  visible: false
809
805
  });
@@ -959,7 +955,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
959
955
  }, {
960
956
  key: "destroy",
961
957
  value: function destroy() {
962
- var _this$layerModel2;
958
+ var _this$multiPassRender, _this$layerModel2;
963
959
 
964
960
  var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
965
961
 
@@ -969,25 +965,24 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
969
965
 
970
966
 
971
967
  this.layerChildren.map(function (child) {
972
- return child.destroy();
968
+ return child.destroy(false);
973
969
  });
974
970
  this.layerChildren = []; // remove mask list
975
971
 
976
972
  this.masks.map(function (mask) {
977
- return mask.destroy();
973
+ return mask.destroy(false);
978
974
  });
979
975
  this.masks = [];
980
976
  this.hooks.beforeDestroy.call(); // 清除sources事件
981
977
 
982
978
  this.layerSource.off('sourceUpdate', this.sourceEvent);
983
- this.multiPassRenderer.destroy(); // console.log(this.styleAttributeService.getAttributes())
984
- // 清除所有属性以及关联的 vao == 销毁所有 => model this.models.forEach((model) => model.destroy());
979
+ (_this$multiPassRender = this.multiPassRenderer) === null || _this$multiPassRender === void 0 ? void 0 : _this$multiPassRender.destroy(); // 清除所有属性以及关联的 vao == 销毁所有 => model this.models.forEach((model) => model.destroy());
985
980
 
986
981
  this.styleAttributeService.clearAllAttributes(); // 执行每个图层单独的 clearModels 方法 (清除一些额外的 texture、program、buffer 等)
987
982
 
988
- this.hooks.afterDestroy.call(); // TODO: 清除各个图层自定义的 models 资源
983
+ this.hooks.afterDestroy.call(); // Tip: 清除各个图层自定义的 models 资源
989
984
 
990
- (_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels();
985
+ (_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels(refresh);
991
986
  this.models = [];
992
987
  this.layerService.cleanRemove(this, refresh);
993
988
  this.emit('remove', {
@@ -1068,6 +1063,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1068
1063
  key: "setEncodedData",
1069
1064
  value: function setEncodedData(encodedData) {
1070
1065
  this.encodedData = encodedData;
1066
+ this.encodeDataLength = encodedData.length;
1071
1067
  }
1072
1068
  }, {
1073
1069
  key: "getEncodedData",
@@ -1161,45 +1157,47 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1161
1157
 
1162
1158
  var createModel = this.rendererService.createModel;
1163
1159
  return new Promise(function (resolve, reject) {
1164
- // filter supported worker & worker enabled layer
1165
- if (workerOptions && workerOptions.modelType in _l7Utils.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((0, _objectSpread2.default)({
1160
+ setTimeout(function () {
1161
+ // filter supported worker & worker enabled layer
1162
+ if (workerOptions && workerOptions.modelType in _l7Utils.WorkerSourceMap && workerEnabled) {
1163
+ _this9.styleAttributeService.createAttributesAndIndicesAscy(_this9.encodedData, segmentNumber, workerOptions).then(function (_ref7) {
1164
+ var attributes = _ref7.attributes,
1165
+ elements = _ref7.elements;
1166
+ var m = createModel((0, _objectSpread2.default)({
1167
+ attributes: attributes,
1168
+ uniforms: uniforms,
1169
+ fs: fs,
1170
+ vs: vs,
1171
+ elements: elements,
1172
+ blend: _blend.BlendTypes[_l7Core.BlendType.normal]
1173
+ }, rest));
1174
+ resolve(m);
1175
+ }).catch(function (err) {
1176
+ return reject(err);
1177
+ });
1178
+ } else {
1179
+ var _this9$styleAttribute = _this9.styleAttributeService.createAttributesAndIndices(_this9.encodedData, triangulation, segmentNumber),
1180
+ attributes = _this9$styleAttribute.attributes,
1181
+ elements = _this9$styleAttribute.elements,
1182
+ count = _this9$styleAttribute.count;
1183
+
1184
+ var modeloptions = (0, _objectSpread2.default)({
1170
1185
  attributes: attributes,
1171
1186
  uniforms: uniforms,
1172
1187
  fs: fs,
1173
1188
  vs: vs,
1174
1189
  elements: elements,
1175
1190
  blend: _blend.BlendTypes[_l7Core.BlendType.normal]
1176
- }, rest));
1191
+ }, rest);
1192
+
1193
+ if (count) {
1194
+ modeloptions.count = count;
1195
+ }
1196
+
1197
+ var m = createModel(modeloptions);
1177
1198
  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 = (0, _objectSpread2.default)({
1188
- attributes: attributes,
1189
- uniforms: uniforms,
1190
- fs: fs,
1191
- vs: vs,
1192
- elements: elements,
1193
- blend: _blend.BlendTypes[_l7Core.BlendType.normal]
1194
- }, rest);
1195
-
1196
- if (count) {
1197
- modeloptions.count = count;
1198
1199
  }
1199
-
1200
- var m = createModel(modeloptions);
1201
- resolve(m);
1202
- }
1200
+ });
1203
1201
  });
1204
1202
  }
1205
1203
  }, {
@@ -1243,6 +1241,9 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1243
1241
  }, {
1244
1242
  key: "needPick",
1245
1243
  value: function needPick(type) {
1244
+ // 地图图层的判断
1245
+ if (this.rawConfig.usage === 'basemap') return false;
1246
+
1246
1247
  var _this$getLayerConfig10 = this.getLayerConfig(),
1247
1248
  _this$getLayerConfig11 = _this$getLayerConfig10.enableHighlight,
1248
1249
  enableHighlight = _this$getLayerConfig11 === void 0 ? true : _this$getLayerConfig11,
@@ -1303,30 +1304,23 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1303
1304
  var _this10 = this;
1304
1305
 
1305
1306
  // TODO: this.getEncodedData().length > 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
1306
- if (this.getEncodedData() && this.getEncodedData().length > 0) {
1307
- var _this$layerModel4;
1308
-
1309
- if (this.layerModelNeedUpdate && this.layerModel) {
1310
- this.layerModel.buildModels(function (models) {
1311
- _this10.models = models;
1307
+ if (this.encodeDataLength <= 0 && !this.forceRender) return this;
1312
1308
 
1313
- _this10.hooks.beforeRender.call();
1314
-
1315
- _this10.layerModelNeedUpdate = false;
1316
- });
1317
- }
1309
+ if (this.layerModelNeedUpdate && this.layerModel) {
1310
+ this.layerModel.buildModels(function (models) {
1311
+ _this10.models = models;
1318
1312
 
1319
- if (this !== null && this !== void 0 && (_this$layerModel4 = this.layerModel) !== null && _this$layerModel4 !== void 0 && _this$layerModel4.renderUpdate) {
1320
- this.layerModel.renderUpdate();
1321
- }
1313
+ _this10.hooks.beforeRender.call();
1322
1314
 
1323
- this.models.forEach(function (model) {
1324
- model.draw({
1325
- uniforms: _this10.layerModel.getUninforms()
1326
- }, isPicking);
1315
+ _this10.layerModelNeedUpdate = false;
1327
1316
  });
1328
1317
  }
1329
1318
 
1319
+ this.models.forEach(function (model) {
1320
+ model.draw({
1321
+ uniforms: _this10.layerModel.getUninforms()
1322
+ }, isPicking);
1323
+ });
1330
1324
  return this;
1331
1325
  }
1332
1326
  }, {
@@ -1360,6 +1354,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1360
1354
  * 继承空方法
1361
1355
  * @param time
1362
1356
  */
1357
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1363
1358
 
1364
1359
  }, {
1365
1360
  key: "setEarthTime",
@@ -1384,10 +1379,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1384
1379
  }, {
1385
1380
  key: "reRender",
1386
1381
  value: function reRender() {
1387
- if (this.inited) {
1388
- this.layerService.updateLayerRenderList();
1389
- this.layerService.renderLayers();
1390
- }
1382
+ this.inited && this.layerService.reRender();
1391
1383
  }
1392
1384
  }, {
1393
1385
  key: "splitValuesAndCallbackInAttribute",
@@ -446,20 +446,24 @@ var BaseModel = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
446
446
  key: "needUpdate",
447
447
  value: function needUpdate() {
448
448
  return false;
449
- }
449
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
450
+
450
451
  }, {
451
452
  key: "buildModels",
452
453
  value: function buildModels(callbackModel) {
453
454
  throw new Error('Method not implemented.');
454
- }
455
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
456
+
455
457
  }, {
456
458
  key: "initModels",
457
459
  value: function initModels(callbackModel) {
458
460
  throw new Error('Method not implemented.');
459
- }
461
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
462
+
460
463
  }, {
461
464
  key: "clearModels",
462
465
  value: function clearModels() {
466
+ var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
463
467
  return;
464
468
  }
465
469
  }, {
@@ -18,6 +18,7 @@ exports.PointImageTriangulation = PointImageTriangulation;
18
18
  exports.PolygonExtrudeTriangulation = PolygonExtrudeTriangulation;
19
19
  exports.RasterImageTriangulation = RasterImageTriangulation;
20
20
  exports.SimpleLineTriangulation = SimpleLineTriangulation;
21
+ exports.TileSimpleLineTriangulation = TileSimpleLineTriangulation;
21
22
  exports.earthOuterTriangulation = earthOuterTriangulation;
22
23
  exports.earthTriangulation = earthTriangulation;
23
24
  exports.polygonTriangulation = polygonTriangulation;
@@ -177,6 +178,16 @@ function SimpleLineTriangulation(feature) {
177
178
  var coordinates = feature.coordinates;
178
179
  var pos = [];
179
180
 
181
+ if (!Array.isArray(coordinates[0])) {
182
+ return {
183
+ vertices: [],
184
+ indices: [],
185
+ normals: [],
186
+ size: 6,
187
+ count: 0
188
+ };
189
+ }
190
+
180
191
  var _getSimpleLineVertice = getSimpleLineVertices(coordinates),
181
192
  results = _getSimpleLineVertice.results,
182
193
  totalDistance = _getSimpleLineVertice.totalDistance;
@@ -193,6 +204,33 @@ function SimpleLineTriangulation(feature) {
193
204
  };
194
205
  }
195
206
 
207
+ function TileSimpleLineTriangulation(feature) {
208
+ var coordinates = feature.coordinates;
209
+ var pos = [];
210
+
211
+ if (!Array.isArray(coordinates[0])) {
212
+ return {
213
+ vertices: [],
214
+ indices: [],
215
+ size: 4,
216
+ count: 0
217
+ };
218
+ }
219
+
220
+ var _getTileSimpleLineVer = getTileSimpleLineVertices(coordinates),
221
+ results = _getTileSimpleLineVer.results;
222
+
223
+ results.map(function (point) {
224
+ pos.push(point[0], point[1], point[2], point[3]);
225
+ });
226
+ return {
227
+ vertices: pos,
228
+ indices: [],
229
+ size: 4,
230
+ count: results.length
231
+ };
232
+ }
233
+
196
234
  function lineSegmentDistance(b1, a1) {
197
235
  var dx = a1[0] - b1[0];
198
236
  var dy = a1[1] - b1[1];
@@ -204,7 +242,10 @@ function pushDis(point, n) {
204
242
  point.push(0);
205
243
  }
206
244
 
207
- point.push(n);
245
+ if (n !== undefined) {
246
+ point.push(n);
247
+ }
248
+
208
249
  return point;
209
250
  }
210
251
 
@@ -239,6 +280,29 @@ function getSimpleLineVertices(points) {
239
280
  }
240
281
  }
241
282
 
283
+ function getTileSimpleLineVertices(points) {
284
+ if (points.length < 2) {
285
+ return {
286
+ results: points
287
+ };
288
+ } else {
289
+ var results = [];
290
+ var point = pushDis(points[0]);
291
+ results.push(point);
292
+
293
+ for (var i = 1; i < points.length - 1; i++) {
294
+ var mulPoint = pushDis(points[i]);
295
+ results.push(mulPoint);
296
+ results.push(mulPoint);
297
+ }
298
+
299
+ results.push(pushDis(points[points.length - 1]));
300
+ return {
301
+ results: results
302
+ };
303
+ }
304
+ }
305
+
242
306
  function polygonTriangulation(feature) {
243
307
  var coordinates = feature.coordinates;
244
308
 
@@ -252,7 +316,7 @@ function polygonTriangulation(feature) {
252
316
  vertices: vertices,
253
317
  size: dimensions
254
318
  };
255
- } // TODO:构建几何图形(带有中心点和大小)
319
+ } // 构建几何图形(带有中心点和大小)
256
320
 
257
321
 
258
322
  function polygonTriangulationWithCenter(feature) {
@@ -56,6 +56,14 @@ var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
56
56
 
57
57
  _this = _super.call.apply(_super, [this].concat(args));
58
58
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'EarthLayer');
59
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "defaultSourceConfig", {
60
+ data: [],
61
+ options: {
62
+ parser: {
63
+ type: 'json'
64
+ }
65
+ }
66
+ });
59
67
  return _this;
60
68
  }
61
69
 
@@ -69,7 +77,9 @@ var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
69
77
  this.layerModel.initModels(function (models) {
70
78
  _this2.models = models;
71
79
 
72
- _this2.renderLayers();
80
+ _this2.emit('modelLoaded', null);
81
+
82
+ _this2.layerService.throttleRenderLayers();
73
83
  });
74
84
  }
75
85
  /**
@@ -98,7 +98,7 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
98
98
  this.sunY = 10;
99
99
  this.sunX = Math.cos(this.earthTime) * (this.sunRadius - this.sunY);
100
100
  this.sunZ = Math.sin(this.earthTime) * (this.sunRadius - this.sunY);
101
- this.layerService.renderLayers();
101
+ this.layerService.throttleRenderLayers();
102
102
  }
103
103
  }, {
104
104
  key: "initModels",
@@ -125,9 +125,7 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
125
125
  height: imageData[0].height
126
126
  });
127
127
 
128
- _this2.layerService.updateLayerRenderList();
129
-
130
- _this2.layerService.renderLayers();
128
+ _this2.layerService.reRender();
131
129
  });
132
130
  this.buildModels(callbackModel);
133
131
  }
@@ -10,7 +10,7 @@ void main() {
10
10
 
11
11
  // float intensity = pow(0.5 + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);
12
12
  float intensity = pow(v_offset + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);
13
- // TODO: 去除背面
13
+ // 去除背面
14
14
  if(intensity > 1.0) intensity = 0.0;
15
15
 
16
16
  gl_FragColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);
@@ -8,7 +8,7 @@ void main() {
8
8
 
9
9
 
10
10
  float intensity = - dot(normalize(vVertexNormal), normalize(u_CameraPosition));
11
- // TODO: 去除背面
11
+ // 去除背面
12
12
  if(intensity > 1.0) intensity = 0.0;
13
13
 
14
14
  gl_FragColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);
@@ -58,7 +58,9 @@ var HeatMapLayer = /*#__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 HeatMapLayer = /*#__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
  }, {
@@ -110,13 +110,13 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
110
110
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(callbackModel) {
111
111
  var _shapeAttr$scale;
112
112
 
113
- var _this$rendererService2, createFramebuffer, clear, getViewportSize, createTexture2D, useFramebuffer, shapeAttr, shapeType, _getViewportSize, width, height;
113
+ var _this$rendererService2, createFramebuffer, getViewportSize, createTexture2D, shapeAttr, shapeType, _getViewportSize, width, height;
114
114
 
115
115
  return _regenerator.default.wrap(function _callee$(_context) {
116
116
  while (1) {
117
117
  switch (_context.prev = _context.next) {
118
118
  case 0:
119
- _this$rendererService2 = this.rendererService, createFramebuffer = _this$rendererService2.createFramebuffer, clear = _this$rendererService2.clear, getViewportSize = _this$rendererService2.getViewportSize, createTexture2D = _this$rendererService2.createTexture2D, useFramebuffer = _this$rendererService2.useFramebuffer;
119
+ _this$rendererService2 = this.rendererService, createFramebuffer = _this$rendererService2.createFramebuffer, getViewportSize = _this$rendererService2.getViewportSize, createTexture2D = _this$rendererService2.createTexture2D;
120
120
  shapeAttr = this.styleAttributeService.getLayerStyleAttribute('shape');
121
121
  shapeType = (shapeAttr === null || shapeAttr === void 0 ? void 0 : (_shapeAttr$scale = shapeAttr.scale) === null || _shapeAttr$scale === void 0 ? void 0 : _shapeAttr$scale.field) || 'heatmap';
122
122
  this.shapeType = shapeType; // 生成热力图密度图
@@ -237,7 +237,8 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
237
237
  dstRGB: _l7Core.gl.ONE,
238
238
  dstAlpha: 1
239
239
  }
240
- }
240
+ },
241
+ pick: false
241
242
  });
242
243
 
243
244
  case 3:
@@ -283,6 +284,7 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
283
284
  createBuffer = _this$rendererService3.createBuffer,
284
285
  createModel = _this$rendererService3.createModel;
285
286
  return createModel({
287
+ pick: false,
286
288
  vs: vs,
287
289
  fs: fs,
288
290
  attributes: {
@@ -58,7 +58,9 @@ var ImageLayer = /*#__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 ImageLayer = /*#__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
  }, {
@@ -126,9 +126,7 @@ var ImageDataModel = /*#__PURE__*/function (_BaseModel) {
126
126
  height: img.height
127
127
  });
128
128
 
129
- _this.layerService.updateLayerRenderList();
130
-
131
- _this.layerService.renderLayers();
129
+ _this.layerService.reRender();
132
130
  };
133
131
  } else {
134
132
  source.data.images.then(function (imageData) {
@@ -138,9 +136,7 @@ var ImageDataModel = /*#__PURE__*/function (_BaseModel) {
138
136
  height: imageData[0].height
139
137
  });
140
138
 
141
- _this.layerService.updateLayerRenderList();
142
-
143
- _this.layerService.renderLayers();
139
+ _this.layerService.reRender();
144
140
  });
145
141
  }
146
142
 
@@ -161,7 +157,8 @@ var ImageDataModel = /*#__PURE__*/function (_BaseModel) {
161
157
  enable: false
162
158
  },
163
159
  blend: this.getBlend(),
164
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
160
+ stencil: (0, _l7Utils.getMask)(mask, maskInside),
161
+ pick: false
165
162
  }).then(function (model) {
166
163
  callbackModel([model]);
167
164
  }).catch(function (err) {