@antv/l7-layers 2.9.27-alpha.4 → 2.9.27

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 (48) hide show
  1. package/es/core/BaseLayer.js +2 -1
  2. package/es/core/interface.d.ts +1 -0
  3. package/es/raster/index.js +1 -2
  4. package/es/raster/models/raster.js +2 -2
  5. package/es/raster/models/rasterTile.d.ts +18 -0
  6. package/es/raster/models/rasterTile.js +140 -0
  7. package/es/raster/shaders/raster_2d_frag.glsl +0 -2
  8. package/es/raster/shaders/raster_2d_vert.glsl +0 -1
  9. package/es/tile/manager/baseMapTileLayerManager.d.ts +3 -25
  10. package/es/tile/manager/baseMapTileLayerManager.js +31 -119
  11. package/es/tile/manager/baseTileManager.d.ts +27 -0
  12. package/es/tile/manager/baseTileManager.js +107 -0
  13. package/es/tile/manager/tileLayerManager.d.ts +4 -26
  14. package/es/tile/manager/tileLayerManager.js +64 -142
  15. package/es/tile/manager/tilePickerManager.d.ts +1 -0
  16. package/es/tile/manager/tilePickerManager.js +5 -0
  17. package/es/tile/models/tileModel.d.ts +1 -0
  18. package/es/tile/models/tileModel.js +3 -0
  19. package/es/tile/tileFactory/rasterData.js +9 -11
  20. package/es/tile/tileFactory/rasterDataLayer.d.ts +1 -1
  21. package/es/tile/tileFactory/rasterDataLayer.js +1 -1
  22. package/es/tile/tileLayer/baseMapTileLayer.d.ts +1 -0
  23. package/es/tile/tileLayer/baseMapTileLayer.js +7 -0
  24. package/es/tile/tileLayer/baseTileLayer.d.ts +1 -0
  25. package/es/tile/tileLayer/baseTileLayer.js +12 -1
  26. package/es/tile/tmsMapTileLayer.js +2 -2
  27. package/es/tile/tmsTileLayer.js +2 -2
  28. package/es/tile/utils.d.ts +1 -0
  29. package/es/tile/utils.js +13 -0
  30. package/lib/core/BaseLayer.js +2 -1
  31. package/lib/raster/index.js +1 -2
  32. package/lib/raster/models/raster.js +2 -2
  33. package/lib/raster/models/rasterTile.js +154 -0
  34. package/lib/raster/shaders/raster_2d_frag.glsl +0 -2
  35. package/lib/raster/shaders/raster_2d_vert.glsl +0 -1
  36. package/lib/tile/manager/baseMapTileLayerManager.js +33 -121
  37. package/lib/tile/manager/baseTileManager.js +121 -0
  38. package/lib/tile/manager/tileLayerManager.js +66 -144
  39. package/lib/tile/manager/tilePickerManager.js +5 -0
  40. package/lib/tile/models/tileModel.js +3 -0
  41. package/lib/tile/tileFactory/rasterData.js +9 -11
  42. package/lib/tile/tileFactory/rasterDataLayer.js +2 -2
  43. package/lib/tile/tileLayer/baseMapTileLayer.js +7 -0
  44. package/lib/tile/tileLayer/baseTileLayer.js +12 -1
  45. package/lib/tile/tmsMapTileLayer.js +1 -1
  46. package/lib/tile/tmsTileLayer.js +1 -1
  47. package/lib/tile/utils.js +16 -0
  48. package/package.json +6 -6
@@ -1,112 +1,47 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
1
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
2
  import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _inherits from "@babel/runtime/helpers/inherits";
4
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
5
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
+
7
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
8
+
9
+ 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; } }
10
+
11
+ import { TileManager } from "./baseTileManager";
5
12
  import { generateColorRamp } from '@antv/l7-utils';
6
- import { getTileFactory } from "../tileFactory";
7
- import { getLayerShape, getMaskValue } from "../utils";
13
+ import { getLayerShape, getMaskValue, updateLayersConfig } from "../utils";
8
14
  import TileConfigManager from "./tileConfigManager";
9
15
  import TilePickManager from "./tilePickerManager";
