@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
@@ -21,6 +21,8 @@ var _l7Utils = require("@antv/l7-utils");
21
21
 
22
22
  var _tileLayerManager = require("../manager/tileLayerManager");
23
23
 
24
+ var _lodash = require("lodash");
25
+
24
26
  var BaseTileLayer = /*#__PURE__*/function () {
25
27
  function BaseTileLayer(_ref) {
26
28
  var _parentSource$data;
@@ -38,18 +40,17 @@ var BaseTileLayer = /*#__PURE__*/function () {
38
40
  select: null,
39
41
  active: null
40
42
  });
43
+ (0, _defineProperty2.default)(this, "viewchange", (0, _lodash.debounce)(this.mapchange, 200));
41
44
  var parentSource = parent.getSource();
42
45
 
43
46
  var _ref2 = (parentSource === null || parentSource === void 0 ? void 0 : (_parentSource$data = parentSource.data) === null || _parentSource$data === void 0 ? void 0 : _parentSource$data.tilesetOptions) || {},
44
- sourceLayer = _ref2.sourceLayer,
45
- coords = _ref2.coords,
46
- featureId = _ref2.featureId;
47
+ sourceLayer = _ref2.sourceLayer;
47
48
 
48
49
  this.sourceLayer = sourceLayer;
49
50
  this.parent = parent;
50
51
  this.mapService = mapService;
51
52
  this.layerService = layerService;
52
- this.tileLayerManager = new _tileLayerManager.TileLayerManager(parent, mapService, rendererService, pickingService, layerService, transforms);
53
+ this.tileLayerManager = new _tileLayerManager.TileLayerManager(parent, mapService, rendererService, pickingService, transforms);
53
54
  this.initTileSetManager();
54
55
  this.bindSubLayerEvent();
55
56
  this.bindSubLayerPick();
@@ -126,35 +127,11 @@ var BaseTileLayer = /*#__PURE__*/function () {
126
127
  }, {
127
128
  key: "tileUpdate",
128
129
  value: function tileUpdate() {
129
- var _this2 = this;
130
-
131
130
  // Base Function
132
131
  if (!this.tilesetManager) {
133
132
  return;
134
133
  }
135
134
 
136
- this.tilesetManager.tiles.filter(function (tile) {
137
- return tile.isLoaded;
138
- }).map(function (tile) {
139
- if (tile.layerIDList.length === 0) {
140
- var _this2$tileLayerManag = _this2.tileLayerManager.createTile(tile),
141
- layers = _this2$tileLayerManag.layers,
142
- layerIDList = _this2$tileLayerManag.layerIDList;
143
-
144
- tile.layerIDList = layerIDList;
145
-
146
- _this2.tileLayerManager.addChilds(layers);
147
- } else {
148
- if (!tile.isVisibleChange) {
149
- return;
150
- }
151
-
152
- var _layers = _this2.tileLayerManager.getChilds(tile.layerIDList);
153
-
154
- _this2.tileLayerManager.updateLayersConfig(_layers, 'visible', tile.isVisible);
155
- }
156
- });
157
-
158
135
  if (this.tilesetManager.isLoaded) {
159
136
  // 将事件抛出,图层上可以使用瓦片
160
137
  this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
@@ -163,12 +140,12 @@ var BaseTileLayer = /*#__PURE__*/function () {
163
140
  }, {
164
141
  key: "setPickState",
165
142
  value: function setPickState(layers) {
166
- var _this3 = this;
143
+ var _this2 = this;
167
144
 
168
145
  if (this.pickColors.select) {
169
146
  var selectedId = (0, _l7Utils.decodePickingColor)(this.pickColors.select);
170
147
  layers.map(function (layer) {
171
- _this3.selectFeature(layer, _this3.pickColors.select);
148
+ _this2.selectFeature(layer, _this2.pickColors.select);
172
149
 
173
150
  layer.setCurrentSelectedId(selectedId);
174
151
  });
@@ -180,7 +157,7 @@ var BaseTileLayer = /*#__PURE__*/function () {
180
157
  layers.filter(function (layer) {
181
158
  return layer.inited && layer.isVisible();
182
159
  }).map(function (layer) {
183
- layer.hooks.beforeHighlight.call(_this3.pickColors.active);
160
+ layer.hooks.beforeHighlight.call(_this2.pickColors.active);
184
161
  layer.setCurrentPickId(_selectedId);
185
162
  });
186
163
  }
@@ -188,7 +165,7 @@ var BaseTileLayer = /*#__PURE__*/function () {
188
165
  }, {
189
166
  key: "bindSubLayerPick",
190
167
  value: function bindSubLayerPick() {
191
- var _this4 = this;
168
+ var _this3 = this;
192
169
 
193
170
  this.tileLayerManager.tilePickManager.on('pick', function (e) {
194
171
  // @ts-ignore
@@ -198,19 +175,19 @@ var BaseTileLayer = /*#__PURE__*/function () {
198
175
  b = _e$pickedColors[2];
199
176
 
200
177
  if (e.type === 'click') {
201
- var restLayers = _this4.children.filter(function (child) {
178
+ var restLayers = _this3.children.filter(function (child) {
202
179
  return child.inited && child.isVisible() && child.isVector;
203
180
  }).filter(function (child) {
204
181
  return child !== e.layer;
205
182
  });
206
183
 
207
- _this4.setSelect(restLayers, [r, g, b]);
184
+ _this3.setSelect(restLayers, [r, g, b]);
208
185
  } else {
209
- _this4.setHighlight([r, g, b]);
186
+ _this3.setHighlight([r, g, b]);
210
187
  }
211
188
  });
212
189
  this.tileLayerManager.tilePickManager.on('unpick', function () {
213
- _this4.pickColors.active = null;
190
+ _this3.pickColors.active = null;
214
191
  });
215
192
  }
216
193
  }, {
@@ -233,21 +210,21 @@ var BaseTileLayer = /*#__PURE__*/function () {
233
210
  }, {
234
211
  key: "setSelect",
235
212
  value: function setSelect(layers, pickedColors) {
236
- var _this5 = this;
213
+ var _this4 = this;
237
214
 
238
215
  var selectedId = (0, _l7Utils.decodePickingColor)(pickedColors);
239
216
  layers.map(function (layer) {
240
217
  if (layer.getCurrentSelectedId() === null || selectedId !== layer.getCurrentSelectedId()) {
241
- _this5.selectFeature(layer, pickedColors);
218
+ _this4.selectFeature(layer, pickedColors);
242
219
 
243
220
  layer.setCurrentSelectedId(selectedId);
244
- _this5.pickColors.select = pickedColors;
221
+ _this4.pickColors.select = pickedColors;
245
222
  } else {
246
- _this5.selectFeature(layer, new Uint8Array([0, 0, 0, 0])); // toggle select
223
+ _this4.selectFeature(layer, new Uint8Array([0, 0, 0, 0])); // toggle select
247
224
 
248
225
 
249
226
  layer.setCurrentSelectedId(null);
250
- _this5.pickColors.select = null;
227
+ _this4.pickColors.select = null;
251
228
  }
252
229
  }); // unselect normal layer
253
230
 
@@ -257,7 +234,7 @@ var BaseTileLayer = /*#__PURE__*/function () {
257
234
  }).filter(function (layer) {
258
235
  return layer.getCurrentSelectedId() !== null;
259
236
  }).map(function (layer) {
260
- _this5.selectFeature(layer, new Uint8Array([0, 0, 0, 0]));
237
+ _this4.selectFeature(layer, new Uint8Array([0, 0, 0, 0]));
261
238
 
262
239
  layer.setCurrentSelectedId(null);
263
240
  });
@@ -276,7 +253,7 @@ var BaseTileLayer = /*#__PURE__*/function () {
276
253
  }, {
277
254
  key: "bindSubLayerEvent",
278
255
  value: function bindSubLayerEvent() {
279
- var _this6 = this;
256
+ var _this5 = this;
280
257
 
281
258
  /**
282
259
  * layer.on('click', (ev) => {}); // 鼠标左键点击图层事件
@@ -296,41 +273,41 @@ var BaseTileLayer = /*#__PURE__*/function () {
296
273
  * layer.on('unpick', (ev) => {}); // 图层外的操作的所有事件
297
274
  */
298
275
  this.parent.on('subLayerClick', function (e) {
299
- _this6.parent.emit('click', (0, _objectSpread2.default)({}, e));
276
+ _this5.parent.emit('click', (0, _objectSpread2.default)({}, e));
300
277
  });
301
278
  this.parent.on('subLayerMouseMove', function (e) {
302
- return _this6.parent.emit('mousemove', (0, _objectSpread2.default)({}, e));
279
+ return _this5.parent.emit('mousemove', (0, _objectSpread2.default)({}, e));
303
280
  });
304
281
  this.parent.on('subLayerMouseUp', function (e) {
305
- return _this6.parent.emit('mouseup', (0, _objectSpread2.default)({}, e));
282
+ return _this5.parent.emit('mouseup', (0, _objectSpread2.default)({}, e));
306
283
  });
307
284
  this.parent.on('subLayerMouseEnter', function (e) {
308
- return _this6.parent.emit('mouseenter', (0, _objectSpread2.default)({}, e));
285
+ return _this5.parent.emit('mouseenter', (0, _objectSpread2.default)({}, e));
309
286
  });
310
287
  this.parent.on('subLayerMouseOut', function (e) {
311
- return _this6.parent.emit('mouseout', (0, _objectSpread2.default)({}, e));
288
+ return _this5.parent.emit('mouseout', (0, _objectSpread2.default)({}, e));
312
289
  });
313
290
  this.parent.on('subLayerMouseDown', function (e) {
314
- return _this6.parent.emit('mousedown', (0, _objectSpread2.default)({}, e));
291
+ return _this5.parent.emit('mousedown', (0, _objectSpread2.default)({}, e));
315
292
  });
316
293
  this.parent.on('subLayerContextmenu', function (e) {
317
- return _this6.parent.emit('contextmenu', (0, _objectSpread2.default)({}, e));
294
+ return _this5.parent.emit('contextmenu', (0, _objectSpread2.default)({}, e));
318
295
  }); // vector layer 图层外事件
319
296
 
320
297
  this.parent.on('subLayerUnClick', function (e) {
321
- return _this6.parent.emit('unclick', (0, _objectSpread2.default)({}, e));
298
+ return _this5.parent.emit('unclick', (0, _objectSpread2.default)({}, e));
322
299
  });
323
300
  this.parent.on('subLayerUnMouseMove', function (e) {
324
- return _this6.parent.emit('unmousemove', (0, _objectSpread2.default)({}, e));
301
+ return _this5.parent.emit('unmousemove', (0, _objectSpread2.default)({}, e));
325
302
  });
326
303
  this.parent.on('subLayerUnMouseUp', function (e) {
327
- return _this6.parent.emit('unmouseup', (0, _objectSpread2.default)({}, e));
304
+ return _this5.parent.emit('unmouseup', (0, _objectSpread2.default)({}, e));
328
305
  });
329
306
  this.parent.on('subLayerUnMouseDown', function (e) {
330
- return _this6.parent.emit('unmousedown', (0, _objectSpread2.default)({}, e));
307
+ return _this5.parent.emit('unmousedown', (0, _objectSpread2.default)({}, e));
331
308
  });
332
309
  this.parent.on('subLayerUnContextmenu', function (e) {
333
- return _this6.parent.emit('uncontextmenu', (0, _objectSpread2.default)({}, e));
310
+ return _this5.parent.emit('uncontextmenu', (0, _objectSpread2.default)({}, e));
334
311
  });
335
312
  }
336
313
  }, {
@@ -369,12 +346,12 @@ var BaseTileLayer = /*#__PURE__*/function () {
369
346
  this.parent.updateLayerConfig({
370
347
  visible: false
371
348
  });
372
- this.layerService.updateLayerRenderList();
349
+ this.layerService.reRender();
373
350
  } else if (zoom >= 3 && !visible) {
374
351
  this.parent.updateLayerConfig({
375
352
  visible: true
376
353
  });
377
- this.layerService.updateLayerRenderList();
354
+ this.layerService.reRender();
378
355
  }
379
356
  }
380
357
 
@@ -386,49 +363,43 @@ var BaseTileLayer = /*#__PURE__*/function () {
386
363
  zoom: zoom,
387
364
  latLonBounds: latLonBounds
388
365
  };
389
-
390
- if (this.timer) {
391
- clearTimeout(this.timer);
392
- this.timer = null;
393
- } // this.timer = setTimeout(() => {
394
-
395
-
396
- (_this$tilesetManager2 = this.tilesetManager) === null || _this$tilesetManager2 === void 0 ? void 0 : _this$tilesetManager2.update(zoom, latLonBounds); // }, 250);
366
+ (_this$tilesetManager2 = this.tilesetManager) === null || _this$tilesetManager2 === void 0 ? void 0 : _this$tilesetManager2.update(zoom, latLonBounds);
397
367
  }
398
368
  }, {
399
369
  key: "bindTilesetEvent",
400
370
  value: function bindTilesetEvent() {
401
- var _this7 = this;
371
+ var _this6 = this;
402
372
 
403
373
  if (!this.tilesetManager) {
404
374
  return;
405
375
  } // 瓦片数据加载成功
406
376
 
407
377
 
408
- this.tilesetManager.on('tile-loaded', function (tile) {// todo: 将事件抛出,图层上可以监听使用
378
+ this.tilesetManager.on('tile-loaded', function (tile) {// 将事件抛出,图层上可以监听使用
409
379
  }); // 瓦片数据从缓存删除或被执行重新加载
410
380
 
411
381
  this.tilesetManager.on('tile-unload', function (tile) {
412
- // todo: 将事件抛出,图层上可以监听使用
413
- _this7.tileUnLoad(tile);
382
+ // 将事件抛出,图层上可以监听使用
383
+ _this6.tileUnLoad(tile);
414
384
  }); // 瓦片数据加载失败
415
385
 
416
386
  this.tilesetManager.on('tile-error', function (error, tile) {
417
- // todo: 将事件抛出,图层上可以监听使用
418
- _this7.tileError(error);
387
+ // 将事件抛出,图层上可以监听使用
388
+ _this6.tileError(error);
419
389
  }); // 瓦片显隐状态更新
420
390
 
421
391
  this.tilesetManager.on('tile-update', function () {
422
- _this7.tileUpdate();
392
+ _this6.tileUpdate();
423
393
  }); // 地图视野发生改变
424
394
 
425
395
  this.mapService.on('zoomend', function () {
426
- return _this7.mapchange();
396
+ return _this6.viewchange();
427
397
  });
428
398
  this.mapService.on('moveend', function () {
429
- return _this7.mapchange();
399
+ return _this6.viewchange();
430
400
  });
431
- }
401
+ } // 防抖操作
402
+
432
403
  }, {
433
404
  key: "getCurrentView",
434
405
  value: function getCurrentView() {
@@ -49,7 +49,8 @@ var TileDebugLayer = /*#__PURE__*/function (_BaseLayer) {
49
49
  data: [],
50
50
  options: {
51
51
  parser: {
52
- type: 'testTile'
52
+ type: 'testTile',
53
+ cancelExtent: true
53
54
  }
54
55
  }
55
56
  });
@@ -65,7 +66,7 @@ var TileDebugLayer = /*#__PURE__*/function (_BaseLayer) {
65
66
  this.layerModel.initModels(function (models) {
66
67
  _this2.models = models;
67
68
 
68
- _this2.renderLayers();
69
+ _this2.emit('modelLoaded', null);
69
70
  });
70
71
  }
71
72
  }]);
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TMSBaseMapTileLayer = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
26
+ var _baseMapTileLayer = _interopRequireDefault(require("./tileLayer/baseMapTileLayer"));
27
+
28
+ var _utils = require("./utils");
29
+
30
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
31
+
32
+ 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; } }
33
+
34
+ var TMSBaseMapTileLayer = /*#__PURE__*/function (_BaseTileLayer) {
35
+ (0, _inherits2.default)(TMSBaseMapTileLayer, _BaseTileLayer);
36
+
37
+ var _super = _createSuper(TMSBaseMapTileLayer);
38
+
39
+ function TMSBaseMapTileLayer() {
40
+ var _this;
41
+
42
+ (0, _classCallCheck2.default)(this, TMSBaseMapTileLayer);
43
+
44
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
45
+ args[_key] = arguments[_key];
46
+ }
47
+
48
+ _this = _super.call.apply(_super, [this].concat(args));
49
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'BaseMapTMS');
50
+ return _this;
51
+ }
52
+
53
+ (0, _createClass2.default)(TMSBaseMapTileLayer, [{
54
+ key: "tileUnLoad",
55
+ value: function tileUnLoad(tile) {
56
+ this.tileLayerManager.removeChilds(tile.layerIDList, false);
57
+ }
58
+ }, {
59
+ key: "tileUpdate",
60
+ value: function tileUpdate() {
61
+ var _this2 = this;
62
+
63
+ if (!this.tilesetManager) {
64
+ return;
65
+ }
66
+
67
+ this.tilesetManager.tiles.filter(function (tile) {
68
+ return tile.isLoaded;
69
+ }).map(function (tile) {
70
+ var _tile$data;
71
+
72
+ if ((_tile$data = tile.data) !== null && _tile$data !== void 0 && _tile$data.layers && _this2.sourceLayer) {
73
+ // vector
74
+ var vectorTileLayer = tile.data.layers[_this2.sourceLayer];
75
+ var features = vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.features;
76
+
77
+ if (!(Array.isArray(features) && features.length > 0)) {
78
+ return;
79
+ }
80
+ }
81
+
82
+ if (!tile.parentLayerIDList.includes(_this2.parent.id)) {
83
+ var _tile$layerIDList;
84
+
85
+ var _this2$tileLayerManag = _this2.tileLayerManager.createTile(tile),
86
+ layers = _this2$tileLayerManag.layers,
87
+ layerIDList = _this2$tileLayerManag.layerIDList;
88
+
89
+ tile.parentLayerIDList.push(_this2.parent.id);
90
+
91
+ (_tile$layerIDList = tile.layerIDList).push.apply(_tile$layerIDList, (0, _toConsumableArray2.default)(layerIDList));
92
+
93
+ _this2.tileLayerManager.addChilds(layers);
94
+ } else {
95
+ if (!tile.isVisibleChange) {
96
+ return;
97
+ }
98
+
99
+ var _layers = _this2.tileLayerManager.getChilds(tile.layerIDList);
100
+
101
+ _this2.updateTileVisible(tile, _layers);
102
+ }
103
+ });
104
+
105
+ if (this.tilesetManager.isLoaded) {
106
+ // 将事件抛出,图层上可以使用瓦片
107
+ this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
108
+ }
109
+ }
110
+ }, {
111
+ key: "emitTileVisibleEvent",
112
+ value: function emitTileVisibleEvent(tile, callback) {
113
+ if (tile.isVisible) {
114
+ callback();
115
+ } else {
116
+ (0, _utils.tileAllLoad)(tile, function () {
117
+ callback();
118
+ });
119
+ }
120
+ }
121
+ }, {
122
+ key: "updateTileVisible",
123
+ value: function updateTileVisible(tile, layers) {
124
+ var _this3 = this;
125
+
126
+ this.emitTileVisibleEvent(tile, function () {
127
+ _this3.tileLayerManager.updateLayersConfig(layers, 'visible', tile.isVisible);
128
+
129
+ _this3.layerService.reRender();
130
+ });
131
+ }
132
+ }]);
133
+ return TMSBaseMapTileLayer;
134
+ }(_baseMapTileLayer.default);
135
+
136
+ exports.TMSBaseMapTileLayer = TMSBaseMapTileLayer;
@@ -25,6 +25,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
25
25
 
26
26
  var _baseTileLayer = _interopRequireDefault(require("./tileLayer/baseTileLayer"));
27
27
 
28
+ var _utils = require("./utils");
29
+
28
30
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
29
31
 
30
32
  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; } }
@@ -98,18 +100,39 @@ var TMSTileLayer = /*#__PURE__*/function (_BaseTileLayer) {
98
100
 
99
101
  var _layers = _this2.tileLayerManager.getChilds(tile.layerIDList);
100
102
 
101
- _this2.tileLayerManager.updateLayersConfig(_layers, 'visible', tile.isVisible);
103
+ _this2.updateTileVisible(tile, _layers);
102
104
 
103
105
  _this2.setPickState(_layers);
104
106
  }
105
107
  });
106
- this.parent.renderLayers();
107
108
 
108
109
  if (this.tilesetManager.isLoaded) {
109
110
  // 将事件抛出,图层上可以使用瓦片
110
111
  this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
111
112
  }
112
113
  }
114
+ }, {
115
+ key: "emitTileVisibleEvent",
116
+ value: function emitTileVisibleEvent(tile, callback) {
117
+ if (tile.isVisible) {
118
+ callback();
119
+ } else {
120
+ (0, _utils.tileAllLoad)(tile, function () {
121
+ callback();
122
+ });
123
+ }
124
+ }
125
+ }, {
126
+ key: "updateTileVisible",
127
+ value: function updateTileVisible(tile, layers) {
128
+ var _this3 = this;
129
+
130
+ this.emitTileVisibleEvent(tile, function () {
131
+ _this3.tileLayerManager.updateLayersConfig(layers, 'visible', tile.isVisible);
132
+
133
+ _this3.layerService.reRender();
134
+ });
135
+ }
113
136
  }]);
