@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
@@ -12,6 +12,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
12
12
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
13
13
 
14
14
  import BaseTileLayer from "./tileLayer/baseTileLayer";
15
+ import { tileAllLoad } from "./utils";
15
16
  export var TMSTileLayer = /*#__PURE__*/function (_BaseTileLayer) {
16
17
  _inherits(TMSTileLayer, _BaseTileLayer);
17
18
 
@@ -83,18 +84,39 @@ export var TMSTileLayer = /*#__PURE__*/function (_BaseTileLayer) {
83
84
 
84
85
  var _layers = _this2.tileLayerManager.getChilds(tile.layerIDList);
85
86
 
86
- _this2.tileLayerManager.updateLayersConfig(_layers, 'visible', tile.isVisible);
87
+ _this2.updateTileVisible(tile, _layers);
87
88
 
88
89
  _this2.setPickState(_layers);
89
90
  }
90
91
  });
91
- this.parent.renderLayers();
92
92
 
93
93
  if (this.tilesetManager.isLoaded) {
94
94
  // 将事件抛出,图层上可以使用瓦片
95
95
  this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
96
96
  }
97
97
  }
98
+ }, {
99
+ key: "emitTileVisibleEvent",
100
+ value: function emitTileVisibleEvent(tile, callback) {
101
+ if (tile.isVisible) {
102
+ callback();
103
+ } else {
104
+ tileAllLoad(tile, function () {
105
+ callback();
106
+ });
107
+ }
108
+ }
109
+ }, {
110
+ key: "updateTileVisible",
111
+ value: function updateTileVisible(tile, layers) {
112
+ var _this3 = this;
113
+
114
+ this.emitTileVisibleEvent(tile, function () {
115
+ _this3.tileLayerManager.updateLayersConfig(layers, 'visible', tile.isVisible);
116
+
117
+ _this3.layerService.reRender();
118
+ });
119
+ }
98
120
  }]);
99
121
 
100
122
  return TMSTileLayer;
@@ -11,3 +11,7 @@ export declare function getContainerSize(container: HTMLCanvasElement | HTMLElem
11
11
  };
12
12
  export declare function readRasterValue(tile: Tile, mapService: IMapService, x: number, y: number): any;
13
13
  export declare function readPixel(x: number, y: number, rendererService: IRendererService): false | Uint8Array;
14
+ export declare function isTileLoaded(tile: Tile): boolean;
15
+ export declare function isTileChildLoaded(tile: Tile): boolean;
16
+ export declare function isTileParentLoaded(tile: Tile): boolean;
17
+ export declare function tileAllLoad(tile: Tile, callback: () => void): void;
package/es/tile/utils.js CHANGED
@@ -128,4 +128,34 @@ export function readPixel(x, y, rendererService) {
128
128
  data: new Uint8Array(1 * 1 * 4)
129
129
  });
130
130
  return pickedColors;
131
+ }
132
+ export function isTileLoaded(tile) {
133
+ return tile.layerIDList.length === tile.loadedLayers;
134
+ }
135
+ export function isTileChildLoaded(tile) {
136
+ var childs = tile.children;
137
+ return childs.filter(function (child) {
138
+ return isTileLoaded(child);
139
+ }).length === childs.length;
140
+ }
141
+ export function isTileParentLoaded(tile) {
142
+ var parent = tile.parent;
143
+
144
+ if (!parent) {
145
+ return true;
146
+ } else {
147
+ return isTileLoaded(parent);
148
+ }
149
+ }
150
+ export function tileAllLoad(tile, callback) {
151
+ var timer = window.setInterval(function () {
152
+ var tileLoaded = isTileLoaded(tile);
153
+ var tileChildLoaded = isTileChildLoaded(tile);
154
+ var tileParentLoaded = isTileParentLoaded(tile);
155
+
156
+ if (tileLoaded && tileChildLoaded && tileParentLoaded) {
157
+ callback();
158
+ window.clearInterval(timer);
159
+ }
160
+ }, 36);
131
161
  }
