@antv/l7-layers 2.9.27-alpha.3 → 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 (178) hide show
  1. package/es/Geometry/models/billboard.js +2 -5
  2. package/es/Geometry/models/plane.js +3 -3
  3. package/es/Geometry/models/sprite.js +2 -3
  4. package/es/core/BaseLayer.d.ts +5 -6
  5. package/es/core/BaseLayer.js +15 -20
  6. package/es/core/BaseModel.d.ts +1 -1
  7. package/es/core/BaseModel.js +15 -16
  8. package/es/core/interface.d.ts +3 -1
  9. package/es/earth/models/atmosphere.js +4 -7
  10. package/es/earth/models/base.js +10 -14
  11. package/es/earth/models/bloomsphere.js +4 -8
  12. package/es/heatmap/index.d.ts +2 -2
  13. package/es/heatmap/index.js +1 -3
  14. package/es/heatmap/models/grid.js +1 -3
  15. package/es/heatmap/models/grid3d.js +4 -11
  16. package/es/heatmap/models/heatmap.js +3 -6
  17. package/es/heatmap/models/hexagon.js +2 -6
  18. package/es/heatmap/triangulation.js +0 -1
  19. package/es/image/index.d.ts +1 -1
  20. package/es/image/index.js +4 -1
  21. package/es/image/models/dataImage.d.ts +1 -1
  22. package/es/image/models/dataImage.js +12 -34
  23. package/es/image/models/image.js +1 -3
  24. package/es/image/models/index.d.ts +1 -1
  25. package/es/image/models/index.js +3 -1
  26. package/es/image/models/tileDataImage.d.ts +19 -0
  27. package/es/image/models/tileDataImage.js +174 -0
  28. package/es/line/models/arc.js +7 -8
  29. package/es/line/models/arc_3d.js +8 -10
  30. package/es/line/models/earthArc_3d.js +8 -10
  31. package/es/line/models/great_circle.js +7 -7
  32. package/es/line/models/line.js +4 -4
  33. package/es/line/models/linearline.js +3 -4
  34. package/es/line/models/simpleLine.js +3 -3
  35. package/es/line/models/tile.js +1 -1
  36. package/es/line/models/wall.js +3 -3
  37. package/es/line/shaders/dash/line_dash_frag.glsl +1 -1
  38. package/es/line/shaders/line_arc2d_vert.glsl +2 -2
  39. package/es/line/shaders/line_arc_3d_frag.glsl +10 -10
  40. package/es/line/shaders/line_arc_3d_vert.glsl +3 -4
  41. package/es/line/shaders/line_arc_frag.glsl +9 -10
  42. package/es/line/shaders/line_arc_great_circle_frag.glsl +6 -6
  43. package/es/line/shaders/line_arc_great_circle_vert.glsl +2 -3
  44. package/es/line/shaders/line_arc_vert.glsl +2 -2
  45. package/es/line/shaders/line_bezier_vert.glsl +2 -2
  46. package/es/line/shaders/line_frag.glsl +5 -5
  47. package/es/line/shaders/line_vert.glsl +1 -1
  48. package/es/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
  49. package/es/line/shaders/linear/arc3d_linear_vert.glsl +9 -10
  50. package/es/line/shaders/linear/arc_linear_frag.glsl +1 -1
  51. package/es/line/shaders/wall/wall_frag.glsl +5 -5
  52. package/es/line/shaders/wall/wall_vert.glsl +2 -2
  53. package/es/plugins/LayerAnimateStylePlugin.js +2 -2
  54. package/es/point/index.js +3 -4
  55. package/es/point/models/earthExtrude.d.ts +1 -1
  56. package/es/point/models/earthExtrude.js +9 -14
  57. package/es/point/models/earthFill.js +2 -2
  58. package/es/point/models/extrude.d.ts +1 -1
  59. package/es/point/models/extrude.js +9 -12
  60. package/es/point/models/fill.d.ts +1 -1
  61. package/es/point/models/fill.js +7 -8
  62. package/es/point/models/fillmage.js +4 -5
  63. package/es/point/models/image.js +2 -2
  64. package/es/point/models/index.d.ts +1 -1
  65. package/es/point/models/index.js +3 -3
  66. package/es/point/models/normal.js +0 -2
  67. package/es/point/models/radar.js +1 -1
  68. package/es/point/models/text.js +1 -3
  69. package/es/point/models/tile.js +2 -3
  70. package/es/point/models/tileText.js +3 -5
  71. package/es/point/shaders/animate/wave_frag.glsl +2 -2
  72. package/es/polygon/models/extrude.js +3 -5
  73. package/es/raster/index.js +1 -2
  74. package/es/raster/models/raster.d.ts +1 -1
  75. package/es/raster/models/raster.js +5 -5
  76. package/es/raster/models/rasterTile.d.ts +18 -0
  77. package/es/raster/models/rasterTile.js +140 -0
  78. package/es/raster/shaders/raster_2d_frag.glsl +0 -2
  79. package/es/raster/shaders/raster_2d_vert.glsl +0 -1
  80. package/es/tile/manager/baseMapTileLayerManager.d.ts +3 -25
  81. package/es/tile/manager/baseMapTileLayerManager.js +31 -119
  82. package/es/tile/manager/baseTileManager.d.ts +27 -0
  83. package/es/tile/manager/baseTileManager.js +107 -0
  84. package/es/tile/manager/tileLayerManager.d.ts +4 -26
  85. package/es/tile/manager/tileLayerManager.js +64 -132
  86. package/es/tile/manager/tilePickerManager.d.ts +1 -0
  87. package/es/tile/manager/tilePickerManager.js +5 -0
  88. package/es/tile/models/tileModel.d.ts +1 -0
  89. package/es/tile/models/tileModel.js +3 -0
  90. package/es/tile/tileFactory/rasterData.js +9 -11
  91. package/es/tile/tileFactory/rasterDataLayer.d.ts +1 -1
  92. package/es/tile/tileFactory/rasterDataLayer.js +1 -1
  93. package/es/tile/tileLayer/baseMapTileLayer.d.ts +1 -0
  94. package/es/tile/tileLayer/baseMapTileLayer.js +7 -0
  95. package/es/tile/tileLayer/baseTileLayer.d.ts +1 -0
  96. package/es/tile/tileLayer/baseTileLayer.js +12 -1
  97. package/es/tile/tmsMapTileLayer.js +2 -2
  98. package/es/tile/tmsTileLayer.js +2 -2
  99. package/es/tile/utils.d.ts +1 -0
  100. package/es/tile/utils.js +13 -0
  101. package/lib/Geometry/models/billboard.js +2 -5
  102. package/lib/Geometry/models/plane.js +3 -3
  103. package/lib/Geometry/models/sprite.js +2 -3
  104. package/lib/core/BaseLayer.js +15 -20
  105. package/lib/core/BaseModel.js +15 -16
  106. package/lib/earth/models/atmosphere.js +4 -7
  107. package/lib/earth/models/base.js +10 -14
  108. package/lib/earth/models/bloomsphere.js +4 -8
  109. package/lib/heatmap/index.js +1 -3
  110. package/lib/heatmap/models/grid.js +1 -3
  111. package/lib/heatmap/models/grid3d.js +4 -11
  112. package/lib/heatmap/models/heatmap.js +3 -6
  113. package/lib/heatmap/models/hexagon.js +2 -6
  114. package/lib/heatmap/triangulation.js +0 -1
  115. package/lib/image/index.js +4 -1
  116. package/lib/image/models/dataImage.js +11 -33
  117. package/lib/image/models/image.js +1 -3
  118. package/lib/image/models/index.js +4 -1
  119. package/lib/image/models/tileDataImage.js +188 -0
  120. package/lib/line/models/arc.js +7 -8
  121. package/lib/line/models/arc_3d.js +8 -10
  122. package/lib/line/models/earthArc_3d.js +8 -10
  123. package/lib/line/models/great_circle.js +7 -7
  124. package/lib/line/models/line.js +4 -4
  125. package/lib/line/models/linearline.js +3 -4
  126. package/lib/line/models/simpleLine.js +3 -3
  127. package/lib/line/models/tile.js +1 -1
  128. package/lib/line/models/wall.js +3 -3
  129. package/lib/line/shaders/dash/line_dash_frag.glsl +1 -1
  130. package/lib/line/shaders/line_arc2d_vert.glsl +2 -2
  131. package/lib/line/shaders/line_arc_3d_frag.glsl +10 -10
  132. package/lib/line/shaders/line_arc_3d_vert.glsl +3 -4
  133. package/lib/line/shaders/line_arc_frag.glsl +9 -10
  134. package/lib/line/shaders/line_arc_great_circle_frag.glsl +6 -6
  135. package/lib/line/shaders/line_arc_great_circle_vert.glsl +2 -3
  136. package/lib/line/shaders/line_arc_vert.glsl +2 -2
  137. package/lib/line/shaders/line_bezier_vert.glsl +2 -2
  138. package/lib/line/shaders/line_frag.glsl +5 -5
  139. package/lib/line/shaders/line_vert.glsl +1 -1
  140. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
  141. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +9 -10
  142. package/lib/line/shaders/linear/arc_linear_frag.glsl +1 -1
  143. package/lib/line/shaders/wall/wall_frag.glsl +5 -5
  144. package/lib/line/shaders/wall/wall_vert.glsl +2 -2
  145. package/lib/plugins/LayerAnimateStylePlugin.js +2 -2
  146. package/lib/point/index.js +3 -4
  147. package/lib/point/models/earthExtrude.js +9 -14
  148. package/lib/point/models/earthFill.js +2 -2
  149. package/lib/point/models/extrude.js +9 -12
  150. package/lib/point/models/fill.js +7 -8
  151. package/lib/point/models/fillmage.js +4 -5
  152. package/lib/point/models/image.js +2 -2
  153. package/lib/point/models/index.js +1 -1
  154. package/lib/point/models/normal.js +0 -2
  155. package/lib/point/models/radar.js +1 -1
  156. package/lib/point/models/text.js +1 -3
  157. package/lib/point/models/tile.js +2 -3
  158. package/lib/point/models/tileText.js +3 -5
  159. package/lib/point/shaders/animate/wave_frag.glsl +2 -2
  160. package/lib/polygon/models/extrude.js +3 -5
  161. package/lib/raster/index.js +1 -2
  162. package/lib/raster/models/raster.js +5 -5
  163. package/lib/raster/models/rasterTile.js +154 -0
  164. package/lib/raster/shaders/raster_2d_frag.glsl +0 -2
  165. package/lib/raster/shaders/raster_2d_vert.glsl +0 -1
  166. package/lib/tile/manager/baseMapTileLayerManager.js +33 -121
  167. package/lib/tile/manager/baseTileManager.js +121 -0
  168. package/lib/tile/manager/tileLayerManager.js +66 -134
  169. package/lib/tile/manager/tilePickerManager.js +5 -0
  170. package/lib/tile/models/tileModel.js +3 -0
  171. package/lib/tile/tileFactory/rasterData.js +9 -11
  172. package/lib/tile/tileFactory/rasterDataLayer.js +2 -2
  173. package/lib/tile/tileLayer/baseMapTileLayer.js +7 -0
  174. package/lib/tile/tileLayer/baseTileLayer.js +12 -1
  175. package/lib/tile/tmsMapTileLayer.js +1 -1
  176. package/lib/tile/tmsTileLayer.js +1 -1
  177. package/lib/tile/utils.js +16 -0
  178. package/package.json +6 -6