10
- export var TileLayerManager = /*#__PURE__*/function () {
16
+ export var TileLayerManager = /*#__PURE__*/function (_TileManager) {
17
+ _inherits(TileLayerManager, _TileManager);
18
+
19
+ var _super = _createSuper(TileLayerManager);
20
+
11
21
  function TileLayerManager(parent, mapService, rendererService, pickingService, transforms) {
22
+ var _this;
23
+
12
24
  _classCallCheck(this, TileLayerManager);
13
25
 
14
- this.parent = parent;
15
- this.children = parent.layerChildren;
16
- this.mapService = mapService;
17
- this.rendererService = rendererService;
18
- this.transforms = transforms;
19
- this.tilePickManager = new TilePickManager(parent, rendererService, pickingService, this.children);
20
- this.tileConfigManager = new TileConfigManager();
21
- this.setSubLayerInitOptipn();
22
- this.setConfigListener();
23
- this.initTileFactory();
24
- }
26
+ _this = _super.call(this);
27
+ _this.parent = parent;
28
+ _this.children = parent.layerChildren;
29
+ _this.mapService = mapService;
30
+ _this.rendererService = rendererService;
31
+ _this.transforms = transforms;
32
+ _this.tilePickManager = new TilePickManager(parent, rendererService, pickingService, _this.children);
33
+ _this.tileConfigManager = new TileConfigManager();
25
34
 
26
- _createClass(TileLayerManager, [{
27
- key: "createTile",
28
- value: function createTile(tile) {
29
- return this.tileFactory.createTile(tile, this.initOptions);
30
- }
31
- }, {
32
- key: "updateLayersConfig",
33
- value: function updateLayersConfig(layers, key, value) {
34
- layers.map(function (layer) {
35
- if (key === 'mask') {
36
- // Tip: 栅格瓦片生效、设置全局的 mask、瓦片被全局的 mask 影响
37
- layer.style({
38
- mask: value
39
- });
40
- } else {
41
- layer.updateLayerConfig(_defineProperty({}, key, value));
42
- }
43
- });
44
- }
45
- }, {
46
- key: "addChild",
47
- value: function addChild(layer) {
48
- this.children.push(layer);
49
- }
50
- }, {
51
- key: "addChilds",
52
- value: function addChilds(layers) {
53
- var _this$children;
35
+ _this.setSubLayerInitOption();
54
36
 
55
- (_this$children = this.children).push.apply(_this$children, _toConsumableArray(layers));
56
- }
57
- }, {
58
- key: "removeChilds",
59
- value: function removeChilds(layerIDList) {
60
- var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
61
- var remveLayerList = [];
62
- var cacheLayerList = [];
63
- this.children.filter(function (child) {
64
- layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
65
- });
66
- remveLayerList.map(function (layer) {
67
- return layer.destroy(refresh);
68
- });
69
- this.children = cacheLayerList;
70
- }
71
- }, {
72
- key: "removeChild",
73
- value: function removeChild(layer) {
74
- var layerIndex = this.children.indexOf(layer);
37
+ _this.setConfigListener();
75
38
 
76
- if (layerIndex > -1) {
77
- this.children.splice(layerIndex, 1);
78
- }
39
+ _this.initTileFactory();
79
40
 
80
- layer.destroy();
81
- }
82
- }, {
83
- key: "getChilds",
84
- value: function getChilds(layerIDList) {
85
- return this.children.filter(function (child) {
86
- return layerIDList.includes(child.id);
87
- });
88
- }
89
- }, {
90
- key: "getChild",
91
- value: function getChild(layerID) {
92
- return this.children.filter(function (child) {
93
- return child.id === layerID;
94
- })[0];
95
- }
96
- }, {
97
- key: "clearChild",
98
- value: function clearChild() {
99
- this.children.forEach(function (layer) {
100
- layer.destroy();
101
- });
102
- this.children.slice(0, this.children.length);
103
- }
104
- }, {
105
- key: "hasChild",
106
- value: function hasChild(layer) {
107
- return this.children.includes(layer);
108
- }
109
- }, {
41
+ return _this;
42
+ }
43
+
44
+ _createClass(TileLayerManager, [{
110
45
  key: "render",
111
46
  value: function render() {
112
47
  var _this$tileConfigManag, _this$tilePickManager;
@@ -122,8 +57,8 @@ export var TileLayerManager = /*#__PURE__*/function () {
122
57
  return (_this$tilePickManager2 = this.tilePickManager) === null || _this$tilePickManager2 === void 0 ? void 0 : _this$tilePickManager2.pickRender(this.children, target);
123
58
  }
124
59
  }, {
125
- key: "setSubLayerInitOptipn",
126
- value: function setSubLayerInitOptipn() {
60
+ key: "setSubLayerInitOption",
61
+ value: function setSubLayerInitOption() {
127
62
  var _source$data;
128
63
 
129
64
  var _ref = this.parent.getLayerConfig(),
@@ -175,21 +110,6 @@ export var TileLayerManager = /*#__PURE__*/function () {
175
110
 
176
111
  var parentParserType = source.getParserType();
177
112
  var layerShape = getLayerShape(this.parent.type, this.parent);
178
- var colorTexture = undefined;
179
-
180
- if (rampColors) {
181
- // 构建统一的色带贴图
182
- var createTexture2D = this.rendererService.createTexture2D;
183
- this.rampColorsData = generateColorRamp(rampColors);
184
- var imageData = generateColorRamp(rampColors);
185
- colorTexture = createTexture2D({
186
- data: this.rampColorsData.data,
187
- width: imageData.width,
188
- height: imageData.height,
189
- flipY: false
190
- });
191
- }
192
-
193
113
  this.initOptions = {
194
114
  layerType: this.parent.type,
195
115
  transforms: this.transforms,
@@ -210,8 +130,6 @@ export var TileLayerManager = /*#__PURE__*/function () {
210
130
  clampHigh: clampHigh,
211
131
  domain: domain,
212
132
  rampColors: rampColors,
213
- rampColorsData: this.rampColorsData,
214
- colorTexture: colorTexture,
215
133
  // worker
216
134
  workerEnabled: workerEnabled,
217
135
  pixelConstant: pixelConstant,
@@ -220,22 +138,24 @@ export var TileLayerManager = /*#__PURE__*/function () {
220
138
  pixelConstantB: pixelConstantB,
221
139
  pixelConstantRGB: pixelConstantRGB
222
140
  };
223
- }
224
- }, {
225
- key: "getSourceLayer",
226
- value: function getSourceLayer(parentParserType, sourceLayer) {
227
- if (parentParserType === 'geojsonvt') {
228
- return 'geojsonvt';
229
- } else if (parentParserType === 'testTile') {
230
- return 'testTile';
231
- } else {
232
- return sourceLayer;
141
+
142
+ if (rampColors) {
143
+ // 构建统一的色带贴图
144
+ var createTexture2D = this.rendererService.createTexture2D;
145
+ var imageData = generateColorRamp(rampColors);
146
+ var colorTexture = createTexture2D({
147
+ data: imageData.data,
148
+ width: imageData.width,
149
+ height: imageData.height,
150
+ flipY: false
151
+ });
152
+ this.initOptions.colorTexture = colorTexture;
233
153
  }
234
154
  }
235
155
  }, {
236
156
  key: "setConfigListener",
237
157
  value: function setConfigListener() {
238
- var _this = this;
158
+ var _this2 = this;
239
159
 
240
160
  // RasterLayer PolygonLayer LineLayer PointLayer
241
161
  // All Tile Layer Need Listen
@@ -268,7 +188,7 @@ export var TileLayerManager = /*#__PURE__*/function () {
268
188
 
269
189
  this.tileConfigManager.on('updateConfig', function (updateConfigs) {
270
190
  updateConfigs.map(function (key) {
271
- _this.updateStyle(key);
191
+ _this2.updateStyle(key);
272
192
 
273
193
  return '';
274
194
  });
@@ -277,7 +197,7 @@ export var TileLayerManager = /*#__PURE__*/function () {
277
197
  }, {
278
198
  key: "updateStyle",
279
199
  value: function updateStyle(style) {
280
- var _this2 = this;
200
+ var _this3 = this;
281
201
 
282
202
  var updateValue = null;
283
203
 
@@ -292,7 +212,7 @@ export var TileLayerManager = /*#__PURE__*/function () {
292
212
 
293
213
  updateValue = scaleValue;
294
214
  this.children.map(function (child) {
295
- _this2.tileFactory.setStyleAttributeField(child, style, scaleValue);
215
+ _this3.tileFactory.setStyleAttributeField(child, style, scaleValue);
296
216
 
297
217
  return '';
298
218
  });
@@ -306,10 +226,18 @@ export var TileLayerManager = /*#__PURE__*/function () {
306
226
 
307
227
  var config = layerConfig[style];
308
228
  updateValue = config;
309
- this.updateLayersConfig(this.children, style, config);
229
+ updateLayersConfig(this.children, style, config);
310
230
 
311
231
  if (style === 'rampColors' && config) {
312
- this.rampColorsData = generateColorRamp(config);
232
+ var createTexture2D = this.rendererService.createTexture2D;
233
+ var imageData = generateColorRamp(config);
234
+ this.initOptions.colorTexture = createTexture2D({
235
+ data: imageData.data,
236
+ width: imageData.width,
237
+ height: imageData.height,
238
+ flipY: false
239
+ });
240
+ updateLayersConfig(this.children, 'colorTexture', this.initOptions.colorTexture);
313
241
  }
314
242
  } // @ts-ignore
315
243
 
@@ -317,17 +245,11 @@ export var TileLayerManager = /*#__PURE__*/function () {
317
245
  this.initOptions[style] = updateValue;
318
246
  }
319
247
  }, {
320
- key: "initTileFactory",
321
- value: function initTileFactory() {
322
- var source = this.parent.getSource();
323
- var TileFactory = getTileFactory(this.parent.type, source.parser);
324
- this.tileFactory = new TileFactory({
325
- parent: this.parent,
326
- mapService: this.mapService,
327
- rendererService: this.rendererService
328
- });
248
+ key: "destroy",
249
+ value: function destroy() {
250
+ this.tilePickManager.destroy();
329
251
  }
330
252
  }]);
331
253
 
332
254
  return TileLayerManager;
333
- }();
255
+ }(TileManager);
@@ -17,4 +17,5 @@ export default class TilePickManager extends EventEmitter implements ITilePickMa
17
17
  beforeHighlight(pickedColors: any): void;
18
18
  beforeSelect(pickedColors: any): void;
19
19
  protected renderMask(layer: ILayer): void;
20
+ destroy(): void;
20
21
  }
@@ -181,6 +181,11 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
181
181
  layer.hooks.afterRender.call();
182
182
  }
183
183
  }
184
+ }, {
185
+ key: "destroy",
186
+ value: function destroy() {
187
+ this.removeAllListeners();
188
+ }
184
189
  }]);
185
190
 
186
191
  return TilePickManager;
@@ -4,6 +4,7 @@ export default class TileModel extends BaseModel {
4
4
  getUninforms(): IModelUniform;
5
5
  private getTileLayer;
6
6
  initModels(): never[];
7
+ clearModels(): void;
7
8
  buildModels(): never[];
8
9
  protected registerBuiltinAttributes(): void;
9
10
  }
@@ -61,6 +61,9 @@ var TileModel = /*#__PURE__*/function (_BaseModel) {
61
61
 
62
62
  return this.buildModels();
63
63
  }
64
+ }, {
65
+ key: "clearModels",
66
+ value: function clearModels() {}
64
67
  }, {
65
68
  key: "buildModels",
66
69
  value: function buildModels() {
@@ -30,16 +30,15 @@ var RasterTiffTile = /*#__PURE__*/function (_TileFactory) {
30
30
  _createClass(RasterTiffTile, [{
31
31
  key: "createTile",
32
32
  value: function createTile(tile, initOptions) {
33
- var opacity = initOptions.opacity,
33
+ var colorTexture = initOptions.colorTexture,
34
+ opacity = initOptions.opacity,
34
35
  domain = initOptions.domain,
35
36
  clampHigh = initOptions.clampHigh,
36
37
  clampLow = initOptions.clampLow,
37
- rampColors = initOptions.rampColors,
38
- rampColorsData = initOptions.rampColorsData,
39
38
  mask = initOptions.mask;
40
- var rasterdata = tile.data;
39
+ var rasterData = tile.data;
41
40
 
42
- if (!rasterdata.data) {
41
+ if (!rasterData.data) {
43
42
  console.warn('raster data not exist!');
44
43
  return {
45
44
  layers: [],
@@ -50,20 +49,19 @@ var RasterTiffTile = /*#__PURE__*/function (_TileFactory) {
50
49
  var layer = new RasterDataLayer({
51
50
  visible: tile.isVisible,
52
51
  mask: mask
53
- }).source(rasterdata.data, {
52
+ }).source(rasterData.data, {
54
53
  parser: {
55
54
  type: 'raster',
56
- width: rasterdata.width,
57
- height: rasterdata.height,
55
+ width: rasterData.width,
56
+ height: rasterData.height,
58
57
  extent: tile.bboxPolygon.bbox
59
58
  }
60
59
  }).style({
60
+ colorTexture: colorTexture,
61
61
  opacity: opacity,
62
62
  domain: domain,
63
63
  clampHigh: clampHigh,
64
- clampLow: clampLow,
65
- rampColors: rampColors,
66
- rampColorsData: rampColorsData
64
+ clampLow: clampLow
67
65
  });
68
66
  this.emitEvent([layer], false);
69
67
  registerLayers(this.parentLayer, [layer]);
@@ -1,6 +1,6 @@
1
1
  import BaseLayer from '../../core/BaseLayer';
2
2
  import { IRasterLayerStyleOptions } from '../../core/interface';
3
- import RasterModel from '../../raster/models/raster';
3
+ import RasterModel from '../../raster/models/rasterTile';
4
4
  export default class RasterTiffLayer extends BaseLayer<Partial<IRasterLayerStyleOptions>> {
5
5
  type: string;
6
6
  buildModels(): void;
@@ -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 BaseLayer from "../../core/BaseLayer";
14
- import RasterModel from "../../raster/models/raster";
14
+ import RasterModel from "../../raster/models/rasterTile";
15
15
 
16
16
  var RasterTiffLayer = /*#__PURE__*/function (_BaseLayer) {
17
17
  _inherits(RasterTiffLayer, _BaseLayer);
@@ -26,4 +26,5 @@ export default class BaseTileLayer implements IBaseTileLayer {
26
26
  private bindTilesetEvent;
27
27
  viewchange: import("lodash").DebouncedFunc<() => void>;
28
28
  private getCurrentView;
29
+ destroy(): void;
29
30
  }
@@ -180,6 +180,13 @@ var BaseTileLayer = /*#__PURE__*/function () {
180
180
  zoom: zoom
181
181
  };
182
182
  }
183
+ }, {
184
+ key: "destroy",
185
+ value: function destroy() {
186
+ var _this$tilesetManager3;
187
+
188
+ (_this$tilesetManager3 = this.tilesetManager) === null || _this$tilesetManager3 === void 0 ? void 0 : _this$tilesetManager3.destroy();
189
+ }
183
190
  }]);
184
191
 
185
192
  return BaseTileLayer;
@@ -44,4 +44,5 @@ export default class BaseTileLayer implements ITileLayer {
44
44
  private bindTilesetEvent;
45
45
  viewchange: import("lodash").DebouncedFunc<() => void>;
46
46
  private getCurrentView;
47
+ destroy(): void;
47
48
  }
@@ -99,7 +99,8 @@ var BaseTileLayer = /*#__PURE__*/function () {
99
99
  key: "pickLayers",
100
100
  value: function pickLayers(target) {
101
101
  return this.tileLayerManager.pickLayers(target);
102
- }
102
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
103
+
103
104
  }, {
104
105
  key: "tileLoaded",
105
106
  value: function tileLoaded(tile) {//
@@ -363,6 +364,7 @@ var BaseTileLayer = /*#__PURE__*/function () {
363
364
  if (!this.tilesetManager) {
364
365
  return;
365
366
  } // 瓦片数据加载成功
367
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
366
368
 
367
369
 
368
370
  this.tilesetManager.on('tile-loaded', function (tile) {// 将事件抛出,图层上可以监听使用
@@ -372,6 +374,7 @@ var BaseTileLayer = /*#__PURE__*/function () {
372
374
  // 将事件抛出,图层上可以监听使用
373
375
  _this6.tileUnLoad(tile);
374
376
  }); // 瓦片数据加载失败
377
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
375
378
 
376
379
  this.tilesetManager.on('tile-error', function (error, tile) {
377
380
  // 将事件抛出,图层上可以监听使用
@@ -401,6 +404,14 @@ var BaseTileLayer = /*#__PURE__*/function () {
401
404
  zoom: zoom
402
405
  };
403
406
  }
407
+ }, {
408
+ key: "destroy",
409
+ value: function destroy() {
410
+ var _this$tilesetManager3;
411
+
412
+ (_this$tilesetManager3 = this.tilesetManager) === null || _this$tilesetManager3 === void 0 ? void 0 : _this$tilesetManager3.destroy();
413
+ this.tileLayerManager.destroy();
414
+ }
404
415
  }]);
405
416
 
406
417
  return BaseTileLayer;
@@ -12,7 +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/baseMapTileLayer";
15
- import { tileAllLoad } from "./utils";
15
+ import { tileAllLoad, updateLayersConfig } from "./utils";
16
16
  export var TMSBaseMapTileLayer = /*#__PURE__*/function (_BaseTileLayer) {
17
17
  _inherits(TMSBaseMapTileLayer, _BaseTileLayer);
18
18
 
@@ -108,7 +108,7 @@ export var TMSBaseMapTileLayer = /*#__PURE__*/function (_BaseTileLayer) {
108
108
  var _this3 = this;
109
109
 
110
110
  this.emitTileVisibleEvent(tile, function () {
111
- _this3.tileLayerManager.updateLayersConfig(layers, 'visible', tile.isVisible);
111
+ updateLayersConfig(layers, 'visible', tile.isVisible);
112
112
 
113
113
  _this3.layerService.reRender();
114
114
  });
@@ -12,7 +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
+ import { tileAllLoad, updateLayersConfig } from "./utils";
16
16
  export var TMSTileLayer = /*#__PURE__*/function (_BaseTileLayer) {
17
17
  _inherits(TMSTileLayer, _BaseTileLayer);
18
18
 
@@ -112,7 +112,7 @@ export var TMSTileLayer = /*#__PURE__*/function (_BaseTileLayer) {
112
112
  var _this3 = this;
113
113
 
114
114
  this.emitTileVisibleEvent(tile, function () {
115
- _this3.tileLayerManager.updateLayersConfig(layers, 'visible', tile.isVisible);
115
+ updateLayersConfig(layers, 'visible', tile.isVisible);
116
116
 
117
117
  _this3.layerService.reRender();
118
118
  });
@@ -15,3 +15,4 @@ export declare function isTileLoaded(tile: Tile): boolean;
15
15
  export declare function isTileChildLoaded(tile: Tile): boolean;
16
16
  export declare function isTileParentLoaded(tile: Tile): boolean;
17
17
  export declare function tileAllLoad(tile: Tile, callback: () => void): void;
18
+ export declare function updateLayersConfig(layers: ILayer[], key: string, value: any): void;
package/es/tile/utils.js CHANGED
@@ -1,3 +1,4 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
3
  import { createLayerContainer } from '@antv/l7-core';
3
4
  import { DOM } from '@antv/l7-utils';
@@ -158,4 +159,16 @@ export function tileAllLoad(tile, callback) {
158
159
  window.clearInterval(timer);
159
160
  }
160
161
  }, 36);
162
+ }
163
+ export function updateLayersConfig(layers, key, value) {
164
+ layers.map(function (layer) {
165
+ if (key === 'mask') {
166
+ // Tip: 栅格瓦片生效、设置全局的 mask、瓦片被全局的 mask 影响
167
+ layer.style({
168
+ mask: value
169
+ });
170
+ } else {
171
+ layer.updateLayerConfig(_defineProperty({}, key, value));
172
+ }
173
+ });
161
174
  }
@@ -949,7 +949,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
949
949
  }, {
950
950
  key: "destroy",
951
951
  value: function destroy() {
952
- var _this$multiPassRender, _this$layerModel2;
952
+ var _this$multiPassRender, _this$layerModel2, _this$tileLayer;
953
953
 
954
954
  var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
955
955
 
@@ -977,6 +977,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
977
977
  this.hooks.afterDestroy.call(); // Tip: 清除各个图层自定义的 models 资源
978
978
 
979
979
  (_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels(refresh);
980
+ (_this$tileLayer = this.tileLayer) === null || _this$tileLayer === void 0 ? void 0 : _this$tileLayer.destroy();
980
981
  this.models = [];
981
982
  this.layerService.cleanRemove(this, refresh);
982
983
  this.emit('remove', {
@@ -113,8 +113,7 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
113
113
 
114
114
  default:
115
115
  return 'raster';
116
- } // return 'raster';
117
-
116
+ }
118
117
  }
119
118
  }]);
120
119
  return RaterLayer;
@@ -32,10 +32,10 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
32
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
33
 
34
34
  /* babel-plugin-inline-import '../shaders/raster_2d_frag.glsl' */
35
- var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue)\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n\n\n}\n";
35
+ var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue)\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
36
36
 
37
37
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
38
- var rasterVert = "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\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";
38
+ var rasterVert = "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";
39
39
 
40
40
  var RasterModel = /*#__PURE__*/function (_BaseModel) {
41
41
  (0, _inherits2.default)(RasterModel, _BaseModel);