@@ -23,6 +23,9 @@ function registerStyleAttribute(fieldName, layer, field, values, updateOptions)
23
23
 
24
24
 
25
25
  function handleStyleDataMapping(configToUpdate, layer) {
26
+ // 瓦片图层不需要进行样式数据映射
27
+ if (layer.tileLayer || layer.isTileLayer) return;
28
+
26
29
  if (configToUpdate.opacity) {
27
30
  // 处理 style 中 opacity 属性的数据映射
28
31
  handleStyleFloat('opacity', layer, configToUpdate.opacity);
@@ -17,7 +17,7 @@ function adjustData2Amap2Coordinates(mappedData, mapService) {
17
17
  if (typeof mappedData[0].coordinates[0] === 'number') {
18
18
  // 单个的点数据
19
19
  // @ts-ignore
20
- mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
20
+ mappedData // 避免经纬度被重复计算导致坐标位置偏移
21
21
  .filter(function (d) {
22
22
  return !d.originCoordinates;
23
23
  }).map(function (d) {
@@ -31,7 +31,7 @@ function adjustData2Amap2Coordinates(mappedData, mapService) {
31
31
  } else {
32
32
  // 连续的线、面数据
33
33
  // @ts-ignore
34
- mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
34
+ mappedData // 避免经纬度被重复计算导致坐标位置偏移
35
35
  .filter(function (d) {
36
36
  return !d.originCoordinates;
37
37
  }).map(function (d) {
@@ -1,4 +1,4 @@
1
- // TODO: shapeUpdateList 存储一系列的 shape 类型
1
+ // shapeUpdateList 存储一系列的 shape 类型
2
2
  // 当这一系列的 shape 相互切换的时候需要重构 layer 的 model (顶点数据集)
3
3
  var shapeUpdateList = [// PointLayer
4
4
  ['circle', 'cylinder'], ['square', 'cylinder'], ['triangle', 'cylinder'], ['pentagon', 'cylinder'], ['hexagon', 'cylinder'], ['octogon', 'cylinder'], ['hexagram', 'cylinder'], ['rhombus', 'cylinder'], ['vesica', 'cylinder']];
@@ -11,7 +11,7 @@ export function updateShape(layer, lastShape, currentShape) {
11
11
 
12
12
  shapeUpdateList.map(function (shapes) {
13
13
  if (shapes.includes(lastShape) && shapes.includes(currentShape)) {
14
- // TODO: dataSourceNeedUpdate 借用数据更新时更新 layer model 的工作流
14
+ // dataSourceNeedUpdate 借用数据更新时更新 layer model 的工作流
15
15
  layer.dataState.dataSourceNeedUpdate = true;
16
16
  return;
17
17
  }
package/es/wind/index.js CHANGED
@@ -44,7 +44,9 @@ var WindLayer = /*#__PURE__*/function (_BaseLayer) {
44
44
  this.layerModel.initModels(function (models) {
45
45
  _this2.models = models;
46
46
 
47
- _this2.renderLayers();
47
+ _this2.emit('modelLoaded', null);
48
+
49
+ _this2.layerService.throttleRenderLayers();
48
50
  });
49
51
  }
50
52
  }, {
@@ -53,7 +55,9 @@ var WindLayer = /*#__PURE__*/function (_BaseLayer) {
53
55
  var _this3 = this;
54
56
 
55
57
  this.layerModel.buildModels(function (models) {
56
- return _this3.models = models;
58
+ _this3.models = models;
59
+
60
+ _this3.emit('modelLoaded', null);
57
61
  });
58
62
  }
59
63
  }, {
@@ -11,7 +11,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
11
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
12
 
13
13
  import { AttributeType, gl } from '@antv/l7-core';
14
- import { FrequencyController } from '@antv/l7-utils';
14
+ import { FrequencyController, getMask } from '@antv/l7-utils';
15
15
  import BaseModel from "../../core/BaseModel";
16
16
  import { RasterImageTriangulation } from "../../core/triangulation";
17
17
 
@@ -19,7 +19,7 @@ import { RasterImageTriangulation } from "../../core/triangulation";
19
19
  var WindFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nvarying vec2 v_texCoord;\nvoid main() {\n vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));\n gl_FragColor = color;\n gl_FragColor.a *= u_opacity;\n}\n";
20
20
 
21
21
  /* babel-plugin-inline-import '../shaders/wind_vert.glsl' */
22
- var WindVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
22
+ var WindVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n \n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
23
23
  import { Wind } from "./windRender";
24
24
  var defaultRampColors = {
25
25
  0.0: '#3288bd',
@@ -149,9 +149,7 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
149
149
  height: imageHeight
150
150
  });
151
151
 
152
- _this3.layerService.updateLayerRenderList();
153
-
154
- _this3.layerService.renderLayers();
152
+ _this3.layerService.reRender();
155
153
  });
156
154
  this.layer.buildLayerModel({
157
155
  moduleName: 'wind',
@@ -162,7 +160,9 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
162
160
  depth: {
163
161
  enable: false
164
162
  },
165
- blend: this.getBlend()
163
+ stencil: getMask(mask, maskInside),
164
+ blend: this.getBlend(),
165
+ pick: false
166
166
  }).then(function (model) {
167
167
  _this3.colorModel = model;
168
168
  callbackModel([model]);
@@ -225,7 +225,7 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
225
225
  type: gl.FLOAT
226
226
  },
227
227
  size: 2,
228
- update: function update(feature, featureIdx, vertex, attributeIdx) {
228
+ update: function update(feature, featureIdx, vertex) {
229
229
  return [vertex[3], vertex[4]];
230
230
  }
231
231
  }
@@ -291,7 +291,7 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
291
291
  var _this$wind$draw = this.wind.draw(),
292
292
  d = _this$wind$draw.d,
293
293
  w = _this$wind$draw.w,
294
- h = _this$wind$draw.h; // TODO: 恢复 L7 渲染流程中 gl 状态
294
+ h = _this$wind$draw.h; // 恢复 L7 渲染流程中 gl 状态
295
295
 
296
296
 
297
297
  this.rendererService.setBaseState();
@@ -8,7 +8,7 @@ varying vec2 v_texCoord;
8
8
  void main() {
9
9
  v_texCoord = a_Uv;
10
10
  vec4 project_pos = project_position(vec4(a_Position, 1.0));
11
- // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));
11
+
12
12
  if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
13
13
  gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));
14
14
  } else {
@@ -71,7 +71,9 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
71
71
  this.layerModel.initModels(function (models) {
72
72
  _this2.models = models;
73
73
 
74
- _this2.renderLayers();
74
+ _this2.emit('modelLoaded', null);
75
+
76
+ _this2.layerService.throttleRenderLayers();
75
77
  });
76
78
  }
77
79
  }, {
@@ -80,7 +82,9 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
80
82
  var _this3 = this;
81
83
 
82
84
  this.layerModel.buildModels(function (models) {
83
- return _this3.models = models;
85
+ _this3.models = models;
86
+
87
+ _this3.emit('modelLoaded', null);
84
88
  });
85
89
  }
86
90
  }, {
@@ -181,8 +181,7 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
181
181
  wrapS: _l7Core.gl.CLAMP_TO_EDGE,
182
182
  wrapT: _l7Core.gl.CLAMP_TO_EDGE
183
183
  });
184
- this.layerService.updateLayerRenderList();
185
- this.layerService.renderLayers();
184
+ this.layerService.reRender();
186
185
  }
187
186
  }
188
187
  }, {
@@ -281,9 +281,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
281
281
  wrapT: _l7Core.gl.CLAMP_TO_EDGE
282
282
  });
