@antv/l7-layers 2.9.36 → 2.9.37

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 (194) hide show
  1. package/es/Geometry/index.d.ts +0 -9
  2. package/es/Geometry/index.js +0 -13
  3. package/es/Geometry/models/billboard.d.ts +0 -9
  4. package/es/Geometry/models/billboard.js +0 -13
  5. package/es/Geometry/models/plane.d.ts +0 -9
  6. package/es/Geometry/models/plane.js +0 -13
  7. package/es/Geometry/models/sprite.d.ts +0 -9
  8. package/es/Geometry/models/sprite.js +0 -13
  9. package/es/canvas/index.d.ts +0 -9
  10. package/es/canvas/index.js +0 -13
  11. package/es/citybuliding/building.d.ts +0 -9
  12. package/es/citybuliding/building.js +0 -13
  13. package/es/core/BaseLayer.d.ts +2 -2
  14. package/es/core/BaseLayer.js +20 -13
  15. package/es/core/BaseModel.js +1 -0
  16. package/es/core/triangulation.d.ts +2 -0
  17. package/es/core/triangulation.js +2 -3
  18. package/es/heatmap/index.d.ts +0 -9
  19. package/es/heatmap/index.js +0 -13
  20. package/es/heatmap/models/heatmap.js +1 -3
  21. package/es/image/index.d.ts +0 -9
  22. package/es/image/index.js +0 -13
  23. package/es/image/models/dataImage.d.ts +0 -9
  24. package/es/image/models/dataImage.js +1 -15
  25. package/es/image/models/image.d.ts +0 -9
  26. package/es/image/models/image.js +1 -15
  27. package/es/image/models/tileDataImage.d.ts +0 -9
  28. package/es/image/models/tileDataImage.js +1 -15
  29. package/es/index.d.ts +1 -1
  30. package/es/index.js +1 -1
  31. package/es/line/index.d.ts +0 -9
  32. package/es/line/index.js +0 -13
  33. package/es/line/models/great_circle.js +3 -3
  34. package/es/mask/index.d.ts +0 -9
  35. package/es/mask/index.js +0 -13
  36. package/es/plugins/DataMappingPlugin.js +2 -2
  37. package/es/plugins/DataSourcePlugin.js +1 -1
  38. package/es/plugins/FeatureScalePlugin.js +5 -3
  39. package/es/plugins/LayerModelPlugin.js +1 -1
  40. package/es/plugins/LightingPlugin.js +1 -1
  41. package/es/plugins/RegisterStyleAttributePlugin.js +8 -13
  42. package/es/plugins/UpdateStyleAttributePlugin.js +1 -1
  43. package/es/point/index.d.ts +0 -9
  44. package/es/point/index.js +0 -13
  45. package/es/point/models/earthFill.js +2 -2
  46. package/es/point/models/image.js +1 -1
  47. package/es/polygon/index.d.ts +0 -9
  48. package/es/polygon/index.js +0 -13
  49. package/es/polygon/models/ocean.js +1 -2
  50. package/es/polygon/models/water.js +1 -2
  51. package/es/raster/index.d.ts +0 -9
  52. package/es/raster/index.js +0 -13
  53. package/es/raster/models/raster.js +1 -2
  54. package/es/raster/models/rasterRgb.js +1 -2
  55. package/es/raster/models/rasterTile.js +1 -2
  56. package/es/raster/raster.d.ts +0 -9
  57. package/es/raster/raster.js +0 -13
  58. package/es/tile/interaction/TilePickService.d.ts +16 -0
  59. package/es/tile/{manager/tilePickerManager.js → interaction/TilePickService.js} +19 -84
  60. package/es/tile/interaction/getFeatureData.d.ts +0 -0
  61. package/es/tile/interaction/getFeatureData.js +0 -0
  62. package/es/tile/interaction/getRasterData.d.ts +4 -0
  63. package/es/tile/interaction/getRasterData.js +70 -0
  64. package/es/tile/interaction/utils.d.ts +11 -0
  65. package/es/tile/interaction/utils.js +97 -0
  66. package/es/tile/interface.d.ts +1 -2
  67. package/es/tile/manager/{baseTileManager.d.ts → base.d.ts} +8 -5
  68. package/es/tile/manager/{baseTileManager.js → base.js} +53 -14
  69. package/es/tile/manager/layerManager.d.ts +19 -0
  70. package/es/tile/manager/{tileLayerManager.js → layerManager.js} +75 -76
  71. package/es/tile/manager/{baseMapTileLayerManager.d.ts → mapLayerManager.d.ts} +2 -2
  72. package/es/tile/manager/{baseMapTileLayerManager.js → mapLayerManager.js} +4 -4
  73. package/es/tile/models/tileModel.js +4 -4
  74. package/es/tile/render/TileRenderService.d.ts +10 -0
  75. package/es/tile/render/TileRenderService.js +68 -0
  76. package/es/tile/{manager/tileConfigManager.d.ts → style/TileStyleService.d.ts} +2 -2
  77. package/es/tile/{manager/tileConfigManager.js → style/TileStyleService.js} +8 -11
  78. package/es/tile/style/constants.d.ts +13 -0
  79. package/es/tile/style/constants.js +17 -0
  80. package/es/tile/style/utils.d.ts +9 -0
  81. package/es/tile/style/utils.js +139 -0
  82. package/es/tile/tileFactory/base.d.ts +8 -7
  83. package/es/tile/tileFactory/base.js +116 -187
  84. package/es/tile/tileFactory/layers/rasterDataLayer.d.ts +11 -0
  85. package/es/tile/tileFactory/{rasterDataLayer.js → layers/rasterDataLayer.js} +3 -16
  86. package/es/tile/{tileTest.d.ts → tileFactory/layers/tileTest.d.ts} +2 -2
  87. package/es/tile/{tileTest.js → tileFactory/layers/tileTest.js} +2 -2
  88. package/es/tile/tileFactory/{vectorLayer.d.ts → layers/vectorLayer.d.ts} +9 -17
  89. package/es/tile/tileFactory/{vectorLayer.js → layers/vectorLayer.js} +9 -20
  90. package/es/tile/tileFactory/line.js +0 -3
  91. package/es/tile/tileFactory/mask.js +0 -3
  92. package/es/tile/tileFactory/point.js +0 -3
  93. package/es/tile/tileFactory/polygon.js +0 -3
  94. package/es/tile/tileFactory/raster.js +0 -3
  95. package/es/tile/tileFactory/rasterData.js +2 -7
  96. package/es/tile/tileFactory/test.js +1 -12
  97. package/es/tile/tileLayer/MapTileLayer.d.ts +6 -0
  98. package/es/tile/tileLayer/MapTileLayer.js +48 -0
  99. package/es/tile/tileLayer/TileLayer.d.ts +22 -0
  100. package/es/tile/tileLayer/TileLayer.js +198 -0
  101. package/es/tile/tileLayer/{baseMapTileLayer.d.ts → base.d.ts} +19 -16
  102. package/es/tile/tileLayer/{baseMapTileLayer.js → base.js} +118 -101
  103. package/es/tile/utils.d.ts +7 -4
  104. package/es/tile/utils.js +14 -74
  105. package/es/utils/dataMappingStyle.js +0 -3
  106. package/es/utils/extrude_polyline.d.ts +1 -0
  107. package/es/utils/extrude_polyline.js +5 -3
  108. package/es/utils/multiPassRender.js +0 -1
  109. package/es/wind/index.d.ts +0 -9
  110. package/es/wind/index.js +0 -13
  111. package/es/wind/models/wind.d.ts +0 -9
  112. package/es/wind/models/wind.js +1 -15
  113. package/lib/Geometry/index.js +0 -13
  114. package/lib/Geometry/models/billboard.js +0 -13
  115. package/lib/Geometry/models/plane.js +0 -13
  116. package/lib/Geometry/models/sprite.js +0 -13
  117. package/lib/canvas/index.js +0 -13
  118. package/lib/citybuliding/building.js +0 -13
  119. package/lib/core/BaseLayer.js +20 -13
  120. package/lib/core/BaseModel.js +1 -0
  121. package/lib/core/triangulation.js +2 -1
  122. package/lib/heatmap/index.js +0 -13
  123. package/lib/heatmap/models/heatmap.js +1 -3
  124. package/lib/image/index.js +0 -13
  125. package/lib/image/models/dataImage.js +1 -15
  126. package/lib/image/models/image.js +1 -15
  127. package/lib/image/models/tileDataImage.js +1 -15
  128. package/lib/index.js +1 -1
  129. package/lib/line/index.js +0 -13
  130. package/lib/line/models/great_circle.js +3 -3
  131. package/lib/mask/index.js +0 -13
  132. package/lib/plugins/DataMappingPlugin.js +2 -2
  133. package/lib/plugins/DataSourcePlugin.js +1 -1
  134. package/lib/plugins/FeatureScalePlugin.js +5 -3
  135. package/lib/plugins/LayerModelPlugin.js +1 -1
  136. package/lib/plugins/LightingPlugin.js +1 -1
  137. package/lib/plugins/RegisterStyleAttributePlugin.js +9 -13
  138. package/lib/plugins/UpdateStyleAttributePlugin.js +1 -1
  139. package/lib/point/index.js +0 -13
  140. package/lib/point/models/earthFill.js +2 -2
  141. package/lib/point/models/image.js +1 -1
  142. package/lib/polygon/index.js +0 -13
  143. package/lib/polygon/models/ocean.js +1 -2
  144. package/lib/polygon/models/water.js +1 -2
  145. package/lib/raster/index.js +0 -13
  146. package/lib/raster/models/raster.js +1 -2
  147. package/lib/raster/models/rasterRgb.js +1 -2
  148. package/lib/raster/models/rasterTile.js +1 -2
  149. package/lib/raster/raster.js +0 -13
  150. package/lib/tile/{manager/tilePickerManager.js → interaction/TilePickService.js} +20 -82
  151. package/lib/tile/interaction/getFeatureData.js +1 -0
  152. package/lib/tile/interaction/getRasterData.js +83 -0
  153. package/lib/tile/interaction/utils.js +120 -0
  154. package/lib/tile/manager/{baseTileManager.js → base.js} +56 -16
  155. package/lib/tile/manager/{tileLayerManager.js → layerManager.js} +77 -75
  156. package/lib/tile/manager/{baseMapTileLayerManager.js → mapLayerManager.js} +4 -4
  157. package/lib/tile/models/tileModel.js +4 -4
  158. package/lib/tile/render/TileRenderService.js +78 -0
  159. package/lib/tile/{manager/tileConfigManager.js → style/TileStyleService.js} +9 -9
  160. package/lib/tile/style/constants.js +26 -0
  161. package/lib/tile/style/utils.js +163 -0
  162. package/lib/tile/tileFactory/base.js +117 -187
  163. package/lib/tile/tileFactory/{rasterDataLayer.js → layers/rasterDataLayer.js} +3 -16
  164. package/lib/tile/{tileTest.js → tileFactory/layers/tileTest.js} +2 -2
  165. package/lib/tile/tileFactory/{vectorLayer.js → layers/vectorLayer.js} +8 -20
  166. package/lib/tile/tileFactory/line.js +0 -3
  167. package/lib/tile/tileFactory/mask.js +0 -3
  168. package/lib/tile/tileFactory/point.js +0 -3
  169. package/lib/tile/tileFactory/polygon.js +0 -3
  170. package/lib/tile/tileFactory/raster.js +0 -3
  171. package/lib/tile/tileFactory/rasterData.js +2 -8
  172. package/lib/tile/tileFactory/test.js +1 -13
  173. package/lib/tile/tileLayer/MapTileLayer.js +63 -0
  174. package/lib/tile/tileLayer/TileLayer.js +215 -0
  175. package/lib/tile/tileLayer/{baseMapTileLayer.js → base.js} +119 -96
  176. package/lib/tile/utils.js +19 -86
  177. package/lib/utils/dataMappingStyle.js +0 -3
  178. package/lib/utils/extrude_polyline.js +5 -2
  179. package/lib/utils/multiPassRender.js +0 -1
  180. package/lib/wind/index.js +0 -13
  181. package/lib/wind/models/wind.js +1 -15
  182. package/package.json +6 -6
  183. package/es/tile/manager/tileLayerManager.d.ts +0 -15
  184. package/es/tile/manager/tilePickerManager.d.ts +0 -21
  185. package/es/tile/tileFactory/rasterDataLayer.d.ts +0 -20
  186. package/es/tile/tileLayer/baseTileLayer.d.ts +0 -48
  187. package/es/tile/tileLayer/baseTileLayer.js +0 -420
  188. package/es/tile/tmsMapTileLayer.d.ts +0 -7
  189. package/es/tile/tmsMapTileLayer.js +0 -97
  190. package/es/tile/tmsTileLayer.d.ts +0 -7
  191. package/es/tile/tmsTileLayer.js +0 -101
  192. package/lib/tile/tileLayer/baseTileLayer.js +0 -429
  193. package/lib/tile/tmsMapTileLayer.js +0 -114
  194. package/lib/tile/tmsTileLayer.js +0 -118
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.clearPickState = clearPickState;
9
+ exports.selectFeature = selectFeature;
10
+ exports.setFeatureActive = setFeatureActive;
11
+ exports.setFeatureSelect = setFeatureSelect;
12
+ exports.setHighlight = setHighlight;
13
+ exports.setPickState = setPickState;
14
+ exports.setSelect = setSelect;
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _l7Utils = require("@antv/l7-utils");
19
+
20
+ function clearPickState(layers) {
21
+ layers.filter(function (layer) {
22
+ return layer.inited && layer.isVisible();
23
+ }).filter(function (layer) {
24
+ return layer.getCurrentSelectedId() !== null;
25
+ }).map(function (layer) {
26
+ selectFeature(layer, new Uint8Array([0, 0, 0, 0]));
27
+ layer.setCurrentSelectedId(null);
28
+ });
29
+ }
30
+
31
+ function setSelect(layers, pickedColors, renderList) {
32
+ var selectedId = (0, _l7Utils.decodePickingColor)(pickedColors);
33
+ var pickColor;
34
+ layers.map(function (layer) {
35
+ if (layer.getCurrentSelectedId() === null || selectedId !== layer.getCurrentSelectedId()) {
36
+ selectFeature(layer, pickedColors);
37
+ layer.setCurrentSelectedId(selectedId);
38
+ pickColor = pickedColors;
39
+ } else {
40
+ selectFeature(layer, new Uint8Array([0, 0, 0, 0])); // toggle select
41
+
42
+ layer.setCurrentSelectedId(null);
43
+ pickColor = null;
44
+ }
45
+ }); // unselect normal layer
46
+
47
+ renderList.filter(function (layer) {
48
+ return layer.inited && !layer.isVector && layer.isVisible() && layer.needPick('click');
49
+ }).filter(function (layer) {
50
+ return layer.getCurrentSelectedId() !== null;
51
+ }).map(function (layer) {
52
+ selectFeature(layer, new Uint8Array([0, 0, 0, 0]));
53
+ layer.setCurrentSelectedId(null);
54
+ });
55
+ return pickColor;
56
+ }
57
+
58
+ function setHighlight(layers, pickedColors) {
59
+ var pickId = (0, _l7Utils.decodePickingColor)(pickedColors);
60
+ layers.filter(function (layer) {
61
+ return layer.inited && layer.isVisible() && layer.isVector;
62
+ }) // Tip: 使用 vectorLayer 上的 pickID 优化高亮操作(过滤重复操作)
63
+ // @ts-ignore
64
+ .filter(function (layer) {
65
+ return layer.getPickID() !== pickId;
66
+ }).map(function (layer) {
67
+ // @ts-ignore
68
+ layer.setPickID(pickId);
69
+ layer.hooks.beforeHighlight.call(pickedColors);
70
+ });
71
+ }
72
+
73
+ function setPickState(layers, pickColors) {
74
+ if (pickColors.select) {
75
+ layers.map(function (layer) {
76
+ // if(layer.modelLoaded) {
77
+ // selectFeature(layer, this.pickColors.select);
78
+ // } else {
79
+ // layer.once('modelLoaded', () => {
80
+ // selectFeature(layer, this.pickColors.select);
81
+ // })
82
+ // }
83
+ selectFeature(layer, pickColors.select);
84
+ });
85
+ }
86
+
87
+ if (pickColors.active) {
88
+ layers.filter(function (layer) {
89
+ return layer.inited && layer.isVisible();
90
+ }).map(function (layer) {
91
+ layer.hooks.beforeHighlight.call(pickColors.active);
92
+ });
93
+ }
94
+ }
95
+
96
+ function selectFeature(layer, pickedColors) {
97
+ // @ts-ignore
98
+ var _pickedColors = (0, _slicedToArray2.default)(pickedColors, 3),
99
+ r = _pickedColors[0],
100
+ g = _pickedColors[1],
101
+ b = _pickedColors[2];
102
+
103
+ layer.hooks.beforeSelect.call([r, g, b]);
104
+ }
105
+
106
+ function setFeatureSelect(color, layers) {
107
+ var id = (0, _l7Utils.decodePickingColor)(color);
108
+ layers.map(function (layer) {
109
+ selectFeature(layer, color);
110
+ layer.setCurrentSelectedId(id);
111
+ });
112
+ }
113
+
114
+ function setFeatureActive(color, layers) {
115
+ var id = (0, _l7Utils.decodePickingColor)(color);
116
+ layers.map(function (layer) {
117
+ layer.hooks.beforeHighlight.call(color);
118
+ layer.setCurrentPickId(id);
119
+ });
120
+ }
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.TileManager = void 0;
8
+ exports.Base = void 0;
9
9
 
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
 