114
137
  return TMSTileLayer;
115
138
  }(_baseTileLayer.default);
package/lib/tile/utils.js CHANGED
@@ -8,10 +8,14 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.getContainerSize = getContainerSize;
9
9
  exports.getLayerShape = getLayerShape;
10
10
  exports.getMaskValue = getMaskValue;
11
+ exports.isTileChildLoaded = isTileChildLoaded;
12
+ exports.isTileLoaded = isTileLoaded;
13
+ exports.isTileParentLoaded = isTileParentLoaded;
11
14
  exports.isVectorTile = isVectorTile;
12
15
  exports.readPixel = readPixel;
13
16
  exports.readRasterValue = readRasterValue;
14
17
  exports.registerLayers = registerLayers;
18
+ exports.tileAllLoad = tileAllLoad;
15
19
  exports.tileVectorParser = void 0;
16
20
 
17
21
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -155,4 +159,38 @@ function readPixel(x, y, rendererService) {
155
159
  data: new Uint8Array(1 * 1 * 4)
156
160
  });
157
161
  return pickedColors;
162
+ }
163
+
164
+ function isTileLoaded(tile) {
165
+ return tile.layerIDList.length === tile.loadedLayers;
166
+ }
167
+
168
+ function isTileChildLoaded(tile) {
169
+ var childs = tile.children;
170
+ return childs.filter(function (child) {
171
+ return isTileLoaded(child);
172
+ }).length === childs.length;
173
+ }
174
+
175
+ function isTileParentLoaded(tile) {
176
+ var parent = tile.parent;
177
+
178
+ if (!parent) {
179
+ return true;
180
+ } else {
181
+ return isTileLoaded(parent);
182
+ }
183
+ }
184
+
185
+ function tileAllLoad(tile, callback) {
186
+ var timer = window.setInterval(function () {
187
+ var tileLoaded = isTileLoaded(tile);
188
+ var tileChildLoaded = isTileChildLoaded(tile);
189
+ var tileParentLoaded = isTileParentLoaded(tile);
190
+
191
+ if (tileLoaded && tileChildLoaded && tileParentLoaded) {
192
+ callback();
193
+ window.clearInterval(timer);
194
+ }
195
+ }, 36);
158
196
  }