283
283
 
284
- _this3.layerService.updateLayerRenderList();
285
-
286
- _this3.layerService.renderLayers();
284
+ _this3.layerService.reRender();
287
285
  };
288
286
 
289
287
  img.src = mapTexture;
@@ -344,7 +342,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
344
342
  };
345
343
  });
346
344
  this.layer.updateModelData(modelData);
347
- this.layerService.renderLayers();
345
+ this.layerService.throttleRenderLayers();
348
346
  }
349
347
  /**
350
348
  * load terrain texture & offset attribute z
@@ -104,7 +104,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
104
104
  m.updateAttributes(attributes);
105
105
  });
106
106
 
107
- _this.layer.renderLayers();
107
+ _this.layerService.throttleRenderLayers();
108
108
 
109
109
  _this.timer = requestAnimationFrame(_this.updateModel);
110
110
  });
@@ -280,9 +280,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
280
280
  wrapT: _l7Core.gl.CLAMP_TO_EDGE
281
281
  });
282
282
 
283
- _this4.layerService.updateLayerRenderList();
284
-
285
- _this4.layerService.renderLayers();
283
+ _this4.layerService.reRender();
286
284
  };
287
285
 
288
286
  img.src = mapTexture;
@@ -45,6 +45,7 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
45
45
 
46
46
  _this = _super.call.apply(_super, [this].concat(args));
47
47
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'CanvasLayer');
48
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "forceRender", true);
48
49
  return _this;
49
50
  }
50
51
 
@@ -58,7 +59,9 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
58
59
  this.layerModel.initModels(function (models) {
59
60
  _this2.models = models;
60
61
 
61
- _this2.renderLayers();
62
+ _this2.emit('modelLoaded', null);
63
+
64
+ _this2.layerService.throttleRenderLayers();
62
65
  });
63
66
  }
64
67
  }, {
@@ -67,8 +70,40 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
67
70
  var _this3 = this;
68
71
 
69
72
  this.layerModel.buildModels(function (models) {
70
- return _this3.models = models;
73
+ _this3.models = models;
74
+
75
+ _this3.emit('modelLoaded', null);
76
+ });
77
+ }
78
+ }, {
79
+ key: "hide",
80
+ value: function hide() {
81
+ var _this$layerModel;
82
+
83
+ // 清除画布
84
+ this.layerModel.clearCanvas && ((_this$layerModel = this.layerModel) === null || _this$layerModel === void 0 ? void 0 : _this$layerModel.clearCanvas());
85
+ this.updateLayerConfig({
86
+ visible: false
87
+ });
88
+ this.reRender();
89
+ return this;
90
+ }
91
+ }, {
92
+ key: "renderModels",
93
+ value: function renderModels() {
94
+ var _this$layerModel2,
95
+ _this4 = this;
96
+
97
+ if (this !== null && this !== void 0 && (_this$layerModel2 = this.layerModel) !== null && _this$layerModel2 !== void 0 && _this$layerModel2.renderUpdate) {
98
+ this.layerModel.renderUpdate();
99
+ }
100
+
101
+ this.models.forEach(function (model) {
102
+ model.draw({
103
+ uniforms: _this4.layerModel.getUninforms()
104
+ }, false);
71
105
  });
106
+ return this;
72
107
  }
73
108
  }, {
74
109
  key: "getConfigSchema",
@@ -57,7 +57,9 @@ var CityBuildingLayer = /*#__PURE__*/function (_BaseLayer) {
57
57
  this.layerModel.initModels(function (models) {
58
58
  _this2.models = models;
59
59
 
60
- _this2.renderLayers();
60
+ _this2.emit('modelLoaded', null);
61
+
62
+ _this2.layerService.throttleRenderLayers();
61
63
  });
62
64
  }
