@antv/l7-layers 2.8.45 → 2.9.2

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 (171) hide show
  1. package/es/core/BaseLayer.d.ts +3 -1
  2. package/es/core/BaseLayer.js +23 -3
  3. package/es/core/BaseLayer.js.map +1 -1
  4. package/es/core/BaseModel.d.ts +2 -1
  5. package/es/core/BaseModel.js +3 -0
  6. package/es/core/BaseModel.js.map +1 -1
  7. package/es/core/interface.d.ts +12 -0
  8. package/es/core/interface.js.map +1 -1
  9. package/es/image/models/image.js.map +1 -1
  10. package/es/line/index.d.ts +1 -1
  11. package/es/line/index.js +7 -1
  12. package/es/line/index.js.map +1 -1
  13. package/es/line/models/index.d.ts +1 -1
  14. package/es/line/models/index.js +5 -1
  15. package/es/line/models/index.js.map +1 -1
  16. package/es/line/models/tile.d.ts +20 -0
  17. package/es/line/models/tile.js +327 -0
  18. package/es/line/models/tile.js.map +1 -0
  19. package/es/plugins/ShaderUniformPlugin.js +3 -1
  20. package/es/plugins/ShaderUniformPlugin.js.map +1 -1
  21. package/es/point/index.d.ts +1 -1
  22. package/es/point/index.js +8 -2
  23. package/es/point/index.js.map +1 -1
  24. package/es/point/models/index.d.ts +1 -1
  25. package/es/point/models/index.js +5 -1
  26. package/es/point/models/index.js.map +1 -1
  27. package/es/point/models/tile.d.ts +31 -0
  28. package/es/point/models/tile.js +291 -0
  29. package/es/point/models/tile.js.map +1 -0
  30. package/es/polygon/index.js +6 -0
  31. package/es/polygon/index.js.map +1 -1
  32. package/es/polygon/models/index.d.ts +1 -1
  33. package/es/polygon/models/index.js +5 -1
  34. package/es/polygon/models/index.js.map +1 -1
  35. package/es/polygon/models/tile.d.ts +16 -0
  36. package/es/polygon/models/tile.js +137 -0
  37. package/es/polygon/models/tile.js.map +1 -0
  38. package/es/raster/index.d.ts +2 -2
  39. package/es/raster/index.js +4 -4
  40. package/es/raster/index.js.map +1 -1
  41. package/es/raster/models/index.js +1 -1
  42. package/es/raster/models/index.js.map +1 -1
  43. package/es/raster/models/raster.d.ts +1 -0
  44. package/es/raster/models/raster.js +8 -2
  45. package/es/raster/models/raster.js.map +1 -1
  46. package/es/tile/interface.d.ts +28 -0
  47. package/es/tile/interface.js +2 -0
  48. package/es/tile/interface.js.map +1 -0
  49. package/es/tile/manager/tileConfigManager.d.ts +17 -0
  50. package/es/tile/manager/tileConfigManager.js +123 -0
  51. package/es/tile/manager/tileConfigManager.js.map +1 -0
  52. package/es/tile/manager/tileLayerManager.d.ts +34 -0
  53. package/es/tile/manager/tileLayerManager.js +283 -0
  54. package/es/tile/manager/tileLayerManager.js.map +1 -0
  55. package/es/tile/manager/tilePickerManager.d.ts +20 -0
  56. package/es/tile/manager/tilePickerManager.js +167 -0
  57. package/es/tile/manager/tilePickerManager.js.map +1 -0
  58. package/es/tile/models/tileModel.d.ts +8 -0
  59. package/es/tile/models/tileModel.js +61 -0
  60. package/es/tile/models/tileModel.js.map +1 -0
  61. package/es/tile/tileFactory/base.d.ts +41 -0
  62. package/es/tile/tileFactory/base.js +380 -0
  63. package/es/tile/tileFactory/base.js.map +1 -0
  64. package/es/tile/tileFactory/index.d.ts +5 -0
  65. package/es/tile/tileFactory/index.js +30 -0
  66. package/es/tile/tileFactory/index.js.map +1 -0
  67. package/es/tile/tileFactory/line.d.ts +12 -0
  68. package/es/tile/tileFactory/line.js +65 -0
  69. package/es/tile/tileFactory/line.js.map +1 -0
  70. package/es/tile/tileFactory/point.d.ts +12 -0
  71. package/es/tile/tileFactory/point.js +65 -0
  72. package/es/tile/tileFactory/point.js.map +1 -0
  73. package/es/tile/tileFactory/polygon.d.ts +12 -0
  74. package/es/tile/tileFactory/polygon.js +65 -0
  75. package/es/tile/tileFactory/polygon.js.map +1 -0
  76. package/es/tile/tileFactory/raster.d.ts +12 -0
  77. package/es/tile/tileFactory/raster.js +61 -0
  78. package/es/tile/tileFactory/raster.js.map +1 -0
  79. package/es/tile/tileFactory/rasterData.d.ts +12 -0
  80. package/es/tile/tileFactory/rasterData.js +75 -0
  81. package/es/tile/tileFactory/rasterData.js.map +1 -0
  82. package/es/tile/tileFactory/rasterDataLayer.d.ts +19 -0
  83. package/es/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +39 -32
  84. package/es/tile/tileFactory/rasterDataLayer.js.map +1 -0
  85. package/es/tile/tileFactory/vectorLayer.d.ts +27 -0
  86. package/es/tile/tileFactory/vectorLayer.js +131 -0
  87. package/es/tile/tileFactory/vectorLayer.js.map +1 -0
  88. package/es/tile/tileLayer/baseTileLayer.d.ts +51 -0
  89. package/es/tile/tileLayer/baseTileLayer.js +409 -0
  90. package/es/tile/tileLayer/baseTileLayer.js.map +1 -0
  91. package/es/tile/tmsTileLayer.d.ts +7 -0
  92. package/es/tile/tmsTileLayer.js +100 -0
  93. package/es/tile/tmsTileLayer.js.map +1 -0
  94. package/es/tile/utils.d.ts +11 -0
  95. package/es/tile/utils.js +125 -0
  96. package/es/tile/utils.js.map +1 -0
  97. package/lib/core/BaseLayer.js +21 -2
  98. package/lib/core/BaseLayer.js.map +1 -1
  99. package/lib/core/BaseModel.js +2 -0
  100. package/lib/core/BaseModel.js.map +1 -1
  101. package/lib/core/interface.js.map +1 -1
  102. package/lib/image/models/image.js.map +1 -1
  103. package/lib/line/index.js +7 -1
  104. package/lib/line/index.js.map +1 -1
  105. package/lib/line/models/index.js +7 -1
  106. package/lib/line/models/index.js.map +1 -1
  107. package/lib/line/models/tile.js +342 -0
  108. package/lib/line/models/tile.js.map +1 -0
  109. package/lib/plugins/ShaderUniformPlugin.js +3 -1
  110. package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
  111. package/lib/point/index.js +8 -2
  112. package/lib/point/index.js.map +1 -1
  113. package/lib/point/models/index.js +7 -1
  114. package/lib/point/models/index.js.map +1 -1
  115. package/lib/point/models/tile.js +308 -0
  116. package/lib/point/models/tile.js.map +1 -0
  117. package/lib/polygon/index.js +6 -0
  118. package/lib/polygon/index.js.map +1 -1
  119. package/lib/polygon/models/index.js +7 -1
  120. package/lib/polygon/models/index.js.map +1 -1
  121. package/lib/polygon/models/tile.js +152 -0
  122. package/lib/polygon/models/tile.js.map +1 -0
  123. package/lib/raster/index.js +4 -4
  124. package/lib/raster/index.js.map +1 -1
  125. package/lib/raster/models/index.js +2 -2
  126. package/lib/raster/models/index.js.map +1 -1
  127. package/lib/raster/models/raster.js +8 -2
  128. package/lib/raster/models/raster.js.map +1 -1
  129. package/lib/tile/interface.js +2 -0
  130. package/lib/tile/interface.js.map +1 -0
  131. package/lib/tile/manager/tileConfigManager.js +134 -0
  132. package/lib/tile/manager/tileConfigManager.js.map +1 -0
  133. package/lib/tile/manager/tileLayerManager.js +291 -0
  134. package/lib/tile/manager/tileLayerManager.js.map +1 -0
  135. package/lib/tile/manager/tilePickerManager.js +173 -0
  136. package/lib/tile/manager/tilePickerManager.js.map +1 -0
  137. package/lib/tile/models/tileModel.js +73 -0
  138. package/lib/tile/models/tileModel.js.map +1 -0
  139. package/lib/tile/tileFactory/base.js +395 -0
  140. package/lib/tile/tileFactory/base.js.map +1 -0
  141. package/lib/tile/tileFactory/index.js +60 -0
  142. package/lib/tile/tileFactory/index.js.map +1 -0
  143. package/lib/tile/tileFactory/line.js +76 -0
  144. package/lib/tile/tileFactory/line.js.map +1 -0
  145. package/lib/tile/tileFactory/point.js +76 -0
  146. package/lib/tile/tileFactory/point.js.map +1 -0
  147. package/lib/tile/tileFactory/polygon.js +76 -0
  148. package/lib/tile/tileFactory/polygon.js.map +1 -0
  149. package/lib/tile/tileFactory/raster.js +74 -0
  150. package/lib/tile/tileFactory/raster.js.map +1 -0
  151. package/lib/tile/tileFactory/rasterData.js +88 -0
  152. package/lib/tile/tileFactory/rasterData.js.map +1 -0
  153. package/lib/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +40 -32
  154. package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -0
  155. package/lib/tile/tileFactory/vectorLayer.js +145 -0
  156. package/lib/tile/tileFactory/vectorLayer.js.map +1 -0
  157. package/lib/tile/tileLayer/baseTileLayer.js +408 -0
  158. package/lib/tile/tileLayer/baseTileLayer.js.map +1 -0
  159. package/lib/tile/tmsTileLayer.js +116 -0
  160. package/lib/tile/tmsTileLayer.js.map +1 -0
  161. package/lib/tile/utils.js +147 -0
  162. package/lib/tile/utils.js.map +1 -0
  163. package/package.json +7 -5
  164. package/es/core/LayerGroup.d.ts +0 -9
  165. package/es/core/LayerGroup.js.map +0 -1
  166. package/es/raster/models/raste-tile.d.ts +0 -23
  167. package/es/raster/models/raste-tile.js +0 -285
  168. package/es/raster/models/raste-tile.js.map +0 -1
  169. package/lib/core/LayerGroup.js.map +0 -1
  170. package/lib/raster/models/raste-tile.js +0 -294
  171. package/lib/raster/models/raste-tile.js.map +0 -1