@@ -7,117 +7,51 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.BaseMapTileLayerManager = void 0;
9
9
 
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
-
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
11
 
16
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
13
 
18
- var _tileFactory = require("../tileFactory");
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _baseTileManager = require("./baseTileManager");
19
21
 
20
22
  var _utils = require("../utils");
21
23
 
22
- var BaseMapTileLayerManager = /*#__PURE__*/function () {
24
+ 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); }; }
25
+
26
+ 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; } }
27
+
28
+ var BaseMapTileLayerManager = /*#__PURE__*/function (_TileManager) {
29
+ (0, _inherits2.default)(BaseMapTileLayerManager, _TileManager);
30
+
31
+ var _super = _createSuper(BaseMapTileLayerManager);
32
+
23
33
  // only support vector layer
24
34
  function BaseMapTileLayerManager(parent, mapService, rendererService) {
35
+ var _this;
36
+
25
37
  (0, _classCallCheck2.default)(this, BaseMapTileLayerManager);
26
- this.parent = parent;
27
- this.children = parent.layerChildren;
28
- this.mapService = mapService;
29
- this.rendererService = rendererService;
30
- this.setSubLayerInitOptipn();
31
- this.initTileFactory();
32
- }
38
+ _this = _super.call(this);
39
+ _this.parent = parent;
40
+ _this.children = parent.layerChildren;
41
+ _this.mapService = mapService;
42
+ _this.rendererService = rendererService;
33
43
 
34
- (0, _createClass2.default)(BaseMapTileLayerManager, [{
35
- key: "createTile",
36
- value: function createTile(tile) {
37
- return this.tileFactory.createTile(tile, this.initOptions);
38
- }
39
- }, {
40
- key: "updateLayersConfig",
41
- value: function updateLayersConfig(layers, key, value) {
42
- layers.map(function (layer) {
43
- if (key === 'mask') {
44
- // Tip: 栅格瓦片生效、设置全局的 mask、瓦片被全局的 mask 影响
45
- layer.style({
46
- mask: value
47
- });
48
- } else {
49
- layer.updateLayerConfig((0, _defineProperty2.default)({}, key, value));
50
- }
51
- });
52
- }
53
- }, {
54
- key: "addChild",
55
- value: function addChild(layer) {
56
- this.children.push(layer);
57
- }
58
- }, {
59
- key: "addChilds",
60
- value: function addChilds(layers) {
61
- var _this$children;
44
+ _this.setSubLayerInitOption();
62
45
 
63
- (_this$children = this.children).push.apply(_this$children, (0, _toConsumableArray2.default)(layers));
64
- }
65
- }, {
66
- key: "removeChilds",
67
- value: function removeChilds(layerIDList) {
68
- var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
69
- var remveLayerList = [];
70
- var cacheLayerList = [];
71
- this.children.filter(function (child) {
72
- layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
73
- });
74
- remveLayerList.map(function (layer) {
75
- return layer.destroy(refresh);
76
- });
77
- this.children = cacheLayerList;
78
- }
79
- }, {
80
- key: "removeChild",
81
- value: function removeChild(layer) {
82
- var layerIndex = this.children.indexOf(layer);
46
+ _this.initTileFactory();
83
47
 
84
- if (layerIndex > -1) {
85
- this.children.splice(layerIndex, 1);
86
- }
48
+ return _this;
49
+ }
87
50
 
88
- layer.destroy();
89
- }
90
- }, {
91
- key: "getChilds",
92
- value: function getChilds(layerIDList) {
93
- return this.children.filter(function (child) {
94
- return layerIDList.includes(child.id);
95
- });
96
- }
97
- }, {
98
- key: "getChild",
99
- value: function getChild(layerID) {
100
- return this.children.filter(function (child) {
101
- return child.id === layerID;
102
- })[0];
103
- }
104
- }, {
105
- key: "clearChild",
106
- value: function clearChild() {
107
- this.children.forEach(function (layer) {
108
- layer.destroy();
109
- });
110
- this.children.slice(0, this.children.length);
111
- }
112
- }, {
113
- key: "hasChild",
114
- value: function hasChild(layer) {
115
- return this.children.includes(layer);
116
- }
117
- }, {
51
+ (0, _createClass2.default)(BaseMapTileLayerManager, [{
118
52
  key: "render",
119
53
  value: function render() {
120
- var _this = this;
54
+ var _this2 = this;
121
55
 
122
56
  this.children.filter(function (layer) {
123
57
  return layer.inited;
@@ -129,7 +63,7 @@ var BaseMapTileLayerManager = /*#__PURE__*/function () {
129
63
 
130
64
  if (layer.masks.length > 0) {
131
65
  // 清除上一次的模版缓存
132
- _this.rendererService.clear({
66
+ _this2.rendererService.clear({
133
67
  stencil: 0,
134
68
  depth: 1,
135
69
  framebuffer: null
@@ -148,8 +82,8 @@ var BaseMapTileLayerManager = /*#__PURE__*/function () {
148
82
  });
149
83
  }
150
84
  }, {
151
- key: "setSubLayerInitOptipn",
152
- value: function setSubLayerInitOptipn() {
85
+ key: "setSubLayerInitOption",
86
+ value: function setSubLayerInitOption() {
153
87
  var _colorAttribute$scale, _sizeAttribute$scale;
154
88
 
155
89
  var _ref = this.parent.getLayerConfig(),
@@ -193,30 +127,8 @@ var BaseMapTileLayerManager = /*#__PURE__*/function () {
193
127
  workerEnabled: workerEnabled
194
128
  };
195
129
  }
196
- }, {
197
- key: "getSourceLayer",
198
- value: function getSourceLayer(parentParserType, sourceLayer) {
199
- if (parentParserType === 'geojsonvt') {
200
- return 'geojsonvt';
201
- } else if (parentParserType === 'testTile') {
202
- return 'testTile';
203
- } else {
204
- return sourceLayer;
205
- }
206
- }
207
- }, {
208
- key: "initTileFactory",
209
- value: function initTileFactory() {
210
- var source = this.parent.getSource();
211
- var TileFactory = (0, _tileFactory.getTileFactory)(this.parent.type, source.parser);
212
- this.tileFactory = new TileFactory({
213
- parent: this.parent,
214
- mapService: this.mapService,
215
- rendererService: this.rendererService
216
- });
217
- }
218
130
  }]);
219
131
  return BaseMapTileLayerManager;
220
- }();
132
+ }(_baseTileManager.TileManager);
221
133
 
222
134
  exports.BaseMapTileLayerManager = BaseMapTileLayerManager;
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TileManager = 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 _tileFactory = require("../tileFactory");
17
+
18
+ var TileManager = /*#__PURE__*/function () {
19
+ function TileManager() {
20
+ (0, _classCallCheck2.default)(this, TileManager);
21
+ }
22
+
23
+ (0, _createClass2.default)(TileManager, [{
24
+ key: "createTile",
25
+ value: function createTile(tile) {
26
+ return this.tileFactory.createTile(tile, this.initOptions);
27
+ }
28
+ }, {
29
+ key: "addChild",
30
+ value: function addChild(layer) {
31
+ this.children.push(layer);
32
+ }
33
+ }, {
34
+ key: "addChilds",
35
+ value: function addChilds(layers) {
36
+ var _this$children;
37
+
38
+ (_this$children = this.children).push.apply(_this$children, (0, _toConsumableArray2.default)(layers));
39
+ }
40
+ }, {
41
+ key: "removeChilds",
42
+ value: function removeChilds(layerIDList) {
43
+ var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
44
+ var remveLayerList = [];
45
+ var cacheLayerList = [];
46
+ this.children.filter(function (child) {
47
+ layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
48
+ });
49
+ remveLayerList.map(function (layer) {
50
+ return layer.destroy(refresh);
51
+ });
52
+ this.children = cacheLayerList;
53
+ }
54
+ }, {
55
+ key: "removeChild",
56
+ value: function removeChild(layer) {
57
+ var layerIndex = this.children.indexOf(layer);
58
+
59
+ if (layerIndex > -1) {
60
+ this.children.splice(layerIndex, 1);
61
+ }
62
+
63
+ layer.destroy();
64
+ }
65
+ }, {
66
+ key: "getChilds",
67
+ value: function getChilds(layerIDList) {
68
+ return this.children.filter(function (child) {
69
+ return layerIDList.includes(child.id);
70
+ });
71
+ }
72
+ }, {
73
+ key: "getChild",
74
+ value: function getChild(layerID) {
75
+ return this.children.filter(function (child) {
76
+ return child.id === layerID;
77
+ })[0];
78
+ }
79
+ }, {
80
+ key: "clearChild",
81
+ value: function clearChild() {
82
+ this.children.forEach(function (layer) {
83
+ layer.destroy();
84
+ });
85
+ this.children.slice(0, this.children.length);
86
+ }
87
+ }, {
88
+ key: "hasChild",
89
+ value: function hasChild(layer) {
90
+ return this.children.includes(layer);
91
+ }
92
+ }, {
93
+ key: "initTileFactory",
94
+ value: function initTileFactory() {
95
+ var source = this.parent.getSource();
96
+ var TileFactory = (0, _tileFactory.getTileFactory)(this.parent.type, source.parser);
97
+ this.tileFactory = new TileFactory({
98
+ parent: this.parent,
99
+ mapService: this.mapService,
100
+ rendererService: this.rendererService
101
+ });
102
+ }
103
+ }, {
104
+ key: "getSourceLayer",
105
+ value: function getSourceLayer(parentParserType, sourceLayer) {
106
+ if (parentParserType === 'geojsonvt') {
107
+ return 'geojsonvt';
108
+ } else if (parentParserType === 'testTile') {
109
+ return 'testTile';
110
+ } else {
111
+ return sourceLayer;
112
+ }
113
+ }
114
+ }, {
115
+ key: "destroy",
116
+ value: function destroy() {}
117
+ }]);
118
+ return TileManager;
119
+ }();
120
+
121
+ exports.TileManager = TileManager;
@@ -7,17 +7,19 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.TileLayerManager = void 0;
9
9
 
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
-
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
11
 
16
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
13
 
18
- var _l7Utils = require("@antv/l7-utils");
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
17
 
20
- var _tileFactory = require("../tileFactory");
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _baseTileManager = require("./baseTileManager");
21
+
22
+ var _l7Utils = require("@antv/l7-utils");
21
23
 
22
24
  var _utils = require("../utils");
23
25
 
@@ -25,105 +27,38 @@ var _tileConfigManager = _interopRequireDefault(require("./tileConfigManager"));
25
27
 
26
28
  var _tilePickerManager = _interopRequireDefault(require("./tilePickerManager"));
27
29
 
28
- var TileLayerManager = /*#__PURE__*/function () {
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 TileLayerManager = /*#__PURE__*/function (_TileManager) {
35
+ (0, _inherits2.default)(TileLayerManager, _TileManager);
36
+
37
+ var _super = _createSuper(TileLayerManager);
38
+
29
39
  function TileLayerManager(parent, mapService, rendererService, pickingService, transforms) {
40
+ var _this;
41
+
30
42
  (0, _classCallCheck2.default)(this, TileLayerManager);
31
- this.parent = parent;
32
- this.children = parent.layerChildren;
33
- this.mapService = mapService;
34
- this.rendererService = rendererService;
35
- this.transforms = transforms;
36
- this.tilePickManager = new _tilePickerManager.default(parent, rendererService, pickingService, this.children);
37
- this.tileConfigManager = new _tileConfigManager.default();
38
- this.setSubLayerInitOptipn();
39
- this.setConfigListener();
40
- this.initTileFactory();
41
- }
43
+ _this = _super.call(this);
44
+ _this.parent = parent;
45
+ _this.children = parent.layerChildren;
46
+ _this.mapService = mapService;
47
+ _this.rendererService = rendererService;
48
+ _this.transforms = transforms;
49
+ _this.tilePickManager = new _tilePickerManager.default(parent, rendererService, pickingService, _this.children);
50
+ _this.tileConfigManager = new _tileConfigManager.default();
42
51
 
43
- (0, _createClass2.default)(TileLayerManager, [{
44
- key: "createTile",
45
- value: function createTile(tile) {
46
- return this.tileFactory.createTile(tile, this.initOptions);
47
- }
48
- }, {
49
- key: "updateLayersConfig",
50
- value: function updateLayersConfig(layers, key, value) {
51
- layers.map(function (layer) {
52
- if (key === 'mask') {
53
- // Tip: 栅格瓦片生效、设置全局的 mask、瓦片被全局的 mask 影响
54
- layer.style({
55
- mask: value
56
- });
57
- } else {
58
- layer.updateLayerConfig((0, _defineProperty2.default)({}, key, value));
59
- }
60
- });
61
- }
62
- }, {
63
- key: "addChild",
64
- value: function addChild(layer) {
65
- this.children.push(layer);
66
- }
67
- }, {
68
- key: "addChilds",
69
- value: function addChilds(layers) {
70
- var _this$children;
52
+ _this.setSubLayerInitOption();
71
53
 
72
- (_this$children = this.children).push.apply(_this$children, (0, _toConsumableArray2.default)(layers));
73
- }
74
- }, {
75
- key: "removeChilds",
76
- value: function removeChilds(layerIDList) {
77
- var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
78
- var remveLayerList = [];
79
- var cacheLayerList = [];
80
- this.children.filter(function (child) {
81
- layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
82
- });
83
- remveLayerList.map(function (layer) {
84
- return layer.destroy(refresh);
85
- });
86
- this.children = cacheLayerList;
87
- }
88
- }, {
89
- key: "removeChild",
90
- value: function removeChild(layer) {
91
- var layerIndex = this.children.indexOf(layer);
54
+ _this.setConfigListener();
92
55
 
93
- if (layerIndex > -1) {
94
- this.children.splice(layerIndex, 1);
95
- }
56
+ _this.initTileFactory();
96
57
 
97
- layer.destroy();
98
- }
99
- }, {
100
- key: "getChilds",
101
- value: function getChilds(layerIDList) {
102
- return this.children.filter(function (child) {
103
- return layerIDList.includes(child.id);
104
- });
105
- }
106
- }, {
107
- key: "getChild",
108
- value: function getChild(layerID) {
109
- return this.children.filter(function (child) {
110
- return child.id === layerID;
111
- })[0];
112
- }
113
- }, {
114
- key: "clearChild",
115
- value: function clearChild() {
116
- this.children.forEach(function (layer) {
117
- layer.destroy();
118
- });
119
- this.children.slice(0, this.children.length);
120
- }
121
- }, {
122
- key: "hasChild",
123
- value: function hasChild(layer) {
124
- return this.children.includes(layer);
125
- }
126
- }, {
58
+ return _this;
59
+ }
60
+
61
+ (0, _createClass2.default)(TileLayerManager, [{
127
62
  key: "render",
128
63
  value: function render() {
129
64
  var _this$tileConfigManag, _this$tilePickManager;
@@ -139,8 +74,8 @@ var TileLayerManager = /*#__PURE__*/function () {
139
74
  return (_this$tilePickManager2 = this.tilePickManager) === null || _this$tilePickManager2 === void 0 ? void 0 : _this$tilePickManager2.pickRender(this.children, target);
140
75
  }
141
76
  }, {
142
- key: "setSubLayerInitOptipn",
143
- value: function setSubLayerInitOptipn() {
77
+ key: "setSubLayerInitOption",
78
+ value: function setSubLayerInitOption() {
144
79
  var _source$data;
145
80
 
146
81
  var _ref = this.parent.getLayerConfig(),
@@ -192,12 +127,6 @@ var TileLayerManager = /*#__PURE__*/function () {
192
127
 
193
128
  var parentParserType = source.getParserType();
194
129
  var layerShape = (0, _utils.getLayerShape)(this.parent.type, this.parent);
195
-
196
- if (rampColors) {
197
- // 构建统一的色带贴图
198
- this.rampColorsData = (0, _l7Utils.generateColorRamp)(rampColors);
199
- }
200
-
201
130
  this.initOptions = {
202
131
  layerType: this.parent.type,
203
132
  transforms: this.transforms,
@@ -218,7 +147,6 @@ var TileLayerManager = /*#__PURE__*/function () {
218
147
  clampHigh: clampHigh,
219
148
  domain: domain,
220
149
  rampColors: rampColors,
221
- rampColorsData: this.rampColorsData,
222
150
  // worker
223
151
  workerEnabled: workerEnabled,
224
152
  pixelConstant: pixelConstant,
@@ -227,22 +155,24 @@ var TileLayerManager = /*#__PURE__*/function () {
227
155
  pixelConstantB: pixelConstantB,
228
156
  pixelConstantRGB: pixelConstantRGB
229
157
  };
230
- }
231
- }, {
232
- key: "getSourceLayer",
233
- value: function getSourceLayer(parentParserType, sourceLayer) {
234
- if (parentParserType === 'geojsonvt') {
235
- return 'geojsonvt';
236
- } else if (parentParserType === 'testTile') {
237
- return 'testTile';
238
- } else {
239
- return sourceLayer;
158
+
159
+ if (rampColors) {
160
+ // 构建统一的色带贴图
161
+ var createTexture2D = this.rendererService.createTexture2D;
162
+ var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
163
+ var colorTexture = createTexture2D({
164
+ data: imageData.data,
165
+ width: imageData.width,
166
+ height: imageData.height,
167
+ flipY: false
168
+ });
169
+ this.initOptions.colorTexture = colorTexture;
240
170
  }
241
171
  }
242
172
  }, {
243
173
  key: "setConfigListener",
244
174
  value: function setConfigListener() {
245
- var _this = this;
175
+ var _this2 = this;
246
176
 
247
177
  // RasterLayer PolygonLayer LineLayer PointLayer
248
178
  // All Tile Layer Need Listen
@@ -275,7 +205,7 @@ var TileLayerManager = /*#__PURE__*/function () {
275
205
 
276
206
  this.tileConfigManager.on('updateConfig', function (updateConfigs) {
277
207
  updateConfigs.map(function (key) {
278
- _this.updateStyle(key);
208
+ _this2.updateStyle(key);
279
209
 
280
210
  return '';
281
211
  });
@@ -284,7 +214,7 @@ var TileLayerManager = /*#__PURE__*/function () {
284
214
  }, {
285
215
  key: "updateStyle",
286
216
  value: function updateStyle(style) {
287
- var _this2 = this;
217
+ var _this3 = this;
288
218
 
289
219
  var updateValue = null;
290
220
 
@@ -299,7 +229,7 @@ var TileLayerManager = /*#__PURE__*/function () {
299
229
 
300
230
  updateValue = scaleValue;
301
231
  this.children.map(function (child) {
302
- _this2.tileFactory.setStyleAttributeField(child, style, scaleValue);
232
+ _this3.tileFactory.setStyleAttributeField(child, style, scaleValue);
303
233
 
304
234
  return '';
305
235
  });
@@ -313,10 +243,18 @@ var TileLayerManager = /*#__PURE__*/function () {
313
243
 
314
244
  var config = layerConfig[style];
315
245
  updateValue = config;
316
- this.updateLayersConfig(this.children, style, config);
246
+ (0, _utils.updateLayersConfig)(this.children, style, config);
317
247
 
318
248
  if (style === 'rampColors' && config) {
319
- this.rampColorsData = (0, _l7Utils.generateColorRamp)(config);
249
+ var createTexture2D = this.rendererService.createTexture2D;
250
+ var imageData = (0, _l7Utils.generateColorRamp)(config);
251
+ this.initOptions.colorTexture = createTexture2D({
252
+ data: imageData.data,
253
+ width: imageData.width,
254
+ height: imageData.height,
255
+ flipY: false
256
+ });
257
+ (0, _utils.updateLayersConfig)(this.children, 'colorTexture', this.initOptions.colorTexture);
320
258
  }
321
259
  } // @ts-ignore
322
260
 
@@ -324,18 +262,12 @@ var TileLayerManager = /*#__PURE__*/function () {
324
262
  this.initOptions[style] = updateValue;
325
263
  }
326
264
  }, {
327
- key: "initTileFactory",
328
- value: function initTileFactory() {
329
- var source = this.parent.getSource();
330
- var TileFactory = (0, _tileFactory.getTileFactory)(this.parent.type, source.parser);
331
- this.tileFactory = new TileFactory({
332
- parent: this.parent,
333
- mapService: this.mapService,
334
- rendererService: this.rendererService
335
- });
265
+ key: "destroy",
266
+ value: function destroy() {
267
+ this.tilePickManager.destroy();
336
268
  }
337
269
  }]);
338
270
  return TileLayerManager;
339
- }();
271
+ }(_baseTileManager.TileManager);
340
272
 
341
273
  exports.TileLayerManager = TileLayerManager;
@@ -193,6 +193,11 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
193
193
  layer.hooks.afterRender.call();
194
194
  }
195
195
  }
196
+ }, {
197
+ key: "destroy",
198
+ value: function destroy() {
199
+ this.removeAllListeners();
200
+ }
196
201
  }]);
197
202
  return TilePickManager;
198
203
  }(_eventemitter.EventEmitter);
@@ -75,6 +75,9 @@ var TileModel = /*#__PURE__*/function (_BaseModel) {
75
75
 
76
76
  return this.buildModels();
77
77
  }
78
+ }, {
79
+ key: "clearModels",
80
+ value: function clearModels() {}
78
81
  }, {
79
82
  key: "buildModels",
80
83
  value: function buildModels() {
@@ -44,16 +44,15 @@ var RasterTiffTile = /*#__PURE__*/function (_TileFactory) {
44
44
  (0, _createClass2.default)(RasterTiffTile, [{
45
45
  key: "createTile",
46
46
  value: function createTile(tile, initOptions) {
47
- var opacity = initOptions.opacity,
47
+ var colorTexture = initOptions.colorTexture,
48
+ opacity = initOptions.opacity,
48
49
  domain = initOptions.domain,
49
50
  clampHigh = initOptions.clampHigh,
50
51
  clampLow = initOptions.clampLow,
51
- rampColors = initOptions.rampColors,
52
- rampColorsData = initOptions.rampColorsData,
53
52
  mask = initOptions.mask;
54
- var rasterdata = tile.data;
53
+ var rasterData = tile.data;
55
54
 
56
- if (!rasterdata.data) {
55
+ if (!rasterData.data) {
57
56
  console.warn('raster data not exist!');
58
57
  return {
59
58
  layers: [],
@@ -64,20 +63,19 @@ var RasterTiffTile = /*#__PURE__*/function (_TileFactory) {
64
63
  var layer = new _rasterDataLayer.default({
65
64
  visible: tile.isVisible,
66
65
  mask: mask
67
- }).source(rasterdata.data, {
66
+ }).source(rasterData.data, {
68
67
  parser: {
69
68
  type: 'raster',
70
- width: rasterdata.width,
71
- height: rasterdata.height,
69
+ width: rasterData.width,
70
+ height: rasterData.height,
72
71
  extent: tile.bboxPolygon.bbox
73
72
  }
74
73
  }).style({
74
+ colorTexture: colorTexture,
75
75
  opacity: opacity,
76
76
  domain: domain,
77
77
  clampHigh: clampHigh,
78
- clampLow: clampLow,
79
- rampColors: rampColors,
80
- rampColorsData: rampColorsData
78
+ clampLow: clampLow
81
79
  });
82
80
  this.emitEvent([layer], false);
83
81
  (0, _utils.registerLayers)(this.parentLayer, [layer]);