63
65
  }, {
@@ -66,7 +68,9 @@ var CityBuildingLayer = /*#__PURE__*/function (_BaseLayer) {
66
68
  var _this3 = this;
67
69
 
68
70
  this.layerModel.buildModels(function (models) {
69
- return _this3.models = models;
71
+ _this3.models = models;
72
+
73
+ _this3.emit('modelLoaded', null);
70
74
  });
71
75
  }
72
76
  }, {
@@ -170,7 +170,7 @@ var CityBuildModel = /*#__PURE__*/function (_BaseModel) {
170
170
  type: _l7Core.gl.FLOAT
171
171
  },
172
172
  size: 1,
173
- update: function update(feature, featureIdx, vertex, attributeIdx) {
173
+ update: function update(feature) {
174
174
  var _feature$size = feature.size,
175
175
  size = _feature$size === void 0 ? 10 : _feature$size;
176
176
  return Array.isArray(size) ? [size[0]] : [size];
@@ -189,8 +189,7 @@ var CityBuildModel = /*#__PURE__*/function (_BaseModel) {
189
189
  type: _l7Core.gl.FLOAT
190
190
  },
191
191
  size: 2,
192
- update: function update(feature, featureIdx, vertex, attributeIdx) {
193
- var size = feature.size;
192
+ update: function update(feature, featureIdx, vertex) {
194
193
  return [vertex[3], vertex[4]];
195
194
  }
196
195
  }
@@ -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;
@@ -160,9 +160,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
160
160
 
161
161
  if (layerConfig && layerConfig.autoFit) {
162
162
  _this.fitBounds(layerConfig.fitBoundsOptions);
163
- } // 对外暴露事件 迁移到 DataMappingPlugin generateMapping,保证在重新重新映射后触发
164
- // this.emit('dataUpdate');
165
-
163
+ }
166
164
 
167
165
  _this.reRender();
168
166
  });