@@ -0,0 +1,283 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/createClass";
4
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
+ import { getTileFactory } from '../tileFactory';
6
+ import { getLayerShape, getMaskValue } from '../utils';
7
+ import TileConfigManager from './tileConfigManager';
8
+ import TilePickManager from './tilePickerManager';
9
+ export var TileLayerManager = function () {
10
+ function TileLayerManager(parent, mapService, rendererService, pickingService, layerService) {
11
+ _classCallCheck(this, TileLayerManager);
12
+
13
+ _defineProperty(this, "sourceLayer", void 0);
14
+
15
+ _defineProperty(this, "parent", void 0);
16
+
17
+ _defineProperty(this, "children", void 0);
18
+
19
+ _defineProperty(this, "mapService", void 0);
20
+
21
+ _defineProperty(this, "rendererService", void 0);
22
+
23
+ _defineProperty(this, "tilePickManager", void 0);
24
+
25
+ _defineProperty(this, "tileConfigManager", void 0);
26
+
27
+ _defineProperty(this, "tileFactory", void 0);
28
+
29
+ _defineProperty(this, "initOptions", void 0);
30
+
31
+ this.parent = parent;
32
+ this.children = parent.layerChildren;
33
+ this.mapService = mapService;
34
+ this.rendererService = rendererService;
35
+ this.tilePickManager = new TilePickManager(parent, rendererService, pickingService, this.children, layerService);
36
+ this.tileConfigManager = new TileConfigManager();
37
+ this.setSubLayerInitOptipn();
38
+ this.setConfigListener();
39
+ this.initTileFactory();
40
+ }
41
+
42
+ _createClass(TileLayerManager, [{
43
+ key: "createTile",
44
+ value: function createTile(tile) {
45
+ return this.tileFactory.createTile(tile, this.initOptions);
46
+ }
47
+ }, {
48
+ key: "updateLayersConfig",
49
+ value: function updateLayersConfig(layers, key, value) {
50
+ layers.map(function (layer) {
51
+ if (key === 'mask') {
52
+ layer.style({
53
+ mask: value
54
+ });
55
+ } else {
56
+ layer.updateLayerConfig(_defineProperty({}, key, value));
57
+ }
58
+ });
59
+ }
60
+ }, {
61
+ key: "addChild",
62
+ value: function addChild(layer) {
63
+ this.children.push(layer);
64
+ }
65
+ }, {
66
+ key: "addChilds",
67
+ value: function addChilds(layers) {
68
+ var _this$children;
69
+
70
+ (_this$children = this.children).push.apply(_this$children, _toConsumableArray(layers));
71
+ }
72
+ }, {
73
+ key: "removeChilds",
74
+ value: function removeChilds(layerIDList) {
75
+ var remveLayerList = [];
76
+ var cacheLayerList = [];
77
+ this.children.filter(function (child) {
78
+ layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
79
+ });
80
+ remveLayerList.map(function (layer) {
81
+ return layer.destroy();
82
+ });
83
+ this.children = cacheLayerList;
84
+ }
85
+ }, {
86
+ key: "removeChild",
87
+ value: function removeChild(layer) {
88
+ var layerIndex = this.children.indexOf(layer);
89
+
90
+ if (layerIndex > -1) {
91
+ this.children.splice(layerIndex, 1);
92
+ }
93
+
94
+ layer.destroy();
95
+ }
96
+ }, {
97
+ key: "getChilds",
98
+ value: function getChilds(layerIDList) {
99
+ return this.children.filter(function (child) {
100
+ return layerIDList.includes(child.id);
101
+ });
102
+ }
103
+ }, {
104
+ key: "getChild",
105
+ value: function getChild(layerID) {
106
+ return this.children.filter(function (child) {
107
+ return child.id === layerID;
108
+ })[0];
109
+ }
110
+ }, {
111
+ key: "clearChild",
112
+ value: function clearChild() {
113
+ this.children.forEach(function (layer) {
114
+ layer.destroy();
115
+ });
116
+ this.children.slice(0, this.children.length);
117
+ }
118
+ }, {
119
+ key: "hasChild",
120
+ value: function hasChild(layer) {
121
+ return this.children.includes(layer);
122
+ }
123
+ }, {
124
+ key: "render",
125
+ value: function render() {
126
+ var _this$tileConfigManag, _this$tilePickManager;
127
+
128
+ (_this$tileConfigManag = this.tileConfigManager) === null || _this$tileConfigManag === void 0 ? void 0 : _this$tileConfigManag.checkConfig(this.parent);
129
+ (_this$tilePickManager = this.tilePickManager) === null || _this$tilePickManager === void 0 ? void 0 : _this$tilePickManager.normalRender(this.children);
130
+ }
131
+ }, {
132
+ key: "pickLayers",
133
+ value: function pickLayers(target) {
134
+ var _this$tilePickManager2;
135
+
136
+ return (_this$tilePickManager2 = this.tilePickManager) === null || _this$tilePickManager2 === void 0 ? void 0 : _this$tilePickManager2.pickRender(this.children, target);
137
+ }
138
+ }, {
139
+ key: "setSubLayerInitOptipn",
140
+ value: function setSubLayerInitOptipn() {
141
+ var _source$data;
142
+
143
+ var _ref = this.parent.getLayerConfig(),
144
+ _ref$zIndex = _ref.zIndex,
145
+ zIndex = _ref$zIndex === void 0 ? 0 : _ref$zIndex,
146
+ _ref$opacity = _ref.opacity,
147
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
148
+ _ref$mask = _ref.mask,
149
+ mask = _ref$mask === void 0 ? false : _ref$mask,
150
+ _ref$stroke = _ref.stroke,
151
+ stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke,
152
+ _ref$strokeWidth = _ref.strokeWidth,
153
+ strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
154
+ _ref$strokeOpacity = _ref.strokeOpacity,
155
+ strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
156
+ _ref$clampLow = _ref.clampLow,
157
+ clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
158
+ _ref$clampHigh = _ref.clampHigh,
159
+ clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
160
+ _ref$domain = _ref.domain,
161
+ domain = _ref$domain === void 0 ? [0, 1] : _ref$domain,
162
+ _ref$rampColors = _ref.rampColors,
163
+ rampColors = _ref$rampColors === void 0 ? {
164
+ colors: ['rgb(166,97,26)', 'rgb(223,194,125)', 'rgb(245,245,245)', 'rgb(128,205,193)', 'rgb(1,133,113)'],
165
+ positions: [0, 0.25, 0.5, 0.75, 1.0]
166
+ } : _ref$rampColors,
167
+ _ref$featureId = _ref.featureId,
168
+ featureId = _ref$featureId === void 0 ? 'id' : _ref$featureId,
169
+ sourceLayer = _ref.sourceLayer;
170
+
171
+ var colorValue = this.tileConfigManager.getAttributeScale(this.parent, 'color');
172
+ var sizeValue = this.tileConfigManager.getAttributeScale(this.parent, 'size');
173
+ var source = this.parent.getSource();
174
+
175
+ var _ref2 = (source === null || source === void 0 ? void 0 : (_source$data = source.data) === null || _source$data === void 0 ? void 0 : _source$data.tilesetOptions) || {},
176
+ coords = _ref2.coords;
177
+
178
+ var layerShape = getLayerShape(this.parent.type, this.parent);
179
+ this.initOptions = {
180
+ layerType: this.parent.type,
181
+ shape: layerShape,
182
+ zIndex: zIndex,
183
+ opacity: opacity,
184
+ sourceLayer: sourceLayer,
185
+ coords: coords,
186
+ featureId: featureId,
187
+ color: colorValue,
188
+ size: sizeValue,
189
+ mask: getMaskValue(this.parent.type, mask),
190
+ stroke: stroke,
191
+ strokeWidth: strokeWidth,
192
+ strokeOpacity: strokeOpacity,
193
+ clampLow: clampLow,
194
+ clampHigh: clampHigh,
195
+ domain: domain,
196
+ rampColors: rampColors
197
+ };
198
+ }
199
+ }, {
200
+ key: "setConfigListener",
201
+ value: function setConfigListener() {
202
+ var _this = this;
203
+
204
+ this.tileConfigManager.setConfig('opacity', this.initOptions.opacity);
205
+ this.tileConfigManager.setConfig('zIndex', this.initOptions.zIndex);
206
+ this.tileConfigManager.setConfig('mask', this.initOptions.mask);
207
+
208
+ if (this.parent.type === 'RasterLayer') {
209
+ this.tileConfigManager.setConfig('rampColors', this.initOptions.rampColors);
210
+ this.tileConfigManager.setConfig('domain', this.initOptions.domain);
211
+ this.tileConfigManager.setConfig('clampHigh', this.initOptions.clampHigh);
212
+ this.tileConfigManager.setConfig('clampLow', this.initOptions.clampLow);
213
+ } else {
214
+ var _this$parent$getAttri, _this$parent$getAttri2, _this$parent$getAttri3;
215
+
216
+ this.tileConfigManager.setConfig('stroke', this.initOptions.stroke);
217
+ this.tileConfigManager.setConfig('strokeWidth', this.initOptions.strokeWidth);
218
+ this.tileConfigManager.setConfig('strokeOpacity', this.initOptions.strokeOpacity);
219
+ this.tileConfigManager.setConfig('color', (_this$parent$getAttri = this.parent.getAttribute('color')) === null || _this$parent$getAttri === void 0 ? void 0 : _this$parent$getAttri.scale);
220
+ this.tileConfigManager.setConfig('shape', (_this$parent$getAttri2 = this.parent.getAttribute('shape')) === null || _this$parent$getAttri2 === void 0 ? void 0 : _this$parent$getAttri2.scale);
221
+ this.tileConfigManager.setConfig('size', (_this$parent$getAttri3 = this.parent.getAttribute('size')) === null || _this$parent$getAttri3 === void 0 ? void 0 : _this$parent$getAttri3.scale);
222
+ }
223
+
224
+ this.tileConfigManager.on('updateConfig', function (updateConfigs) {
225
+ updateConfigs.map(function (key) {
226
+ _this.updateStyle(key);
227
+
228
+ return '';
229
+ });
230
+ });
231
+ }
232
+ }, {
233
+ key: "updateStyle",
234
+ value: function updateStyle(style) {
235
+ var _this2 = this;
236
+
237
+ var updateValue = null;
238
+
239
+ if (['size', 'color', 'shape'].includes(style)) {
240
+ var _this$parent$getAttri4;
241
+
242
+ var scaleValue = (_this$parent$getAttri4 = this.parent.getAttribute(style)) === null || _this$parent$getAttri4 === void 0 ? void 0 : _this$parent$getAttri4.scale;
243
+
244
+ if (!scaleValue) {
245
+ return;
246
+ }
247
+
248
+ updateValue = scaleValue;
249
+ this.children.map(function (child) {
250
+ _this2.tileFactory.setStyleAttributeField(child, style, scaleValue);
251
+
252
+ return '';
253
+ });
254
+ } else {
255
+ var layerConfig = this.parent.getLayerConfig();
256
+
257
+ if (!(style in layerConfig)) {
258
+ return;
259
+ }
260
+
261
+ var config = layerConfig[style];
262
+ updateValue = config;
263
+ this.updateLayersConfig(this.children, style, config);
264
+ }
265
+
266
+ this.initOptions[style] = updateValue;
267
+ }
268
+ }, {
269
+ key: "initTileFactory",
270
+ value: function initTileFactory() {
271
+ var source = this.parent.getSource();
272
+ var TileFactory = getTileFactory(this.parent.type, source.parser);
273
+ this.tileFactory = new TileFactory({
274
+ parent: this.parent,
275
+ mapService: this.mapService,
276
+ rendererService: this.rendererService
277
+ });
278
+ }
279
+ }]);
280
+
281
+ return TileLayerManager;
282
+ }();
283
+ //# sourceMappingURL=tileLayerManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tile/manager/tileLayerManager.ts"],"names":["getTileFactory","getLayerShape","getMaskValue","TileConfigManager","TilePickManager","TileLayerManager","parent","mapService","rendererService","pickingService","layerService","children","layerChildren","tilePickManager","tileConfigManager","setSubLayerInitOptipn","setConfigListener","initTileFactory","tile","tileFactory","createTile","initOptions","layers","key","value","map","layer","style","mask","updateLayerConfig","push","layerIDList","remveLayerList","cacheLayerList","filter","child","includes","id","destroy","layerIndex","indexOf","splice","layerID","forEach","slice","length","checkConfig","normalRender","target","pickRender","getLayerConfig","zIndex","opacity","stroke","strokeWidth","strokeOpacity","clampLow","clampHigh","domain","rampColors","colors","positions","featureId","sourceLayer","colorValue","getAttributeScale","sizeValue","source","getSource","data","tilesetOptions","coords","layerShape","type","layerType","shape","color","size","setConfig","getAttribute","scale","on","updateConfigs","updateStyle","updateValue","scaleValue","setStyleAttributeField","layerConfig","config","updateLayersConfig","TileFactory","parser"],"mappings":"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","sourcesContent":["import {\n IInteractionTarget,\n ILayer,\n ILayerService,\n IMapService,\n IPickingService,\n IRendererService,\n ISubLayerInitOptions,\n ITileLayerManager,\n ITilePickManager,\n ScaleAttributeType,\n} from '@antv/l7-core';\nimport { Tile } from '@antv/l7-utils';\nimport { getTileFactory, ITileFactory, TileType } from '../tileFactory';\nimport { getLayerShape, getMaskValue } from '../utils';\nimport TileConfigManager, { ITileConfigManager } from './tileConfigManager';\nimport TilePickManager from './tilePickerManager';\nexport class TileLayerManager implements ITileLayerManager {\n public sourceLayer: string;\n public parent: ILayer;\n public children: ILayer[];\n public mapService: IMapService;\n public rendererService: IRendererService;\n public tilePickManager: ITilePickManager;\n public tileConfigManager: ITileConfigManager;\n private tileFactory: ITileFactory;\n private initOptions: ISubLayerInitOptions;\n constructor(\n parent: ILayer,\n mapService: IMapService,\n rendererService: IRendererService,\n pickingService: IPickingService,\n layerService: ILayerService,\n ) {\n this.parent = parent;\n this.children = parent.layerChildren;\n this.mapService = mapService;\n this.rendererService = rendererService;\n this.tilePickManager = new TilePickManager(\n parent,\n rendererService,\n pickingService,\n this.children,\n layerService,\n );\n this.tileConfigManager = new TileConfigManager();\n\n this.setSubLayerInitOptipn();\n this.setConfigListener();\n this.initTileFactory();\n }\n\n public createTile(tile: Tile) {\n return this.tileFactory.createTile(tile, this.initOptions);\n }\n\n public updateLayersConfig(layers: ILayer[], key: string, value: any) {\n layers.map((layer) => {\n if (key === 'mask') {\n // Tip: 栅格瓦片生效、设置全局的 mask、瓦片被全局的 mask 影响\n layer.style({\n mask: value,\n });\n } else {\n layer.updateLayerConfig({\n [key]: value,\n });\n }\n });\n }\n\n public addChild(layer: ILayer) {\n this.children.push(layer);\n }\n\n public addChilds(layers: ILayer[]) {\n this.children.push(...layers);\n }\n\n public removeChilds(layerIDList: string[]) {\n const remveLayerList: ILayer[] = [];\n const cacheLayerList: ILayer[] = [];\n this.children.filter((child) => {\n layerIDList.includes(child.id)\n ? remveLayerList.push(child)\n : cacheLayerList.push(child);\n });\n remveLayerList.map((layer) => layer.destroy());\n this.children = cacheLayerList;\n }\n\n public removeChild(layer: ILayer) {\n const layerIndex = this.children.indexOf(layer);\n if (layerIndex > -1) {\n this.children.splice(layerIndex, 1);\n }\n layer.destroy();\n }\n\n public getChilds(layerIDList: string[]) {\n return this.children.filter((child) => layerIDList.includes(child.id));\n }\n\n public getChild(layerID: string) {\n return this.children.filter((child) => child.id === layerID)[0];\n }\n\n public clearChild() {\n this.children.forEach((layer: any) => {\n layer.destroy();\n });\n\n this.children.slice(0, this.children.length);\n }\n\n public hasChild(layer: ILayer) {\n return this.children.includes(layer);\n }\n\n public render(): void {\n this.tileConfigManager?.checkConfig(this.parent);\n this.tilePickManager?.normalRender(this.children);\n }\n\n public pickLayers(target: IInteractionTarget) {\n return this.tilePickManager?.pickRender(this.children, target);\n }\n\n private setSubLayerInitOptipn() {\n const {\n zIndex = 0,\n opacity = 1,\n mask = false,\n stroke = '#fff',\n strokeWidth = 0,\n strokeOpacity = 1,\n\n clampLow = true,\n clampHigh = true,\n domain = [0, 1],\n rampColors = {\n colors: [\n 'rgb(166,97,26)',\n 'rgb(223,194,125)',\n 'rgb(245,245,245)',\n 'rgb(128,205,193)',\n 'rgb(1,133,113)',\n ],\n positions: [0, 0.25, 0.5, 0.75, 1.0],\n },\n featureId = 'id',\n sourceLayer,\n } = this.parent.getLayerConfig() as ISubLayerInitOptions;\n\n const colorValue = this.tileConfigManager.getAttributeScale(\n this.parent,\n 'color',\n );\n const sizeValue = this.tileConfigManager.getAttributeScale(\n this.parent,\n 'size',\n );\n const source = this.parent.getSource();\n const { coords } = source?.data?.tilesetOptions || {};\n\n const layerShape = getLayerShape(this.parent.type, this.parent);\n\n this.initOptions = {\n layerType: this.parent.type,\n shape: layerShape,\n zIndex,\n opacity,\n sourceLayer,\n coords,\n featureId,\n color: colorValue,\n size: sizeValue,\n mask: getMaskValue(this.parent.type, mask),\n stroke,\n strokeWidth,\n strokeOpacity,\n // raster tiff\n clampLow,\n clampHigh,\n domain,\n rampColors,\n };\n }\n\n private setConfigListener() {\n // RasterLayer PolygonLayer LineLayer PointLayer\n // All Tile Layer Need Listen\n this.tileConfigManager.setConfig('opacity', this.initOptions.opacity);\n this.tileConfigManager.setConfig('zIndex', this.initOptions.zIndex);\n this.tileConfigManager.setConfig('mask', this.initOptions.mask);\n\n if (this.parent.type === 'RasterLayer') {\n // Raster Tile Layer Need Listen\n this.tileConfigManager.setConfig(\n 'rampColors',\n this.initOptions.rampColors,\n );\n this.tileConfigManager.setConfig('domain', this.initOptions.domain);\n this.tileConfigManager.setConfig('clampHigh', this.initOptions.clampHigh);\n this.tileConfigManager.setConfig('clampLow', this.initOptions.clampLow);\n } else {\n // Vector Tile Layer Need Listen\n this.tileConfigManager.setConfig('stroke', this.initOptions.stroke);\n this.tileConfigManager.setConfig(\n 'strokeWidth',\n this.initOptions.strokeWidth,\n );\n this.tileConfigManager.setConfig(\n 'strokeOpacity',\n this.initOptions.strokeOpacity,\n );\n this.tileConfigManager.setConfig(\n 'color',\n this.parent.getAttribute('color')?.scale,\n );\n this.tileConfigManager.setConfig(\n 'shape',\n this.parent.getAttribute('shape')?.scale,\n );\n this.tileConfigManager.setConfig(\n 'size',\n this.parent.getAttribute('size')?.scale,\n );\n }\n\n this.tileConfigManager.on('updateConfig', (updateConfigs) => {\n updateConfigs.map((key: string) => {\n this.updateStyle(key);\n return '';\n });\n });\n }\n\n private updateStyle(style: string) {\n let updateValue = null;\n if (['size', 'color', 'shape'].includes(style)) {\n const scaleValue = this.parent.getAttribute(style)?.scale;\n if (!scaleValue) {\n return;\n }\n updateValue = scaleValue;\n this.children.map((child) => {\n this.tileFactory.setStyleAttributeField(\n child,\n style as ScaleAttributeType,\n scaleValue,\n );\n return '';\n });\n } else {\n const layerConfig = this.parent.getLayerConfig() as ISubLayerInitOptions;\n if (!(style in layerConfig)) {\n return;\n }\n // @ts-ignore\n const config = layerConfig[style];\n updateValue = config;\n this.updateLayersConfig(this.children, style, config);\n }\n // @ts-ignore\n this.initOptions[style] = updateValue;\n }\n\n private initTileFactory() {\n const source = this.parent.getSource();\n const TileFactory = getTileFactory(\n this.parent.type as TileType,\n source.parser,\n );\n this.tileFactory = new TileFactory({\n parent: this.parent,\n mapService: this.mapService,\n rendererService: this.rendererService,\n });\n }\n}\n"],"file":"tileLayerManager.js"}
@@ -0,0 +1,20 @@
1
+ import { IInteractionTarget, ILayer, ILayerService, IPickingService, IRendererService, ITilePickManager } from '@antv/l7-core';
2
+ import { EventEmitter } from 'eventemitter3';
3
+ export default class TilePickManager extends EventEmitter implements ITilePickManager {
4
+ isLastPicked: boolean;
5
+ private rendererService;
6
+ private pickingService;
7
+ private layerService;
8
+ private children;
9
+ private parent;
10
+ constructor(parent: ILayer, rendererService: IRendererService, pickingService: IPickingService, children: ILayer[], layerService: ILayerService);
11
+ /**
12
+ *
13
+ * @param layers
14
+ */
15
+ normalRender(layers: ILayer[]): void;
16
+ pickRender(layers: ILayer[], target: IInteractionTarget): boolean;
17
+ clearPick(): void;
18
+ beforeHighlight(pickedColors: any): void;
19
+ beforeSelect(pickedColors: any): void;
20
+ }
@@ -0,0 +1,167 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
+ import _inherits from "@babel/runtime/helpers/inherits";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+
9
+ 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); }; }
10
+
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
+
13
+ import { EventEmitter } from 'eventemitter3';
14
+
15
+ var TilePickManager = function (_EventEmitter) {
16
+ _inherits(TilePickManager, _EventEmitter);
17
+
18
+ var _super = _createSuper(TilePickManager);
19
+
20
+ function TilePickManager(parent, rendererService, pickingService, children, layerService) {
21
+ var _this;
22
+
23
+ _classCallCheck(this, TilePickManager);
24
+
25
+ _this = _super.call(this);
26
+
27
+ _defineProperty(_assertThisInitialized(_this), "isLastPicked", false);
28
+
29
+ _defineProperty(_assertThisInitialized(_this), "rendererService", void 0);
30
+
31
+ _defineProperty(_assertThisInitialized(_this), "pickingService", void 0);
32
+
33
+ _defineProperty(_assertThisInitialized(_this), "layerService", void 0);
34
+
35
+ _defineProperty(_assertThisInitialized(_this), "children", void 0);
36
+
37
+ _defineProperty(_assertThisInitialized(_this), "parent", void 0);
38
+
39
+ _this.parent = parent;
40
+ _this.rendererService = rendererService;
41
+ _this.pickingService = pickingService;
42
+ _this.layerService = layerService;
43
+ _this.children = children;
44
+ return _this;
45
+ }
46
+
47
+ _createClass(TilePickManager, [{
48
+ key: "normalRender",
49
+ value: function normalRender(layers) {
50
+ var _this2 = this;
51
+
52
+ layers.filter(function (layer) {
53
+ return layer.inited;
54
+ }).filter(function (layer) {
55
+ return layer.isVisible();
56
+ }).map(function (layer) {
57
+ layer.hooks.beforeRenderData.call();
58
+ layer.hooks.beforeRender.call();
59
+
60
+ if (layer.masks.length > 0) {
61
+ _this2.rendererService.clear({
62
+ stencil: 0,
63
+ depth: 1,
64
+ framebuffer: null
65
+ });
66
+
67
+ layer.masks.map(function (m) {
68
+ m.hooks.beforeRender.call();
69
+ m.render();
70
+ m.hooks.afterRender.call();
71
+ });
72
+ }
73
+
74
+ layer.render();
75
+ layer.hooks.afterRender.call();
76
+ });
77
+ }
78
+ }, {
79
+ key: "pickRender",
80
+ value: function pickRender(layers, target) {
81
+ var _this3 = this;
82
+
83
+ if (this.parent.type === 'RasterLayer') {
84
+ this.normalRender([this.parent]);
85
+ }
86
+
87
+ var isPicked = layers.filter(function (layer) {
88
+ return _this3.parent.needPick(target.type) && layer.inited && layer.isVisible();
89
+ }).some(function (layer) {
90
+ layer.hooks.beforePickingEncode.call();
91
+
92
+ if (layer.masks.length > 0) {
93
+ _this3.rendererService.clear({
94
+ stencil: 0,
95
+ depth: 1,
96
+ framebuffer: null
97
+ });
98
+
99
+ layer.masks.map(function (m) {
100
+ m.hooks.beforeRender.call();
101
+ m.render();
102
+ m.hooks.afterRender.call();
103
+ });
104
+ }
105
+
106
+ layer.renderModels(true);
107
+ layer.hooks.afterPickingEncode.call();
108
+
109
+ var layerPicked = _this3.pickingService.pickFromPickingFBO(layer, target);
110
+
111
+ if (layerPicked) {
112
+ _this3.emit('pick', {
113
+ type: target.type,
114
+ pickedColors: _this3.pickingService.pickedColors,
115
+ layer: layer
116
+ });
117
+
118
+ _this3.pickingService.pickedTileLayers = [_this3.parent];
119
+ }
120
+
121
+ return layerPicked;
122
+ });
123
+
124
+ if (!isPicked && this.isLastPicked && target.type !== 'click') {
125
+ this.pickingService.pickedTileLayers = [];
126
+ this.emit('unpick', {});
127
+ this.beforeHighlight([0, 0, 0]);
128
+ }
129
+
130
+ this.isLastPicked = isPicked;
131
+ return isPicked;
132
+ }
133
+ }, {
134
+ key: "clearPick",
135
+ value: function clearPick() {
136
+ this.children.filter(function (child) {
137
+ return child.inited && child.isVisible();
138
+ }).map(function (layer) {
139
+ layer.hooks.beforeSelect.call([0, 0, 0]);
140
+ });
141
+ this.pickingService.pickedTileLayers = [];
142
+ }
143
+ }, {
144
+ key: "beforeHighlight",
145
+ value: function beforeHighlight(pickedColors) {
146
+ this.children.filter(function (child) {
147
+ return child.inited && child.isVisible();
148
+ }).map(function (child) {
149
+ child.hooks.beforeHighlight.call(pickedColors);
150
+ });
151
+ }
152
+ }, {
153
+ key: "beforeSelect",
154
+ value: function beforeSelect(pickedColors) {
155
+ this.children.filter(function (child) {
156
+ return child.inited && child.isVisible();
157
+ }).map(function (layer) {
158
+ layer.hooks.beforeSelect.call(pickedColors);
159
+ });
160
+ }
161
+ }]);
162
+
163
+ return TilePickManager;
164
+ }(EventEmitter);
165
+
166
+ export { TilePickManager as default };
167
+ //# sourceMappingURL=tilePickerManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tile/manager/tilePickerManager.ts"],"names":["EventEmitter","TilePickManager","parent","rendererService","pickingService","children","layerService","layers","filter","layer","inited","isVisible","map","hooks","beforeRenderData","call","beforeRender","masks","length","clear","stencil","depth","framebuffer","m","render","afterRender","target","type","normalRender","isPicked","needPick","some","beforePickingEncode","renderModels","afterPickingEncode","layerPicked","pickFromPickingFBO","emit","pickedColors","pickedTileLayers","isLastPicked","beforeHighlight","child","beforeSelect"],"mappings":"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","sourcesContent":["import {\n IInteractionTarget,\n ILayer,\n ILayerService,\n IPickingService,\n IRendererService,\n ITilePickManager,\n} from '@antv/l7-core';\nimport { EventEmitter } from 'eventemitter3';\nexport default class TilePickManager extends EventEmitter\n implements ITilePickManager {\n public isLastPicked: boolean = false;\n private rendererService: IRendererService;\n private pickingService: IPickingService;\n private layerService: ILayerService;\n private children: ILayer[];\n private parent: ILayer;\n\n constructor(\n parent: ILayer,\n rendererService: IRendererService,\n pickingService: IPickingService,\n children: ILayer[],\n layerService: ILayerService,\n ) {\n super();\n this.parent = parent;\n this.rendererService = rendererService;\n this.pickingService = pickingService;\n this.layerService = layerService;\n this.children = children;\n }\n\n /**\n *\n * @param layers\n */\n public normalRender(layers: ILayer[]) {\n layers\n .filter((layer) => layer.inited)\n .filter((layer) => layer.isVisible())\n .map((layer) => {\n layer.hooks.beforeRenderData.call();\n layer.hooks.beforeRender.call();\n if (layer.masks.length > 0) {\n // 清除上一次的模版缓存\n this.rendererService.clear({\n stencil: 0,\n depth: 1,\n framebuffer: null,\n });\n layer.masks.map((m: ILayer) => {\n m.hooks.beforeRender.call();\n m.render();\n m.hooks.afterRender.call();\n });\n }\n layer.render();\n layer.hooks.afterRender.call();\n });\n }\n\n public pickRender(layers: ILayer[], target: IInteractionTarget) {\n // Tip: 在进行拾取渲染的时候也需要先渲染一遍父组件然后再渲染子组件\n // 如需要在 栅格瓦片存在 Mask 的时候发生的拾取,那么就需要先渲染父组件(渲染父组件的帧缓冲)\n if (this.parent.type === 'RasterLayer') {\n this.normalRender([this.parent]);\n }\n const isPicked = layers\n .filter(\n (layer) =>\n this.parent.needPick(target.type) &&\n layer.inited &&\n layer.isVisible(),\n )\n .some((layer) => {\n layer.hooks.beforePickingEncode.call();\n if (layer.masks.length > 0) {\n // 清除上一次的模版缓存\n this.rendererService.clear({\n stencil: 0,\n depth: 1,\n framebuffer: null,\n });\n\n layer.masks.map((m: ILayer) => {\n m.hooks.beforeRender.call();\n m.render();\n m.hooks.afterRender.call();\n });\n }\n layer.renderModels(true);\n layer.hooks.afterPickingEncode.call();\n const layerPicked = this.pickingService.pickFromPickingFBO(\n layer,\n target,\n );\n if (layerPicked) {\n this.emit('pick', {\n type: target.type,\n pickedColors: this.pickingService.pickedColors,\n layer,\n });\n this.pickingService.pickedTileLayers = [this.parent];\n }\n\n return layerPicked;\n });\n if (!isPicked && this.isLastPicked && target.type !== 'click') {\n // 只有上一次有被高亮选中,本次未选中的时候才需要清除选中状态\n this.pickingService.pickedTileLayers = [];\n this.emit('unpick', {});\n this.beforeHighlight([0, 0, 0]);\n }\n this.isLastPicked = isPicked;\n return isPicked;\n }\n\n public clearPick() {\n this.children\n .filter((child) => child.inited && child.isVisible())\n .map((layer) => {\n layer.hooks.beforeSelect.call([0, 0, 0]);\n });\n this.pickingService.pickedTileLayers = [];\n }\n\n public beforeHighlight(pickedColors: any) {\n this.children\n .filter((child) => child.inited && child.isVisible())\n .map((child) => {\n child.hooks.beforeHighlight.call(pickedColors);\n });\n }\n\n public beforeSelect(pickedColors: any) {\n this.children\n .filter((child) => child.inited && child.isVisible())\n .map((layer) => {\n layer.hooks.beforeSelect.call(pickedColors);\n });\n }\n}\n"],"file":"tilePickerManager.js"}
@@ -0,0 +1,8 @@
1
+ import { IModelUniform } from '@antv/l7-core';
2
+ import BaseModel from '../../core/BaseModel';
3
+ export default class RasterTileModel extends BaseModel {
4
+ getUninforms(): IModelUniform;
5
+ initModels(): never[];
6
+ buildModels(): never[];
7
+ protected registerBuiltinAttributes(): void;
8
+ }
@@ -0,0 +1,61 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
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 BaseModel from '../../core/BaseModel';
12
+ import { TMSTileLayer } from '../tmsTileLayer';
13
+
14
+ var RasterTileModel = function (_BaseModel) {
15
+ _inherits(RasterTileModel, _BaseModel);
16
+
17
+ var _super = _createSuper(RasterTileModel);
18
+
19
+ function RasterTileModel() {
20
+ _classCallCheck(this, RasterTileModel);
21
+
22
+ return _super.apply(this, arguments);
23
+ }
24
+
25
+ _createClass(RasterTileModel, [{
26
+ key: "getUninforms",
27
+ value: function getUninforms() {
28
+ return {};
29
+ }
30
+ }, {
31
+ key: "initModels",
32
+ value: function initModels() {
33
+ var _this$layer$getSource;
34
+
35
+ if ((_this$layer$getSource = this.layer.getSource()) !== null && _this$layer$getSource !== void 0 && _this$layer$getSource.data.isTile) {
36
+ this.layer.tileLayer = new TMSTileLayer({
37
+ parent: this.layer,
38
+ rendererService: this.rendererService,
39
+ mapService: this.mapService,
40
+ layerService: this.layerService,
41
+ pickingService: this.pickingService
42
+ });
43
+ }
44
+
45
+ return this.buildModels();
46
+ }
47
+ }, {
48
+ key: "buildModels",
49
+ value: function buildModels() {
50
+ return [];
51
+ }
52
+ }, {
53
+ key: "registerBuiltinAttributes",
54
+ value: function registerBuiltinAttributes() {}
55
+ }]);
56
+
57
+ return RasterTileModel;
58
+ }(BaseModel);
59
+
60
+ export { RasterTileModel as default };
61
+ //# sourceMappingURL=tileModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tile/models/tileModel.ts"],"names":["BaseModel","TMSTileLayer","RasterTileModel","layer","getSource","data","isTile","tileLayer","parent","rendererService","mapService","layerService","pickingService","buildModels"],"mappings":";;;;;;;;;;AACA,OAAOA,SAAP,MAAsB,sBAAtB;AACA,SAASC,YAAT,QAA6B,iBAA7B;;IACqBC,e;;;;;;;;;;;;;WACnB,wBAAqC;AACnC,aAAO,EAAP;AACD;;;WAED,sBAAoB;AAAA;;AAClB,mCAAI,KAAKC,KAAL,CAAWC,SAAX,EAAJ,kDAAI,sBAAwBC,IAAxB,CAA6BC,MAAjC,EAAyC;AACvC,aAAKH,KAAL,CAAWI,SAAX,GAAuB,IAAIN,YAAJ,CAAiB;AACtCO,UAAAA,MAAM,EAAE,KAAKL,KADyB;AAEtCM,UAAAA,eAAe,EAAE,KAAKA,eAFgB;AAGtCC,UAAAA,UAAU,EAAE,KAAKA,UAHqB;AAItCC,UAAAA,YAAY,EAAE,KAAKA,YAJmB;AAKtCC,UAAAA,cAAc,EAAE,KAAKA;AALiB,SAAjB,CAAvB;AAOD;;AAED,aAAO,KAAKC,WAAL,EAAP;AACD;;;WAED,uBAAqB;AACnB,aAAO,EAAP;AACD;;;WAED,qCAAsC,CAErC;;;;EAzB0Cb,S;;SAAxBE,e","sourcesContent":["import { IModelUniform } from '@antv/l7-core';\nimport BaseModel from '../../core/BaseModel';\nimport { TMSTileLayer } from '../tmsTileLayer';\nexport default class RasterTileModel extends BaseModel {\n public getUninforms(): IModelUniform {\n return {};\n }\n\n public initModels() {\n if (this.layer.getSource()?.data.isTile) {\n this.layer.tileLayer = new TMSTileLayer({\n parent: this.layer,\n rendererService: this.rendererService,\n mapService: this.mapService,\n layerService: this.layerService,\n pickingService: this.pickingService,\n });\n }\n\n return this.buildModels();\n }\n\n public buildModels() {\n return [];\n }\n\n protected registerBuiltinAttributes() {\n //\n }\n}\n"],"file":"tileModel.js"}
@@ -0,0 +1,41 @@
1
+ import { ILayer, IMapService, IParseDataItem, IRendererService, IScaleValue, ISubLayerInitOptions, ScaleAttributeType } from '@antv/l7-core';
2
+ import Source from '@antv/l7-source';
3
+ import { Tile } from '@antv/l7-utils';
4
+ import { ILayerTileConfig, ITileFactory, ITileFactoryOptions, ITileStyles, Timeout } from '../interface';
5
+ export default class TileFactory implements ITileFactory {
6
+ type: string;
7
+ parentLayer: ILayer;
8
+ mapService: IMapService;
9
+ rendererService: IRendererService;
10
+ outSideEventTimer: Timeout | null;
11
+ protected layers: ILayer[];
12
+ private eventCache;
13
+ constructor(option: ITileFactoryOptions);
14
+ createTile(tile: Tile, initOptions: ISubLayerInitOptions): {
15
+ layers: ILayer[];
16
+ layerIDList: string[];
17
+ };
18
+ getFeatureData(tile: Tile, initOptions: ISubLayerInitOptions): {
19
+ features: never[];
20
+ featureId: null;
21
+ vectorTileLayer: null;
22
+ source: null;
23
+ } | {
24
+ features: any[];
25
+ featureId: string | undefined;
26
+ vectorTileLayer: any;
27
+ source: Source;
28
+ };
29
+ createLayer(tileLayerOption: ILayerTileConfig): any;
30
+ updateStyle(styles: ITileStyles): string;
31
+ getDefautStyleAttributeField(layer: ILayer, type: string): string | string[] | 2;
32
+ setStyleAttributeField(layer: ILayer, type: ScaleAttributeType, value: IScaleValue | undefined | string | string[]): ILayer | undefined;
33
+ protected parseScaleValue(value: IScaleValue | string, type: string): (string | number | unknown[])[] | (string | number | string[] | number[] | ((...args: any[]) => [] | undefined))[];
34
+ protected getTile(lng: number, lat: number): Tile;
35
+ protected emitEvent(layers: ILayer[], isVector?: boolean): void;
36
+ protected getCombineFeature(features: IParseDataItem[]): any;
37
+ protected getFeatureAndEmitEvent(layer: ILayer, eventName: string, e: any, isVector?: boolean, tile?: any): void;
38
+ private getAllFeatures;
39
+ private getLayerInitOption;
40
+ private handleOutsideEvent;
41
+ }