@@ -13,17 +13,57 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
13
13
 
14
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
15
 
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
16
18
  var _tileFactory = require("../tileFactory");
17
19
 
18
- var TileManager = /*#__PURE__*/function () {
19
- function TileManager() {
20
- (0, _classCallCheck2.default)(this, TileManager);
20
+ var _utils = require("../utils");
21
+
22
+ var Base = /*#__PURE__*/function () {
23
+ function Base() {
24
+ (0, _classCallCheck2.default)(this, Base);
25
+ (0, _defineProperty2.default)(this, "tileCache", new Map());
21
26
  }
22
27
 
23
- (0, _createClass2.default)(TileManager, [{
24
- key: "createTile",
25
- value: function createTile(tile) {
26
- return this.tileFactory.createTile(tile, this.initOptions);
28
+ (0, _createClass2.default)(Base, [{
29
+ key: "hasTile",
30
+ value: function hasTile(tile) {
31
+ return !!this.tileCache.has(tile.key);
32
+ }
33
+ }, {
34
+ key: "addTile",
35
+ value: function addTile(tile) {
36
+ var _tile$layerIDList;
37
+
38
+ // oldTile 存在的时候暂时直接结束
39
+ // TODO:合并不存在的时候
40
+ if (this.hasTile(tile)) return {
41
+ layers: [],
42
+ layerIDList: []
43
+ }; // 存储当前 tile
44
+
45
+ this.tileCache.set(tile.key, tile); // 创建 tile 对应的 layers
46
+
47
+ var layerCollections = this.tileFactory.createTile(tile, this.initOptions); // regist layer 将创建出来的 layer 进行注册初始化操作
48
+
49
+ (0, _utils.registerLayers)(this.parent, layerCollections.layers);
50
+
51
+ (_tile$layerIDList = tile.layerIDList).push.apply(_tile$layerIDList, (0, _toConsumableArray2.default)(layerCollections.layerIDList)); // add layer into layerGroup
52
+
53
+
54
+ this.addChildren(layerCollections.layers);
55
+ layerCollections.layers.map(function (layer) {
56
+ layer.once('modelLoaded', function () {
57
+ tile.layerLoad();
58
+ });
59
+ });
60
+ return layerCollections;
61
+ }
62
+ }, {
63
+ key: "removeTile",
64
+ value: function removeTile(tile) {
65
+ this.tileCache.delete(tile.key);
66
+ this.removeChildren(tile.layerIDList, false);
27
67
  }
28
68
  }, {
29
69
  key: "addChild",
@@ -31,15 +71,15 @@ var TileManager = /*#__PURE__*/function () {
31
71
  this.children.push(layer);
32
72
  }
33
73
  }, {
34
- key: "addChilds",
35
- value: function addChilds(layers) {
74
+ key: "addChildren",
75
+ value: function addChildren(layers) {
36
76
  var _this$children;
37
77
 
38
78
  (_this$children = this.children).push.apply(_this$children, (0, _toConsumableArray2.default)(layers));
39
79
  }
40
80
  }, {
41
- key: "removeChilds",
42
- value: function removeChilds(layerIDList) {
81
+ key: "removeChildren",
82
+ value: function removeChildren(layerIDList) {
43
83
  var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
44
84
  var remveLayerList = [];
45
85
  var cacheLayerList = [];
@@ -63,8 +103,8 @@ var TileManager = /*#__PURE__*/function () {
63
103
  layer.destroy();
64
104
  }
65
105
  }, {
66
- key: "getChilds",
67
- value: function getChilds(layerIDList) {
106
+ key: "getChildren",
107
+ value: function getChildren(layerIDList) {
68
108
  return this.children.filter(function (child) {
69
109
  return layerIDList.includes(child.id);
70
110
  });
@@ -115,7 +155,7 @@ var TileManager = /*#__PURE__*/function () {
115
155
  key: "destroy",
116
156
  value: function destroy() {}
117
157
  }]);
118
- return TileManager;
158
+ return Base;
119
159
  }();
120
160
 
121
- exports.TileManager = TileManager;
161
+ exports.Base = Base;
@@ -17,22 +17,28 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
17
17
 
18
18
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
19
 
20
- var _baseTileManager = require("./baseTileManager");
20
+ var _base = require("./base");
21
21
 
22
22
  var _l7Utils = require("@antv/l7-utils");
23
23
 
24
24
  var _utils = require("../utils");
25
25
 
26
- var _tileConfigManager = _interopRequireDefault(require("./tileConfigManager"));
26
+ var _TileStyleService = require("../style/TileStyleService");
27
27
 
28
- var _tilePickerManager = _interopRequireDefault(require("./tilePickerManager"));
28
+ var _TilePickService = require("../interaction/TilePickService");
29
+
30
+ var _TileRenderService = require("../render/TileRenderService");
31
+
32
+ var _constants = require("../style/constants");
33
+
34
+ var _utils2 = require("../style/utils");
29
35
 
30
36
  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
37
 
32
38
  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
39
 
34
- var TileLayerManager = /*#__PURE__*/function (_TileManager) {
35
- (0, _inherits2.default)(TileLayerManager, _TileManager);
40
+ var TileLayerManager = /*#__PURE__*/function (_Base) {
41
+ (0, _inherits2.default)(TileLayerManager, _Base);
36
42
 
37
43
  var _super = _createSuper(TileLayerManager);
38
44
 
@@ -46,8 +52,9 @@ var TileLayerManager = /*#__PURE__*/function (_TileManager) {
46
52
  _this.mapService = mapService;
47
53
  _this.rendererService = rendererService;
48
54
  _this.transforms = transforms;
49
- _this.tilePickManager = new _tilePickerManager.default(parent, rendererService, pickingService, _this.children);
50
- _this.tileConfigManager = new _tileConfigManager.default();
55
+ _this.tileRenderService = new _TileRenderService.TileRenderService(rendererService);
56
+ _this.tilePickService = new _TilePickService.TilePickService(parent, rendererService, pickingService, _this.children, _this.tileRenderService);
57
+ _this.tileStyleService = new _TileStyleService.TileStyleService();
51
58
 
52
59
  _this.setSubLayerInitOption();
53
60
 
@@ -61,17 +68,13 @@ var TileLayerManager = /*#__PURE__*/function (_TileManager) {
61
68
  (0, _createClass2.default)(TileLayerManager, [{
62
69
  key: "render",
63
70
  value: function render() {
64
- var _this$tileConfigManag, _this$tilePickManager;
65
-
66
- (_this$tileConfigManag = this.tileConfigManager) === null || _this$tileConfigManag === void 0 ? void 0 : _this$tileConfigManag.checkConfig(this.parent);
67
- (_this$tilePickManager = this.tilePickManager) === null || _this$tilePickManager === void 0 ? void 0 : _this$tilePickManager.normalRender(this.children);
71
+ this.tileStyleService.checkConfig(this.parent);
72
+ this.tileRenderService.render(this.children);
68
73
  }
69
74
  }, {
70
75
  key: "pickLayers",
71
76
  value: function pickLayers(target) {
72
- var _this$tilePickManager2;
73
-
74
- return (_this$tilePickManager2 = this.tilePickManager) === null || _this$tilePickManager2 === void 0 ? void 0 : _this$tilePickManager2.pickRender(this.children, target);
77
+ return this.tilePickService.pick(this.children, target);
75
78
  }
76
79
  }, {
77
80
  key: "setSubLayerInitOption",
@@ -118,8 +121,8 @@ var TileLayerManager = /*#__PURE__*/function (_TileManager) {
118
121
  _ref$pixelConstantRGB = _ref.pixelConstantRGB,
119
122
  pixelConstantRGB = _ref$pixelConstantRGB === void 0 ? 0.1 : _ref$pixelConstantRGB;
120
123
 
121
- var colorValue = this.tileConfigManager.getAttributeScale(this.parent, 'color');
122
- var sizeValue = this.tileConfigManager.getAttributeScale(this.parent, 'size');
124
+ var colorValue = this.tileStyleService.getAttributeScale(this.parent, 'color');
125
+ var sizeValue = this.tileStyleService.getAttributeScale(this.parent, 'size');
123
126
  var source = this.parent.getSource();
124
127
 
125
128
  var _ref2 = (source === null || source === void 0 ? void 0 : (_source$data = source.data) === null || _source$data === void 0 ? void 0 : _source$data.tilesetOptions) || {},
@@ -169,56 +172,53 @@ var TileLayerManager = /*#__PURE__*/function (_TileManager) {
169
172
  this.initOptions.colorTexture = colorTexture;
170
173
  }
171
174
  }
175
+ }, {
176
+ key: "getInitOptionValue",
177
+ value: function getInitOptionValue(field) {
178
+ var _this$parent$getAttri, _this$parent$getAttri2, _this$parent$getAttri3;
179
+
180
+ switch (field) {
181
+ case 'color':
182
+ return (_this$parent$getAttri = this.parent.getAttribute('color')) === null || _this$parent$getAttri === void 0 ? void 0 : _this$parent$getAttri.scale;
183
+
184
+ case 'shape':
185
+ return (_this$parent$getAttri2 = this.parent.getAttribute('shape')) === null || _this$parent$getAttri2 === void 0 ? void 0 : _this$parent$getAttri2.scale;
186
+
187
+ case 'size':
188
+ return (_this$parent$getAttri3 = this.parent.getAttribute('size')) === null || _this$parent$getAttri3 === void 0 ? void 0 : _this$parent$getAttri3.scale;
189
+ // @ts-ignore
190
+
191
+ default:
192
+ return this.initOptions[field];
193
+ }
194
+ }
195
+ }, {
196
+ key: "setInitOptionValue",
197
+ value: function setInitOptionValue(field, value) {
198
+ // @ts-ignore
199
+ this.initOptions[field] = value;
200
+ }
172
201
  }, {
173
202
  key: "setConfigListener",
174
203
  value: function setConfigListener() {
175
204
  var _this2 = this;
176
205
 
177
- // RasterLayer PolygonLayer LineLayer PointLayer
178
- // All Tile Layer Need Listen
179
- this.tileConfigManager.setConfig('opacity', this.initOptions.opacity);
180
- this.tileConfigManager.setConfig('zIndex', this.initOptions.zIndex);
181
- this.tileConfigManager.setConfig('mask', this.initOptions.mask);
182
-
183
- if (this.parent.type === 'RasterLayer') {
184
- // Raster Tile Layer Need Listen
185
- this.tileConfigManager.setConfig('rampColors', this.initOptions.rampColors);
186
- this.tileConfigManager.setConfig('domain', this.initOptions.domain);
187
- this.tileConfigManager.setConfig('clampHigh', this.initOptions.clampHigh);
188
- this.tileConfigManager.setConfig('clampLow', this.initOptions.clampLow);
189
- this.tileConfigManager.setConfig('pixelConstant', this.initOptions.pixelConstant);
190
- this.tileConfigManager.setConfig('pixelConstantR', this.initOptions.pixelConstantR);
191
- this.tileConfigManager.setConfig('pixelConstantG', this.initOptions.pixelConstantG);
192
- this.tileConfigManager.setConfig('pixelConstantB', this.initOptions.pixelConstantB);
193
- this.tileConfigManager.setConfig('pixelConstantRGB', this.initOptions.pixelConstantRGB);
194
- } else {
195
- var _this$parent$getAttri, _this$parent$getAttri2, _this$parent$getAttri3;
196
-
197
- // Vector Tile Layer Need Listen
198
- this.tileConfigManager.setConfig('stroke', this.initOptions.stroke);
199
- this.tileConfigManager.setConfig('strokeWidth', this.initOptions.strokeWidth);
200
- this.tileConfigManager.setConfig('strokeOpacity', this.initOptions.strokeOpacity);
201
- this.tileConfigManager.setConfig('color', (_this$parent$getAttri = this.parent.getAttribute('color')) === null || _this$parent$getAttri === void 0 ? void 0 : _this$parent$getAttri.scale);
202
- this.tileConfigManager.setConfig('shape', (_this$parent$getAttri2 = this.parent.getAttribute('shape')) === null || _this$parent$getAttri2 === void 0 ? void 0 : _this$parent$getAttri2.scale);
203
- this.tileConfigManager.setConfig('size', (_this$parent$getAttri3 = this.parent.getAttribute('size')) === null || _this$parent$getAttri3 === void 0 ? void 0 : _this$parent$getAttri3.scale);
204
- }
205
-
206
- this.tileConfigManager.on('updateConfig', function (updateConfigs) {
206
+ var styleConfigs = _constants.styles[this.parent.type] || [];
207
+ styleConfigs.map(function (style) {
208
+ _this2.tileStyleService.setConfig(style, _this2.getInitOptionValue(style));
209
+ });
210
+ this.tileStyleService.on('updateConfig', function (updateConfigs) {
207
211
  updateConfigs.map(function (key) {
208
- _this2.updateStyle(key);
209
-
210
- return '';
212
+ return _this2.updateStyle(key);
211
213
  });
212
214
  });
213
215
  }
214
216
  }, {
215
- key: "updateStyle",
216
- value: function updateStyle(style) {
217
+ key: "updateAttribute",
218
+ value: function updateAttribute(style) {
217
219
  var _this3 = this;
218
220
 
219
- var updateValue = null;
220
-
221
- if (['size', 'color', 'shape'].includes(style)) {
221
+ if (_constants.Attributes.includes(style)) {
222
222
  var _this$parent$getAttri4;
223
223
 
224
224
  var scaleValue = (_this$parent$getAttri4 = this.parent.getAttribute(style)) === null || _this$parent$getAttri4 === void 0 ? void 0 : _this$parent$getAttri4.scale;
@@ -227,12 +227,18 @@ var TileLayerManager = /*#__PURE__*/function (_TileManager) {
227
227
  return;
228
228
  }
229
229
 
230
- updateValue = scaleValue;
231
230
  this.children.map(function (child) {
232
- _this3.tileFactory.setStyleAttributeField(child, style, scaleValue);
233
-
234
- return '';
231
+ return (0, _utils2.setStyleAttributeField)(child, _this3.parent, style, scaleValue);
235
232
  });
233
+ }
234
+ }
235
+ }, {
236
+ key: "updateStyle",
237
+ value: function updateStyle(style) {
238
+ var updateValue = null;
239
+
240
+ if (_constants.Attributes.includes(style)) {
241
+ this.updateAttribute(style);
236
242
  } else {
237
243
  var layerConfig = this.parent.getLayerConfig();
238
244
 
@@ -243,31 +249,27 @@ var TileLayerManager = /*#__PURE__*/function (_TileManager) {
243
249
 
244
250
  var config = layerConfig[style];
245
251
  updateValue = config;
246
- (0, _utils.updateLayersConfig)(this.children, style, config);
247
-
248
- if (style === 'rampColors' && 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);
258
- }
259
- } // @ts-ignore
260
252
 
253
+ switch (style) {
254
+ case 'rampColors':
255
+ var texture = (0, _utils2.updateTexture)(config, this.children, this.rendererService);
256
+ this.initOptions.colorTexture = texture;
257
+ break;
258
+
259
+ default:
260
+ (0, _utils2.updateLayersConfig)(this.children, style, config);
261
+ }
262
+ }
261
263
 
262
- this.initOptions[style] = updateValue;
264
+ this.setInitOptionValue(style, updateValue);
263
265
  }
264
266
  }, {
265
267
  key: "destroy",
266
268
  value: function destroy() {
267
- this.tilePickManager.destroy();
269
+ this.tilePickService.destroy();
268
270
  }
269
271
  }]);
270
272
  return TileLayerManager;
271
- }(_baseTileManager.TileManager);
273
+ }(_base.Base);
272
274
 
273
275
  exports.TileLayerManager = TileLayerManager;
@@ -17,7 +17,7 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
17
17
 
18
18
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
19
 
20
- var _baseTileManager = require("./baseTileManager");
20
+ var _base = require("./base");
21
21
 
22
22
  var _utils = require("../utils");
23
23
 
@@ -25,8 +25,8 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
25
25
 
26
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
27
 
28
- var BaseMapTileLayerManager = /*#__PURE__*/function (_TileManager) {
29
- (0, _inherits2.default)(BaseMapTileLayerManager, _TileManager);
28
+ var BaseMapTileLayerManager = /*#__PURE__*/function (_Base) {
29
+ (0, _inherits2.default)(BaseMapTileLayerManager, _Base);
30
30
 
31
31
  var _super = _createSuper(BaseMapTileLayerManager);
32
32
 
@@ -129,6 +129,6 @@ var BaseMapTileLayerManager = /*#__PURE__*/function (_TileManager) {
129
129
  }
130
130
  }]);
131
131
  return BaseMapTileLayerManager;
132
- }(_baseTileManager.TileManager);
132
+ }(_base.Base);
133
133
 
134
134
  exports.BaseMapTileLayerManager = BaseMapTileLayerManager;
@@ -19,9 +19,9 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
19
19
 
20
20
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
21
21
 
22
- var _tmsTileLayer = require("../tmsTileLayer");
22
+ var _TileLayer = require("../tileLayer/TileLayer");
23
23
 
24
- var _tmsMapTileLayer = require("../tmsMapTileLayer");
24
+ var _MapTileLayer = require("../tileLayer/MapTileLayer");
25
25
 
26
26
  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); }; }
27
27
 
@@ -47,10 +47,10 @@ var TileModel = /*#__PURE__*/function (_BaseModel) {
47
47
  value: function getTileLayer(usage) {
48
48
  switch (usage) {
49
49
  case 'basemap':
50
- return _tmsMapTileLayer.TMSBaseMapTileLayer;
50
+ return _MapTileLayer.MapTileLayer;
51
51
 
52
52
  default:
53
- return _tmsTileLayer.TMSTileLayer;
53
+ return _TileLayer.TileLayer;
54
54
  }
55
55
  }
56
56
  }, {
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TileRenderService = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ /**
15
+ * 主要用于瓦片图层队列的渲染
16
+ */
17
+ var TileRenderService = /*#__PURE__*/function () {
18
+ function TileRenderService(rendererService) {
19
+ (0, _classCallCheck2.default)(this, TileRenderService);
20
+ this.rendererService = rendererService;
21
+ }
22
+
23
+ (0, _createClass2.default)(TileRenderService, [{
24
+ key: "render",
25
+ value: function render(layers) {
26
+ var _this = this;
27
+
28
+ layers.filter(function (layer) {
29
+ return layer.inited;
30
+ }).filter(function (layer) {
31
+ return layer.isVisible();
32
+ }).map(function (layer) {
33
+ layer.hooks.beforeRenderData.call();
34
+ layer.hooks.beforeRender.call();
35
+
36
+ if (layer.masks.length > 0) {
37
+ // 清除上一次的模版缓存
38
+ _this.rendererService.clear({
39
+ stencil: 0,
40
+ depth: 1,
41
+ framebuffer: null
42
+ });
43
+
44
+ layer.masks.map(function (m) {
45
+ m.hooks.beforeRenderData.call();
46
+ m.hooks.beforeRender.call();
47
+ m.render();
48
+ m.hooks.afterRender.call();
49
+ });
50
+ }
51
+
52
+ layer.render();
53
+ layer.hooks.afterRender.call();
54
+ });
55
+ }
56
+ }, {
57
+ key: "renderMask",
58
+ value: function renderMask(layer) {
59
+ if (layer.inited && layer.isVisible() && layer.masks.length > 0) {
60
+ layer.hooks.beforeRender.call();
61
+ this.rendererService.clear({
62
+ stencil: 0,
63
+ depth: 1,
64
+ framebuffer: null
65
+ });
66
+ layer.masks.map(function (m) {
67
+ m.hooks.beforeRender.call();
68
+ m.render();
69
+ m.hooks.afterRender.call();
70
+ });
71
+ layer.hooks.afterRender.call();
72
+ }
73
+ }
74
+ }]);
75
+ return TileRenderService;
76
+ }();
77
+
78
+ exports.TileRenderService = TileRenderService;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.TileStyleService = void 0;
9
9
 
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
 
@@ -29,22 +29,22 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
29
29
 
30
30
  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; } }
31
31
 
32
- var TileConfigManager = /*#__PURE__*/function (_EventEmitter) {
33
- (0, _inherits2.default)(TileConfigManager, _EventEmitter);
32
+ var TileStyleService = /*#__PURE__*/function (_EventEmitter) {
33
+ (0, _inherits2.default)(TileStyleService, _EventEmitter);
34
34
 
35
- var _super = _createSuper(TileConfigManager);
35
+ var _super = _createSuper(TileStyleService);
36
36
 
37
- function TileConfigManager() {
37
+ function TileStyleService() {
38
38
  var _this;
39
39
 
40
- (0, _classCallCheck2.default)(this, TileConfigManager);
40
+ (0, _classCallCheck2.default)(this, TileStyleService);
41
41
  _this = _super.call(this);
42
42
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "checkConfigList", []);
43
43
  _this.cacheConfig = new Map();
44
44
  return _this;
45
45
  }
46
46
 
47
- (0, _createClass2.default)(TileConfigManager, [{
47
+ (0, _createClass2.default)(TileStyleService, [{
48
48
  key: "setConfig",
49
49
  value: function setConfig(key, value) {
50
50
  if (!this.checkConfigList.includes(key)) {
@@ -127,7 +127,7 @@ var TileConfigManager = /*#__PURE__*/function (_EventEmitter) {
127
127
  return scaleValue;
128
128
  }
129
129
  }]);
130
- return TileConfigManager;
130
+ return TileStyleService;
131
131
  }(_eventemitter.default);
132
132
 
133
- exports.default = TileConfigManager;
133
+ exports.TileStyleService = TileStyleService;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.styles = exports.Attributes = void 0;
7
+
8
+ /**
9
+ * 瓦片图层的样式
10
+ */
11
+ var Attributes = ['size', 'color', 'shape'];
12
+ exports.Attributes = Attributes;
13
+ var common = ['opacity', 'zIndex'];
14
+ var rasterLayer = ['mask', 'rampColors', 'domain', 'clampHigh', 'clampLow', 'pixelConstant', 'pixelConstantR', 'pixelConstantG', 'pixelConstantB', 'pixelConstantRGB'].concat(common);
15
+ var pointLayer = ['stroke', 'strokeWidth', 'strokeOpacity', 'color', 'shape', 'size'].concat(common);
16
+ var lineLayer = ['stroke', 'strokeWidth', 'strokeOpacity', 'color', 'shape', 'size'].concat(common);
17
+ var polygonLayer = ['color', 'shape'].concat(common);
18
+ var styles = {
19
+ 'PointLayer': pointLayer,
20
+ 'LineLayer': lineLayer,
21
+ 'PolygonLayer': polygonLayer,
22
+ 'RasterLayer': rasterLayer,
23
+ 'MaskLayer': [],
24
+ 'TileDebugLayer': []
25
+ };
26
+ exports.styles = styles;