@@ -426,15 +424,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
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 = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
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
  (0, _updateShape.updateShape)(this, lastShape, currentShape);
@@ -613,7 +603,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
613
603
  }, {
614
604
  key: "render",
615
605
  value: function render() {
616
- if (this.tileLayer !== undefined) {
606
+ if (this.tileLayer) {
617
607
  // 瓦片图层执行单独的 render 渲染队列
618
608
  this.tileLayer.render();
619
609
  return this;
@@ -810,11 +800,6 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
810
800
  }, {
811
801
  key: "hide",
812
802
  value: function hide() {
813
- if (this.type === 'CanvasLayer' && this.layerModel.clearCanvas) {
814
- // 对 canvasLayer 的 hide 操作做特殊处理
815
- this.layerModel.clearCanvas();
816
- }
817
-
818
803
  this.updateLayerConfig({
819
804
  visible: false
820
805
  });
@@ -970,7 +955,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
970
955
  }, {
971
956
  key: "destroy",
972
957
  value: function destroy() {
973
- var _this$layerModel2;
958
+ var _this$multiPassRender, _this$layerModel2;
974
959
 
975
960
  var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
976
961
 
@@ -980,25 +965,24 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
980
965
 
981
966
 
982
967
  this.layerChildren.map(function (child) {
983
- return child.destroy();
968
+ return child.destroy(false);
984
969
  });
985
970
  this.layerChildren = []; // remove mask list
986
971
 
987
972
  this.masks.map(function (mask) {
988
- return mask.destroy();
973
+ return mask.destroy(false);
989
974
  });
990
975
  this.masks = [];
991
976
  this.hooks.beforeDestroy.call(); // 清除sources事件
992
977
 
993
978
  this.layerSource.off('sourceUpdate', this.sourceEvent);
994
- this.multiPassRenderer.destroy(); // console.log(this.styleAttributeService.getAttributes())
995
- // 清除所有属性以及关联的 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());
996
980
 
997
981
  this.styleAttributeService.clearAllAttributes(); // 执行每个图层单独的 clearModels 方法 (清除一些额外的 texture、program、buffer 等)
998
982
 
999
- this.hooks.afterDestroy.call(); // TODO: 清除各个图层自定义的 models 资源
983
+ this.hooks.afterDestroy.call(); // Tip: 清除各个图层自定义的 models 资源
1000
984
 
1001
- (_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);
1002
986
  this.models = [];
1003
987
  this.layerService.cleanRemove(this, refresh);
1004
988
  this.emit('remove', {
@@ -1173,45 +1157,47 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1173
1157
 
1174
1158
  var createModel = this.rendererService.createModel;
1175
1159
  return new Promise(function (resolve, reject) {
1176
- // filter supported worker & worker enabled layer
1177
- if (workerOptions && workerOptions.modelType in _l7Utils.WorkerSourceMap && workerEnabled) {
1178
- _this9.styleAttributeService.createAttributesAndIndicesAscy(_this9.encodedData, segmentNumber, workerOptions).then(function (_ref7) {
1179
- var attributes = _ref7.attributes,
1180
- elements = _ref7.elements;
1181
- 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)({
1182
1185
  attributes: attributes,
1183
1186
  uniforms: uniforms,
1184
1187
  fs: fs,
1185
1188
  vs: vs,
1186
1189
  elements: elements,
1187
1190
  blend: _blend.BlendTypes[_l7Core.BlendType.normal]
1188
- }, rest));
1191
+ }, rest);
1192
+
1193
+ if (count) {
1194
+ modeloptions.count = count;
1195
+ }
1196
+
1197
+ var m = createModel(modeloptions);
1189
1198
  resolve(m);
1190
- }).catch(function (err) {
1191
- return reject(err);
1192
- });
1193
- } else {
1194
- var _this9$styleAttribute = _this9.styleAttributeService.createAttributesAndIndices(_this9.encodedData, triangulation, segmentNumber),
1195
- attributes = _this9$styleAttribute.attributes,
1196
- elements = _this9$styleAttribute.elements,
1197
- count = _this9$styleAttribute.count;
1198
-
1199
- var modeloptions = (0, _objectSpread2.default)({
1200
- attributes: attributes,
1201
- uniforms: uniforms,
1202
- fs: fs,
1203
- vs: vs,
1204
- elements: elements,
1205
- blend: _blend.BlendTypes[_l7Core.BlendType.normal]
1206
- }, rest);
1207
-
1208
- if (count) {
1209
- modeloptions.count = count;
1210
1199
  }
1211
-
1212
- var m = createModel(modeloptions);
1213
- resolve(m);
1214
- }
1200
+ });
1215
1201
  });
1216
1202
  }
1217
1203
  }, {
@@ -1255,6 +1241,9 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1255
1241
  }, {
1256
1242
  key: "needPick",
1257
1243
  value: function needPick(type) {
1244
+ // 地图图层的判断
1245
+ if (this.rawConfig.usage === 'basemap') return false;
1246
+
1258
1247
  var _this$getLayerConfig10 = this.getLayerConfig(),
1259
1248
  _this$getLayerConfig11 = _this$getLayerConfig10.enableHighlight,
1260
1249
  enableHighlight = _this$getLayerConfig11 === void 0 ? true : _this$getLayerConfig11,
@@ -1312,8 +1301,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1312
1301
  }, {
1313
1302
  key: "renderModels",
1314
1303
  value: function renderModels(isPicking) {
1315
- var _this10 = this,
1316
- _this$layerModel4;
1304
+ var _this10 = this;
1317
1305
 
1318
1306
  // TODO: this.getEncodedData().length > 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
1319
1307
  if (this.encodeDataLength <= 0 && !this.forceRender) return this;
@@ -1328,10 +1316,6 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1328
1316
  });
1329
1317
  }
1330
1318
 
1331
- if (this !== null && this !== void 0 && (_this$layerModel4 = this.layerModel) !== null && _this$layerModel4 !== void 0 && _this$layerModel4.renderUpdate) {
1332
- this.layerModel.renderUpdate();
1333
- }
1334
-
1335
1319
  this.models.forEach(function (model) {
1336
1320
  model.draw({
1337
1321
  uniforms: _this10.layerModel.getUninforms()
@@ -1370,6 +1354,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1370
1354
  * 继承空方法
1371
1355
  * @param time
1372
1356
  */
1357
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1373
1358
 
1374
1359
  }, {
1375
1360
  key: "setEarthTime",
@@ -1394,10 +1379,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1394
1379
  }, {
1395
1380
  key: "reRender",
1396
1381
  value: function reRender() {
1397
- if (this.inited) {
1398
- this.layerService.updateLayerRenderList();
1399
- this.layerService.renderLayers();
1400
- }
1382
+ this.inited && this.layerService.reRender();
1401
1383
  }
1402
1384
  }, {
1403
1385
  key: "splitValuesAndCallbackInAttribute",