@@ -29,6 +29,9 @@ function registerStyleAttribute(fieldName, layer, field, values, updateOptions)
29
29
 
30
30
 
31
31
  function handleStyleDataMapping(configToUpdate, layer) {
32
+ // 瓦片图层不需要进行样式数据映射
33
+ if (layer.tileLayer || layer.isTileLayer) return;
34
+
32
35
  if (configToUpdate.opacity) {
33
36
  // 处理 style 中 opacity 属性的数据映射
34
37
  handleStyleFloat('opacity', layer, configToUpdate.opacity);
@@ -28,7 +28,7 @@ function adjustData2Amap2Coordinates(mappedData, mapService) {
28
28
  if (typeof mappedData[0].coordinates[0] === 'number') {
29
29
  // 单个的点数据
30
30
  // @ts-ignore
31
- mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
31
+ mappedData // 避免经纬度被重复计算导致坐标位置偏移
32
32
  .filter(function (d) {
33
33
  return !d.originCoordinates;
34
34
  }).map(function (d) {
@@ -42,7 +42,7 @@ function adjustData2Amap2Coordinates(mappedData, mapService) {
42
42
  } else {
43
43
  // 连续的线、面数据
44
44
  // @ts-ignore
45
- mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
45
+ mappedData // 避免经纬度被重复计算导致坐标位置偏移
46
46
  .filter(function (d) {
47
47
  return !d.originCoordinates;
48
48
  }).map(function (d) {
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.updateShape = updateShape;
7
- // TODO: shapeUpdateList 存储一系列的 shape 类型
7
+ // shapeUpdateList 存储一系列的 shape 类型
8
8
  // 当这一系列的 shape 相互切换的时候需要重构 layer 的 model (顶点数据集)
9
9
  var shapeUpdateList = [// PointLayer
10
10
  ['circle', 'cylinder'], ['square', 'cylinder'], ['triangle', 'cylinder'], ['pentagon', 'cylinder'], ['hexagon', 'cylinder'], ['octogon', 'cylinder'], ['hexagram', 'cylinder'], ['rhombus', 'cylinder'], ['vesica', 'cylinder']];
@@ -18,7 +18,7 @@ function updateShape(layer, lastShape, currentShape) {
18
18
 
19
19
  shapeUpdateList.map(function (shapes) {
20
20
  if (shapes.includes(lastShape) && shapes.includes(currentShape)) {
21
- // TODO: dataSourceNeedUpdate 借用数据更新时更新 layer model 的工作流
21
+ // dataSourceNeedUpdate 借用数据更新时更新 layer model 的工作流
22
22
  layer.dataState.dataSourceNeedUpdate = true;
23
23
  return;
24
24
  }
package/lib/wind/index.js CHANGED
@@ -58,7 +58,9 @@ var WindLayer = /*#__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 WindLayer = /*#__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
  }, {
@@ -39,7 +39,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
39
39
  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";
40
40
 
41
41
  /* babel-plugin-inline-import '../shaders/wind_vert.glsl' */
42
- 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";
42
+ 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";
43
43
  var defaultRampColors = {
44
44
  0.0: '#3288bd',
45
45
  0.1: '#66c2a5',
@@ -165,9 +165,7 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
165
165
  height: imageHeight
166
166
  });
167
167
 
168
- _this3.layerService.updateLayerRenderList();
169
-
170
- _this3.layerService.renderLayers();
168
+ _this3.layerService.reRender();
171
169
  });
172
170
  this.layer.buildLayerModel({
173
171
  moduleName: 'wind',
@@ -178,7 +176,9 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
178
176
  depth: {
179
177
  enable: false
180
178
  },
181
- blend: this.getBlend()
179
+ stencil: (0, _l7Utils.getMask)(mask, maskInside),
180
+ blend: this.getBlend(),
181
+ pick: false
182
182
  }).then(function (model) {
183
183
  _this3.colorModel = model;
184
184
  callbackModel([model]);
@@ -241,7 +241,7 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
241
241
  type: _l7Core.gl.FLOAT
242
242
  },
243
243
  size: 2,
244
- update: function update(feature, featureIdx, vertex, attributeIdx) {
244
+ update: function update(feature, featureIdx, vertex) {
245
245
  return [vertex[3], vertex[4]];
246
246
  }
247
247
  }
@@ -307,7 +307,7 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
307
307
  var _this$wind$draw = this.wind.draw(),
308
308
  d = _this$wind$draw.d,
309
309
  w = _this$wind$draw.w,
310
- h = _this$wind$draw.h; // TODO: 恢复 L7 渲染流程中 gl 状态
310
+ h = _this$wind$draw.h; // 恢复 L7 渲染流程中 gl 状态
311
311
 
312
312
 
313
313
  this.rendererService.setBaseState();