@antv/l7-layers 2.9.15 → 2.9.16

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 (218) hide show
  1. package/LICENSE.md +1 -1
  2. package/es/core/BaseLayer.d.ts +4 -2
  3. package/es/core/BaseLayer.js +47 -21
  4. package/es/core/BaseLayer.js.map +1 -1
  5. package/es/core/BaseModel.d.ts +2 -1
  6. package/es/core/BaseModel.js +3 -0
  7. package/es/core/BaseModel.js.map +1 -1
  8. package/es/core/interface.d.ts +14 -1
  9. package/es/core/interface.js.map +1 -1
  10. package/es/image/models/image.js.map +1 -1
  11. package/es/line/index.d.ts +1 -1
  12. package/es/line/index.js +13 -1
  13. package/es/line/index.js.map +1 -1
  14. package/es/line/models/earthArc_3d.d.ts +17 -0
  15. package/es/line/models/earthArc_3d.js +311 -0
  16. package/es/line/models/earthArc_3d.js.map +1 -0
  17. package/es/line/models/half.d.ts +18 -0
  18. package/es/line/models/half.js +244 -0
  19. package/es/line/models/half.js.map +1 -0
  20. package/es/line/models/index.d.ts +1 -1
  21. package/es/line/models/index.js +9 -1
  22. package/es/line/models/index.js.map +1 -1
  23. package/es/line/models/tile.d.ts +20 -0
  24. package/es/line/models/tile.js +327 -0
  25. package/es/line/models/tile.js.map +1 -0
  26. package/es/plugins/DataMappingPlugin.js +1 -1
  27. package/es/plugins/DataMappingPlugin.js.map +1 -1
  28. package/es/plugins/DataSourcePlugin.js +7 -6
  29. package/es/plugins/DataSourcePlugin.js.map +1 -1
  30. package/es/plugins/FeatureScalePlugin.js +35 -9
  31. package/es/plugins/FeatureScalePlugin.js.map +1 -1
  32. package/es/plugins/ShaderUniformPlugin.js +3 -1
  33. package/es/plugins/ShaderUniformPlugin.js.map +1 -1
  34. package/es/point/index.d.ts +1 -1
  35. package/es/point/index.js +10 -2
  36. package/es/point/index.js.map +1 -1
  37. package/es/point/models/earthExtrude.d.ts +24 -0
  38. package/es/point/models/earthExtrude.js +259 -0
  39. package/es/point/models/earthExtrude.js.map +1 -0
  40. package/es/point/models/earthFill.d.ts +20 -0
  41. package/es/point/models/earthFill.js +255 -0
  42. package/es/point/models/earthFill.js.map +1 -0
  43. package/es/point/models/extrude.d.ts +0 -1
  44. package/es/point/models/extrude.js +2 -10
  45. package/es/point/models/extrude.js.map +1 -1
  46. package/es/point/models/fill.d.ts +8 -1
  47. package/es/point/models/fill.js +55 -75
  48. package/es/point/models/fill.js.map +1 -1
  49. package/es/point/models/index.d.ts +1 -1
  50. package/es/point/models/index.js +9 -1
  51. package/es/point/models/index.js.map +1 -1
  52. package/es/point/models/radar.js +2 -6
  53. package/es/point/models/radar.js.map +1 -1
  54. package/es/point/models/tile.d.ts +31 -0
  55. package/es/point/models/tile.js +291 -0
  56. package/es/point/models/tile.js.map +1 -0
  57. package/es/polygon/index.js +6 -0
  58. package/es/polygon/index.js.map +1 -1
  59. package/es/polygon/models/index.d.ts +1 -1
  60. package/es/polygon/models/index.js +5 -1
  61. package/es/polygon/models/index.js.map +1 -1
  62. package/es/polygon/models/tile.d.ts +16 -0
  63. package/es/polygon/models/tile.js +137 -0
  64. package/es/polygon/models/tile.js.map +1 -0
  65. package/es/raster/index.d.ts +2 -2
  66. package/es/raster/index.js +4 -4
  67. package/es/raster/index.js.map +1 -1
  68. package/es/raster/models/index.js +1 -1
  69. package/es/raster/models/index.js.map +1 -1
  70. package/es/raster/models/raster.d.ts +2 -0
  71. package/es/raster/models/raster.js +24 -12
  72. package/es/raster/models/raster.js.map +1 -1
  73. package/es/tile/interface.d.ts +28 -0
  74. package/es/tile/interface.js +2 -0
  75. package/es/tile/interface.js.map +1 -0
  76. package/es/tile/manager/tileConfigManager.d.ts +17 -0
  77. package/es/tile/manager/tileConfigManager.js +123 -0
  78. package/es/tile/manager/tileConfigManager.js.map +1 -0
  79. package/es/tile/manager/tileLayerManager.d.ts +35 -0
  80. package/es/tile/manager/tileLayerManager.js +297 -0
  81. package/es/tile/manager/tileLayerManager.js.map +1 -0
  82. package/es/tile/manager/tilePickerManager.d.ts +21 -0
  83. package/es/tile/manager/tilePickerManager.js +189 -0
  84. package/es/tile/manager/tilePickerManager.js.map +1 -0
  85. package/es/tile/models/tileModel.d.ts +8 -0
  86. package/es/tile/models/tileModel.js +61 -0
  87. package/es/tile/models/tileModel.js.map +1 -0
  88. package/es/tile/tileFactory/base.d.ts +44 -0
  89. package/es/tile/tileFactory/base.js +423 -0
  90. package/es/tile/tileFactory/base.js.map +1 -0
  91. package/es/tile/tileFactory/index.d.ts +5 -0
  92. package/es/tile/tileFactory/index.js +30 -0
  93. package/es/tile/tileFactory/index.js.map +1 -0
  94. package/es/tile/tileFactory/line.d.ts +12 -0
  95. package/es/tile/tileFactory/line.js +65 -0
  96. package/es/tile/tileFactory/line.js.map +1 -0
  97. package/es/tile/tileFactory/point.d.ts +12 -0
  98. package/es/tile/tileFactory/point.js +65 -0
  99. package/es/tile/tileFactory/point.js.map +1 -0
  100. package/es/tile/tileFactory/polygon.d.ts +12 -0
  101. package/es/tile/tileFactory/polygon.js +65 -0
  102. package/es/tile/tileFactory/polygon.js.map +1 -0
  103. package/es/tile/tileFactory/raster.d.ts +12 -0
  104. package/es/tile/tileFactory/raster.js +61 -0
  105. package/es/tile/tileFactory/raster.js.map +1 -0
  106. package/es/tile/tileFactory/rasterData.d.ts +12 -0
  107. package/es/tile/tileFactory/rasterData.js +86 -0
  108. package/es/tile/tileFactory/rasterData.js.map +1 -0
  109. package/es/tile/tileFactory/rasterDataLayer.d.ts +19 -0
  110. package/es/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +39 -32
  111. package/es/tile/tileFactory/rasterDataLayer.js.map +1 -0
  112. package/es/tile/tileFactory/vectorLayer.d.ts +27 -0
  113. package/es/tile/tileFactory/vectorLayer.js +131 -0
  114. package/es/tile/tileFactory/vectorLayer.js.map +1 -0
  115. package/es/tile/tileLayer/baseTileLayer.d.ts +47 -0
  116. package/es/tile/tileLayer/baseTileLayer.js +409 -0
  117. package/es/tile/tileLayer/baseTileLayer.js.map +1 -0
  118. package/es/tile/tmsTileLayer.d.ts +7 -0
  119. package/es/tile/tmsTileLayer.js +100 -0
  120. package/es/tile/tmsTileLayer.js.map +1 -0
  121. package/es/tile/utils.d.ts +11 -0
  122. package/es/tile/utils.js +125 -0
  123. package/es/tile/utils.js.map +1 -0
  124. package/lib/core/BaseLayer.js +45 -20
  125. package/lib/core/BaseLayer.js.map +1 -1
  126. package/lib/core/BaseModel.js +2 -0
  127. package/lib/core/BaseModel.js.map +1 -1
  128. package/lib/core/interface.js.map +1 -1
  129. package/lib/image/models/image.js.map +1 -1
  130. package/lib/line/index.js +13 -1
  131. package/lib/line/index.js.map +1 -1
  132. package/lib/line/models/earthArc_3d.js +328 -0
  133. package/lib/line/models/earthArc_3d.js.map +1 -0
  134. package/lib/line/models/half.js +260 -0
  135. package/lib/line/models/half.js.map +1 -0
  136. package/lib/line/models/index.js +13 -1
  137. package/lib/line/models/index.js.map +1 -1
  138. package/lib/line/models/tile.js +342 -0
  139. package/lib/line/models/tile.js.map +1 -0
  140. package/lib/plugins/DataMappingPlugin.js +1 -1
  141. package/lib/plugins/DataMappingPlugin.js.map +1 -1
  142. package/lib/plugins/DataSourcePlugin.js +7 -6
  143. package/lib/plugins/DataSourcePlugin.js.map +1 -1
  144. package/lib/plugins/FeatureScalePlugin.js +35 -9
  145. package/lib/plugins/FeatureScalePlugin.js.map +1 -1
  146. package/lib/plugins/ShaderUniformPlugin.js +3 -1
  147. package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
  148. package/lib/point/index.js +10 -2
  149. package/lib/point/index.js.map +1 -1
  150. package/lib/point/models/earthExtrude.js +277 -0
  151. package/lib/point/models/earthExtrude.js.map +1 -0
  152. package/lib/point/models/earthFill.js +291 -0
  153. package/lib/point/models/earthFill.js.map +1 -0
  154. package/lib/point/models/extrude.js +2 -11
  155. package/lib/point/models/extrude.js.map +1 -1
  156. package/lib/point/models/fill.js +51 -93
  157. package/lib/point/models/fill.js.map +1 -1
  158. package/lib/point/models/index.js +13 -1
  159. package/lib/point/models/index.js.map +1 -1
  160. package/lib/point/models/radar.js +1 -5
  161. package/lib/point/models/radar.js.map +1 -1
  162. package/lib/point/models/tile.js +308 -0
  163. package/lib/point/models/tile.js.map +1 -0
  164. package/lib/polygon/index.js +6 -0
  165. package/lib/polygon/index.js.map +1 -1
  166. package/lib/polygon/models/index.js +7 -1
  167. package/lib/polygon/models/index.js.map +1 -1
  168. package/lib/polygon/models/tile.js +152 -0
  169. package/lib/polygon/models/tile.js.map +1 -0
  170. package/lib/raster/index.js +4 -4
  171. package/lib/raster/index.js.map +1 -1
  172. package/lib/raster/models/index.js +2 -2
  173. package/lib/raster/models/index.js.map +1 -1
  174. package/lib/raster/models/raster.js +24 -12
  175. package/lib/raster/models/raster.js.map +1 -1
  176. package/lib/tile/interface.js +2 -0
  177. package/lib/tile/interface.js.map +1 -0
  178. package/lib/tile/manager/tileConfigManager.js +134 -0
  179. package/lib/tile/manager/tileConfigManager.js.map +1 -0
  180. package/lib/tile/manager/tileLayerManager.js +305 -0
  181. package/lib/tile/manager/tileLayerManager.js.map +1 -0
  182. package/lib/tile/manager/tilePickerManager.js +195 -0
  183. package/lib/tile/manager/tilePickerManager.js.map +1 -0
  184. package/lib/tile/models/tileModel.js +73 -0
  185. package/lib/tile/models/tileModel.js.map +1 -0
  186. package/lib/tile/tileFactory/base.js +436 -0
  187. package/lib/tile/tileFactory/base.js.map +1 -0
  188. package/lib/tile/tileFactory/index.js +60 -0
  189. package/lib/tile/tileFactory/index.js.map +1 -0
  190. package/lib/tile/tileFactory/line.js +76 -0
  191. package/lib/tile/tileFactory/line.js.map +1 -0
  192. package/lib/tile/tileFactory/point.js +76 -0
  193. package/lib/tile/tileFactory/point.js.map +1 -0
  194. package/lib/tile/tileFactory/polygon.js +76 -0
  195. package/lib/tile/tileFactory/polygon.js.map +1 -0
  196. package/lib/tile/tileFactory/raster.js +74 -0
  197. package/lib/tile/tileFactory/raster.js.map +1 -0
  198. package/lib/tile/tileFactory/rasterData.js +99 -0
  199. package/lib/tile/tileFactory/rasterData.js.map +1 -0
  200. package/lib/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +40 -32
  201. package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -0
  202. package/lib/tile/tileFactory/vectorLayer.js +145 -0
  203. package/lib/tile/tileFactory/vectorLayer.js.map +1 -0
  204. package/lib/tile/tileLayer/baseTileLayer.js +407 -0
  205. package/lib/tile/tileLayer/baseTileLayer.js.map +1 -0
  206. package/lib/tile/tmsTileLayer.js +116 -0
  207. package/lib/tile/tmsTileLayer.js.map +1 -0
  208. package/lib/tile/utils.js +147 -0
  209. package/lib/tile/utils.js.map +1 -0
  210. package/package.json +8 -6
  211. package/es/core/LayerGroup.d.ts +0 -9
  212. package/es/core/LayerGroup.js.map +0 -1
  213. package/es/raster/models/raste-tile.d.ts +0 -23
  214. package/es/raster/models/raste-tile.js +0 -285
  215. package/es/raster/models/raste-tile.js.map +0 -1
  216. package/lib/core/LayerGroup.js.map +0 -1
  217. package/lib/raster/models/raste-tile.js +0 -294
  218. package/lib/raster/models/raste-tile.js.map +0 -1
@@ -0,0 +1,47 @@
1
+ import { IInteractionTarget, ILayer, ITileLayer, ITileLayerManager, ITileLayerOPtions } from '@antv/l7-core';
2
+ import { Tile, TilesetManager } from '@antv/l7-utils';
3
+ export default class BaseTileLayer implements ITileLayer {
4
+ get children(): ILayer[];
5
+ type: string;
6
+ sourceLayer: string;
7
+ parent: ILayer;
8
+ initedTileset: boolean;
9
+ tilesetManager: TilesetManager | undefined;
10
+ tileLayerManager: ITileLayerManager;
11
+ scaleField: any;
12
+ private lastViewStates;
13
+ private timer;
14
+ private mapService;
15
+ private layerService;
16
+ private pickColors;
17
+ constructor({ parent, rendererService, mapService, layerService, pickingService, }: ITileLayerOPtions);
18
+ /**
19
+ * 渲染瓦片的图层
20
+ */
21
+ render(): void;
22
+ clearPick(type: string): void;
23
+ /**
24
+ * 清除 select 的选中状态
25
+ */
26
+ clearPickState(): void;
27
+ /**
28
+ * 瓦片图层独立的拾取逻辑
29
+ * @param target
30
+ * @returns
31
+ */
32
+ pickLayers(target: IInteractionTarget): boolean;
33
+ tileLoaded(tile: Tile): void;
34
+ tileError(error: Error): void;
35
+ tileUnLoad(tile: Tile): void;
36
+ tileUpdate(): void;
37
+ protected setPickState(layers: ILayer[]): void;
38
+ private bindSubLayerPick;
39
+ private setHighlight;
40
+ private setSelect;
41
+ private selectFeature;
42
+ private bindSubLayerEvent;
43
+ private initTileSetManager;
44
+ private mapchange;
45
+ private bindTilesetEvent;
46
+ private getCurrentView;
47
+ }
@@ -0,0 +1,409 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
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
+
6
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
+
8
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
+
10
+ import { decodePickingColor } from '@antv/l7-utils';
11
+ import { TileLayerManager } from '../manager/tileLayerManager';
12
+
13
+ var BaseTileLayer = function () {
14
+ function BaseTileLayer(_ref) {
15
+ var _parentSource$data;
16
+
17
+ var parent = _ref.parent,
18
+ rendererService = _ref.rendererService,
19
+ mapService = _ref.mapService,
20
+ layerService = _ref.layerService,
21
+ pickingService = _ref.pickingService;
22
+
23
+ _classCallCheck(this, BaseTileLayer);
24
+
25
+ _defineProperty(this, "type", 'baseTile');
26
+
27
+ _defineProperty(this, "sourceLayer", void 0);
28
+
29
+ _defineProperty(this, "parent", void 0);
30
+
31
+ _defineProperty(this, "initedTileset", false);
32
+
33
+ _defineProperty(this, "tilesetManager", void 0);
34
+
35
+ _defineProperty(this, "tileLayerManager", void 0);
36
+
37
+ _defineProperty(this, "scaleField", void 0);
38
+
39
+ _defineProperty(this, "lastViewStates", void 0);
40
+
41
+ _defineProperty(this, "timer", void 0);
42
+
43
+ _defineProperty(this, "mapService", void 0);
44
+
45
+ _defineProperty(this, "layerService", void 0);
46
+
47
+ _defineProperty(this, "pickColors", {
48
+ select: null,
49
+ active: null
50
+ });
51
+
52
+ var parentSource = parent.getSource();
53
+
54
+ var _ref2 = (parentSource === null || parentSource === void 0 ? void 0 : (_parentSource$data = parentSource.data) === null || _parentSource$data === void 0 ? void 0 : _parentSource$data.tilesetOptions) || {},
55
+ sourceLayer = _ref2.sourceLayer,
56
+ coords = _ref2.coords,
57
+ featureId = _ref2.featureId;
58
+
59
+ this.sourceLayer = sourceLayer;
60
+ this.parent = parent;
61
+ this.mapService = mapService;
62
+ this.layerService = layerService;
63
+ this.tileLayerManager = new TileLayerManager(parent, mapService, rendererService, pickingService, layerService);
64
+ this.initTileSetManager();
65
+ this.bindSubLayerEvent();
66
+ this.bindSubLayerPick();
67
+ this.scaleField = this.parent.getScaleOptions();
68
+ }
69
+
70
+ _createClass(BaseTileLayer, [{
71
+ key: "children",
72
+ get: function get() {
73
+ return this.tileLayerManager.children;
74
+ }
75
+ }, {
76
+ key: "render",
77
+ value: function render() {
78
+ if (this.tileLayerManager) {
79
+ this.tileLayerManager.render();
80
+ }
81
+ }
82
+ }, {
83
+ key: "clearPick",
84
+ value: function clearPick(type) {
85
+ if (type === 'mousemove') {
86
+ this.tileLayerManager.tilePickManager.clearPick();
87
+ }
88
+ }
89
+ }, {
90
+ key: "clearPickState",
91
+ value: function clearPickState() {
92
+ var _this = this;
93
+
94
+ this.children.filter(function (child) {
95
+ return child.inited && child.isVisible();
96
+ }).filter(function (child) {
97
+ return child.getCurrentSelectedId() !== null;
98
+ }).map(function (child) {
99
+ _this.selectFeature(child, new Uint8Array([0, 0, 0, 0]));
100
+
101
+ child.setCurrentSelectedId(null);
102
+ });
103
+ }
104
+ }, {
105
+ key: "pickLayers",
106
+ value: function pickLayers(target) {
107
+ return this.tileLayerManager.pickLayers(target);
108
+ }
109
+ }, {
110
+ key: "tileLoaded",
111
+ value: function tileLoaded(tile) {}
112
+ }, {
113
+ key: "tileError",
114
+ value: function tileError(error) {
115
+ console.warn('error:', error);
116
+ }
117
+ }, {
118
+ key: "tileUnLoad",
119
+ value: function tileUnLoad(tile) {
120
+ this.tileLayerManager.removeChilds(tile.layerIDList, false);
121
+ }
122
+ }, {
123
+ key: "tileUpdate",
124
+ value: function tileUpdate() {
125
+ var _this2 = this;
126
+
127
+ if (!this.tilesetManager) {
128
+ return;
129
+ }
130
+
131
+ this.tilesetManager.tiles.filter(function (tile) {
132
+ return tile.isLoaded;
133
+ }).map(function (tile) {
134
+ if (tile.layerIDList.length === 0) {
135
+ var _this2$tileLayerManag = _this2.tileLayerManager.createTile(tile),
136
+ layers = _this2$tileLayerManag.layers,
137
+ layerIDList = _this2$tileLayerManag.layerIDList;
138
+
139
+ tile.layerIDList = layerIDList;
140
+
141
+ _this2.tileLayerManager.addChilds(layers);
142
+ } else {
143
+ if (!tile.isVisibleChange) {
144
+ return;
145
+ }
146
+
147
+ var _layers = _this2.tileLayerManager.getChilds(tile.layerIDList);
148
+
149
+ _this2.tileLayerManager.updateLayersConfig(_layers, 'visible', tile.isVisible);
150
+ }
151
+ });
152
+
153
+ if (this.tilesetManager.isLoaded) {
154
+ this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
155
+ }
156
+ }
157
+ }, {
158
+ key: "setPickState",
159
+ value: function setPickState(layers) {
160
+ var _this3 = this;
161
+
162
+ if (this.pickColors.select) {
163
+ var selectedId = decodePickingColor(this.pickColors.select);
164
+ layers.map(function (layer) {
165
+ _this3.selectFeature(layer, _this3.pickColors.select);
166
+
167
+ layer.setCurrentSelectedId(selectedId);
168
+ });
169
+ }
170
+
171
+ if (this.pickColors.active) {
172
+ var _selectedId = decodePickingColor(this.pickColors.active);
173
+
174
+ layers.filter(function (layer) {
175
+ return layer.inited && layer.isVisible();
176
+ }).map(function (layer) {
177
+ layer.hooks.beforeHighlight.call(_this3.pickColors.active);
178
+ layer.setCurrentPickId(_selectedId);
179
+ });
180
+ }
181
+ }
182
+ }, {
183
+ key: "bindSubLayerPick",
184
+ value: function bindSubLayerPick() {
185
+ var _this4 = this;
186
+
187
+ this.tileLayerManager.tilePickManager.on('pick', function (e) {
188
+ var _e$pickedColors = _slicedToArray(e.pickedColors, 3),
189
+ r = _e$pickedColors[0],
190
+ g = _e$pickedColors[1],
191
+ b = _e$pickedColors[2];
192
+
193
+ if (e.type === 'click') {
194
+ var restLayers = _this4.children.filter(function (child) {
195
+ return child.inited && child.isVisible() && child.isVector;
196
+ }).filter(function (child) {
197
+ return child !== e.layer;
198
+ });
199
+
200
+ _this4.setSelect(restLayers, [r, g, b]);
201
+ } else {
202
+ _this4.setHighlight([r, g, b]);
203
+ }
204
+ });
205
+ this.tileLayerManager.tilePickManager.on('unpick', function () {
206
+ _this4.pickColors.active = null;
207
+ });
208
+ }
209
+ }, {
210
+ key: "setHighlight",
211
+ value: function setHighlight(pickedColors) {
212
+ var pickId = decodePickingColor(pickedColors);
213
+ this.pickColors.active = pickedColors;
214
+ this.children.filter(function (child) {
215
+ return child.inited && child.isVisible() && child.isVector;
216
+ }).filter(function (child) {
217
+ return child.getPickID() !== pickId;
218
+ }).map(function (child) {
219
+ child.setPickID(pickId);
220
+ child.hooks.beforeHighlight.call(pickedColors);
221
+ });
222
+ }
223
+ }, {
224
+ key: "setSelect",
225
+ value: function setSelect(layers, pickedColors) {
226
+ var _this5 = this;
227
+
228
+ var selectedId = decodePickingColor(pickedColors);
229
+ layers.map(function (layer) {
230
+ if (layer.getCurrentSelectedId() === null || selectedId !== layer.getCurrentSelectedId()) {
231
+ _this5.selectFeature(layer, pickedColors);
232
+
233
+ layer.setCurrentSelectedId(selectedId);
234
+ _this5.pickColors.select = pickedColors;
235
+ } else {
236
+ _this5.selectFeature(layer, new Uint8Array([0, 0, 0, 0]));
237
+
238
+ layer.setCurrentSelectedId(null);
239
+ _this5.pickColors.select = null;
240
+ }
241
+ });
242
+ var renderList = this.layerService.getRenderList();
243
+ renderList.filter(function (layer) {
244
+ return layer.inited && !layer.isVector && layer.isVisible() && layer.needPick('click');
245
+ }).filter(function (layer) {
246
+ return layer.getCurrentSelectedId() !== null;
247
+ }).map(function (layer) {
248
+ _this5.selectFeature(layer, new Uint8Array([0, 0, 0, 0]));
249
+
250
+ layer.setCurrentSelectedId(null);
251
+ });
252
+ }
253
+ }, {
254
+ key: "selectFeature",
255
+ value: function selectFeature(layer, pickedColors) {
256
+ var _pickedColors = _slicedToArray(pickedColors, 3),
257
+ r = _pickedColors[0],
258
+ g = _pickedColors[1],
259
+ b = _pickedColors[2];
260
+
261
+ layer.hooks.beforeSelect.call([r, g, b]);
262
+ }
263
+ }, {
264
+ key: "bindSubLayerEvent",
265
+ value: function bindSubLayerEvent() {
266
+ var _this6 = this;
267
+
268
+ this.parent.on('subLayerClick', function (e) {
269
+ _this6.parent.emit('click', _objectSpread({}, e));
270
+ });
271
+ this.parent.on('subLayerMouseMove', function (e) {
272
+ return _this6.parent.emit('mousemove', _objectSpread({}, e));
273
+ });
274
+ this.parent.on('subLayerMouseUp', function (e) {
275
+ return _this6.parent.emit('mouseup', _objectSpread({}, e));
276
+ });
277
+ this.parent.on('subLayerMouseEnter', function (e) {
278
+ return _this6.parent.emit('mouseenter', _objectSpread({}, e));
279
+ });
280
+ this.parent.on('subLayerMouseOut', function (e) {
281
+ return _this6.parent.emit('mouseout', _objectSpread({}, e));
282
+ });
283
+ this.parent.on('subLayerMouseDown', function (e) {
284
+ return _this6.parent.emit('mousedown', _objectSpread({}, e));
285
+ });
286
+ this.parent.on('subLayerContextmenu', function (e) {
287
+ return _this6.parent.emit('contextmenu', _objectSpread({}, e));
288
+ });
289
+ this.parent.on('subLayerUnClick', function (e) {
290
+ return _this6.parent.emit('unclick', _objectSpread({}, e));
291
+ });
292
+ this.parent.on('subLayerUnMouseMove', function (e) {
293
+ return _this6.parent.emit('unmousemove', _objectSpread({}, e));
294
+ });
295
+ this.parent.on('subLayerUnMouseUp', function (e) {
296
+ return _this6.parent.emit('unmouseup', _objectSpread({}, e));
297
+ });
298
+ this.parent.on('subLayerUnMouseDown', function (e) {
299
+ return _this6.parent.emit('unmousedown', _objectSpread({}, e));
300
+ });
301
+ this.parent.on('subLayerUnContextmenu', function (e) {
302
+ return _this6.parent.emit('uncontextmenu', _objectSpread({}, e));
303
+ });
304
+ }
305
+ }, {
306
+ key: "initTileSetManager",
307
+ value: function initTileSetManager() {
308
+ var _this$tilesetManager;
309
+
310
+ var source = this.parent.getSource();
311
+ this.tilesetManager = source.tileset;
312
+
313
+ if (!this.initedTileset) {
314
+ this.bindTilesetEvent();
315
+ this.initedTileset = true;
316
+ }
317
+
318
+ var _this$getCurrentView = this.getCurrentView(),
319
+ latLonBounds = _this$getCurrentView.latLonBounds,
320
+ zoom = _this$getCurrentView.zoom;
321
+
322
+ (_this$tilesetManager = this.tilesetManager) === null || _this$tilesetManager === void 0 ? void 0 : _this$tilesetManager.update(zoom, latLonBounds);
323
+ }
324
+ }, {
325
+ key: "mapchange",
326
+ value: function mapchange() {
327
+ var _this$tilesetManager2;
328
+
329
+ var _this$getCurrentView2 = this.getCurrentView(),
330
+ latLonBounds = _this$getCurrentView2.latLonBounds,
331
+ zoom = _this$getCurrentView2.zoom;
332
+
333
+ if (this.mapService.version === 'GAODE1.x') {
334
+ var _this$parent$getLayer = this.parent.getLayerConfig(),
335
+ visible = _this$parent$getLayer.visible;
336
+
337
+ if (zoom < 3 && visible) {
338
+ this.parent.updateLayerConfig({
339
+ visible: false
340
+ });
341
+ this.layerService.updateLayerRenderList();
342
+ } else if (zoom >= 3 && !visible) {
343
+ this.parent.updateLayerConfig({
344
+ visible: true
345
+ });
346
+ this.layerService.updateLayerRenderList();
347
+ }
348
+ }
349
+
350
+ if (this.lastViewStates && this.lastViewStates.zoom === zoom && this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()) {
351
+ return;
352
+ }
353
+
354
+ this.lastViewStates = {
355
+ zoom: zoom,
356
+ latLonBounds: latLonBounds
357
+ };
358
+
359
+ if (this.timer) {
360
+ clearTimeout(this.timer);
361
+ this.timer = null;
362
+ }
363
+
364
+ (_this$tilesetManager2 = this.tilesetManager) === null || _this$tilesetManager2 === void 0 ? void 0 : _this$tilesetManager2.update(zoom, latLonBounds);
365
+ }
366
+ }, {
367
+ key: "bindTilesetEvent",
368
+ value: function bindTilesetEvent() {
369
+ var _this7 = this;
370
+
371
+ if (!this.tilesetManager) {
372
+ return;
373
+ }
374
+
375
+ this.tilesetManager.on('tile-loaded', function (tile) {});
376
+ this.tilesetManager.on('tile-unload', function (tile) {
377
+ _this7.tileUnLoad(tile);
378
+ });
379
+ this.tilesetManager.on('tile-error', function (error, tile) {
380
+ _this7.tileError(error);
381
+ });
382
+ this.tilesetManager.on('tile-update', function () {
383
+ _this7.tileUpdate();
384
+ });
385
+ this.mapService.on('zoomend', function () {
386
+ return _this7.mapchange();
387
+ });
388
+ this.mapService.on('moveend', function () {
389
+ return _this7.mapchange();
390
+ });
391
+ }
392
+ }, {
393
+ key: "getCurrentView",
394
+ value: function getCurrentView() {
395
+ var bounds = this.mapService.getBounds();
396
+ var latLonBounds = [bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1]];
397
+ var zoom = this.mapService.getZoom();
398
+ return {
399
+ latLonBounds: latLonBounds,
400
+ zoom: zoom
401
+ };
402
+ }
403
+ }]);
404
+
405
+ return BaseTileLayer;
406
+ }();
407
+
408
+ export { BaseTileLayer as default };
409
+ //# sourceMappingURL=baseTileLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tile/tileLayer/baseTileLayer.ts"],"names":["decodePickingColor","TileLayerManager","BaseTileLayer","parent","rendererService","mapService","layerService","pickingService","select","active","parentSource","getSource","data","tilesetOptions","sourceLayer","coords","featureId","tileLayerManager","initTileSetManager","bindSubLayerEvent","bindSubLayerPick","scaleField","getScaleOptions","children","render","type","tilePickManager","clearPick","filter","child","inited","isVisible","getCurrentSelectedId","map","selectFeature","Uint8Array","setCurrentSelectedId","target","pickLayers","tile","error","console","warn","removeChilds","layerIDList","tilesetManager","tiles","isLoaded","length","createTile","layers","addChilds","isVisibleChange","getChilds","updateLayersConfig","emit","currentTiles","pickColors","selectedId","layer","hooks","beforeHighlight","call","setCurrentPickId","on","e","pickedColors","r","g","b","restLayers","isVector","setSelect","setHighlight","pickId","getPickID","setPickID","renderList","getRenderList","needPick","beforeSelect","source","tileset","initedTileset","bindTilesetEvent","getCurrentView","latLonBounds","zoom","update","version","getLayerConfig","visible","updateLayerConfig","updateLayerRenderList","lastViewStates","toString","timer","clearTimeout","tileUnLoad","tileError","tileUpdate","mapchange","bounds","getBounds","getZoom"],"mappings":"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","sourcesContent":["import {\n IInteractionTarget,\n ILayer,\n ILayerService,\n IMapService,\n IScale,\n IScaleOptions,\n ISource,\n ITileLayer,\n ITileLayerManager,\n ITileLayerOPtions,\n} from '@antv/l7-core';\nimport { decodePickingColor, Tile, TilesetManager } from '@antv/l7-utils';\nimport { TileLayerManager } from '../manager/tileLayerManager';\n\nexport default class BaseTileLayer implements ITileLayer {\n public get children() {\n return this.tileLayerManager.children;\n }\n public type: string = 'baseTile';\n public sourceLayer: string;\n public parent: ILayer;\n // 瓦片是否加载成功\n public initedTileset: boolean = false;\n // 瓦片数据管理器\n public tilesetManager: TilesetManager | undefined;\n public tileLayerManager: ITileLayerManager;\n public scaleField: any;\n\n private lastViewStates: {\n zoom: number;\n latLonBounds: [number, number, number, number];\n };\n\n private timer: any;\n private mapService: IMapService;\n private layerService: ILayerService;\n private pickColors: {\n select: any;\n active: any;\n } = {\n select: null,\n active: null,\n };\n\n constructor({\n parent,\n rendererService,\n mapService,\n layerService,\n pickingService,\n }: ITileLayerOPtions) {\n const parentSource = parent.getSource();\n const { sourceLayer, coords, featureId } =\n parentSource?.data?.tilesetOptions || {};\n this.sourceLayer = sourceLayer;\n this.parent = parent;\n this.mapService = mapService;\n this.layerService = layerService;\n\n this.tileLayerManager = new TileLayerManager(\n parent,\n mapService,\n rendererService,\n pickingService,\n layerService,\n );\n\n this.initTileSetManager();\n this.bindSubLayerEvent();\n this.bindSubLayerPick();\n\n this.scaleField = this.parent.getScaleOptions();\n }\n\n /**\n * 渲染瓦片的图层\n */\n public render() {\n if (this.tileLayerManager) {\n this.tileLayerManager.render();\n }\n }\n\n public clearPick(type: string) {\n if (type === 'mousemove') {\n this.tileLayerManager.tilePickManager.clearPick();\n }\n }\n\n /**\n * 清除 select 的选中状态\n */\n public clearPickState() {\n this.children\n .filter((child) => child.inited && child.isVisible())\n .filter((child) => child.getCurrentSelectedId() !== null)\n .map((child) => {\n this.selectFeature(child, new Uint8Array([0, 0, 0, 0]));\n child.setCurrentSelectedId(null);\n });\n }\n\n /**\n * 瓦片图层独立的拾取逻辑\n * @param target\n * @returns\n */\n public pickLayers(target: IInteractionTarget) {\n return this.tileLayerManager.pickLayers(target);\n }\n\n public tileLoaded(tile: Tile) {\n //\n }\n\n public tileError(error: Error) {\n console.warn('error:', error);\n }\n\n public tileUnLoad(tile: Tile) {\n this.tileLayerManager.removeChilds(tile.layerIDList, false);\n }\n\n public tileUpdate() {\n // Base Function\n if (!this.tilesetManager) {\n return;\n }\n\n this.tilesetManager.tiles\n .filter((tile) => tile.isLoaded)\n .map((tile) => {\n if (tile.layerIDList.length === 0) {\n const { layers, layerIDList } = this.tileLayerManager.createTile(\n tile,\n );\n tile.layerIDList = layerIDList;\n this.tileLayerManager.addChilds(layers);\n } else {\n if (!tile.isVisibleChange) {\n return;\n }\n const layers = this.tileLayerManager.getChilds(tile.layerIDList);\n this.tileLayerManager.updateLayersConfig(\n layers,\n 'visible',\n tile.isVisible,\n );\n }\n });\n\n if (this.tilesetManager.isLoaded) {\n // 将事件抛出,图层上可以使用瓦片\n this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);\n }\n }\n\n protected setPickState(layers: ILayer[]) {\n if (this.pickColors.select) {\n const selectedId = decodePickingColor(this.pickColors.select);\n layers.map((layer) => {\n this.selectFeature(layer, this.pickColors.select);\n layer.setCurrentSelectedId(selectedId);\n });\n }\n\n if (this.pickColors.active) {\n const selectedId = decodePickingColor(this.pickColors.active);\n layers\n .filter((layer) => layer.inited && layer.isVisible())\n .map((layer) => {\n layer.hooks.beforeHighlight.call(this.pickColors.active);\n layer.setCurrentPickId(selectedId);\n });\n }\n }\n\n private bindSubLayerPick() {\n this.tileLayerManager.tilePickManager.on('pick', (e) => {\n // @ts-ignore\n const [r, g, b] = e.pickedColors;\n\n if (e.type === 'click') {\n const restLayers = this.children\n .filter(\n (child) => child.inited && child.isVisible() && child.isVector,\n )\n .filter((child) => child !== e.layer);\n this.setSelect(restLayers, [r, g, b]);\n } else {\n this.setHighlight([r, g, b]);\n }\n });\n\n this.tileLayerManager.tilePickManager.on('unpick', () => {\n this.pickColors.active = null;\n });\n }\n\n private setHighlight(pickedColors: any) {\n const pickId = decodePickingColor(pickedColors);\n this.pickColors.active = pickedColors;\n this.children\n .filter((child) => child.inited && child.isVisible() && child.isVector)\n // Tip: 使用 vectorLayer 上的 pickID 优化高亮操作(过滤重复操作)\n // @ts-ignore\n .filter((child) => child.getPickID() !== pickId)\n .map((child) => {\n // @ts-ignore\n child.setPickID(pickId);\n child.hooks.beforeHighlight.call(pickedColors);\n });\n }\n\n private setSelect(layers: ILayer[], pickedColors: any) {\n const selectedId = decodePickingColor(pickedColors);\n layers.map((layer) => {\n if (\n layer.getCurrentSelectedId() === null ||\n selectedId !== layer.getCurrentSelectedId()\n ) {\n this.selectFeature(layer, pickedColors);\n layer.setCurrentSelectedId(selectedId);\n this.pickColors.select = pickedColors;\n } else {\n this.selectFeature(layer, new Uint8Array([0, 0, 0, 0])); // toggle select\n layer.setCurrentSelectedId(null);\n this.pickColors.select = null;\n }\n });\n // unselect normal layer\n const renderList = this.layerService.getRenderList();\n renderList\n .filter(\n (layer) =>\n layer.inited &&\n !layer.isVector &&\n layer.isVisible() &&\n layer.needPick('click'),\n )\n .filter((layer) => layer.getCurrentSelectedId() !== null)\n .map((layer) => {\n this.selectFeature(layer, new Uint8Array([0, 0, 0, 0]));\n layer.setCurrentSelectedId(null);\n });\n }\n\n private selectFeature(layer: ILayer, pickedColors: Uint8Array | undefined) {\n // @ts-ignore\n const [r, g, b] = pickedColors;\n layer.hooks.beforeSelect.call([r, g, b]);\n }\n\n private bindSubLayerEvent() {\n /**\n * layer.on('click', (ev) => {}); // 鼠标左键点击图层事件\n * layer.on('mouseenter', (ev) => {}); // 鼠标进入图层要素\n * layer.on('mousemove', (ev) => {}); // 鼠标在图层上移动时触发\n * layer.on('mouseout', (ev) => {}); // 鼠标移出图层要素时触发\n * layer.on('mouseup', (ev) => {}); // 鼠标在图层上单击抬起时触发\n * layer.on('mousedown', (ev) => {}); // 鼠标在图层上单击按下时触发\n * layer.on('contextmenu', (ev) => {}); // 图层要素点击右键菜单\n *\n * 鼠标在图层外的事件\n * layer.on('unclick', (ev) => {}); // 图层外点击\n * layer.on('unmousemove', (ev) => {}); // 图层外移动\n * layer.on('unmouseup', (ev) => {}); // 图层外鼠标抬起\n * layer.on('unmousedown', (ev) => {}); // 图层外单击按下时触发\n * layer.on('uncontextmenu', (ev) => {}); // 图层外点击右键\n * layer.on('unpick', (ev) => {}); // 图层外的操作的所有事件\n */\n this.parent.on('subLayerClick', (e) => {\n this.parent.emit('click', { ...e });\n });\n this.parent.on('subLayerMouseMove', (e) =>\n this.parent.emit('mousemove', { ...e }),\n );\n this.parent.on('subLayerMouseUp', (e) =>\n this.parent.emit('mouseup', { ...e }),\n );\n this.parent.on('subLayerMouseEnter', (e) =>\n this.parent.emit('mouseenter', { ...e }),\n );\n this.parent.on('subLayerMouseOut', (e) =>\n this.parent.emit('mouseout', { ...e }),\n );\n this.parent.on('subLayerMouseDown', (e) =>\n this.parent.emit('mousedown', { ...e }),\n );\n this.parent.on('subLayerContextmenu', (e) =>\n this.parent.emit('contextmenu', { ...e }),\n );\n\n // vector layer 图层外事件\n this.parent.on('subLayerUnClick', (e) =>\n this.parent.emit('unclick', { ...e }),\n );\n this.parent.on('subLayerUnMouseMove', (e) =>\n this.parent.emit('unmousemove', { ...e }),\n );\n this.parent.on('subLayerUnMouseUp', (e) =>\n this.parent.emit('unmouseup', { ...e }),\n );\n this.parent.on('subLayerUnMouseDown', (e) =>\n this.parent.emit('unmousedown', { ...e }),\n );\n this.parent.on('subLayerUnContextmenu', (e) =>\n this.parent.emit('uncontextmenu', { ...e }),\n );\n }\n\n private initTileSetManager() {\n const source: ISource = this.parent.getSource();\n this.tilesetManager = source.tileset as TilesetManager;\n\n if (!this.initedTileset) {\n this.bindTilesetEvent();\n this.initedTileset = true;\n }\n\n const { latLonBounds, zoom } = this.getCurrentView();\n this.tilesetManager?.update(zoom, latLonBounds);\n }\n\n private mapchange() {\n const { latLonBounds, zoom } = this.getCurrentView();\n\n if (this.mapService.version === 'GAODE1.x') {\n const { visible } = this.parent.getLayerConfig();\n if (zoom < 3 && visible) {\n this.parent.updateLayerConfig({ visible: false });\n this.layerService.updateLayerRenderList();\n } else if (zoom >= 3 && !visible) {\n this.parent.updateLayerConfig({ visible: true });\n this.layerService.updateLayerRenderList();\n }\n }\n\n if (\n this.lastViewStates &&\n this.lastViewStates.zoom === zoom &&\n this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()\n ) {\n return;\n }\n this.lastViewStates = { zoom, latLonBounds };\n\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n // this.timer = setTimeout(() => {\n this.tilesetManager?.update(zoom, latLonBounds);\n // }, 250);\n }\n\n private bindTilesetEvent() {\n if (!this.tilesetManager) {\n return;\n }\n // 瓦片数据加载成功\n this.tilesetManager.on('tile-loaded', (tile: Tile) => {\n // todo: 将事件抛出,图层上可以监听使用\n });\n\n // 瓦片数据从缓存删除或被执行重新加载\n this.tilesetManager.on('tile-unload', (tile: Tile) => {\n // todo: 将事件抛出,图层上可以监听使用\n this.tileUnLoad(tile);\n });\n\n // 瓦片数据加载失败\n this.tilesetManager.on('tile-error', (error, tile: Tile) => {\n // todo: 将事件抛出,图层上可以监听使用\n this.tileError(error);\n });\n\n // 瓦片显隐状态更新\n this.tilesetManager.on('tile-update', () => {\n this.tileUpdate();\n });\n\n // 地图视野发生改变\n this.mapService.on('zoomend', () => this.mapchange());\n this.mapService.on('moveend', () => this.mapchange());\n }\n\n private getCurrentView() {\n const bounds = this.mapService.getBounds();\n const latLonBounds: [number, number, number, number] = [\n bounds[0][0],\n bounds[0][1],\n bounds[1][0],\n bounds[1][1],\n ];\n const zoom = this.mapService.getZoom();\n\n return { latLonBounds, zoom };\n }\n}\n"],"file":"baseTileLayer.js"}
@@ -0,0 +1,7 @@
1
+ import { Tile } from '@antv/l7-utils';
2
+ import BaseTileLayer from './tileLayer/baseTileLayer';
3
+ export declare class TMSTileLayer extends BaseTileLayer {
4
+ type: string;
5
+ tileUnLoad(tile: Tile): void;
6
+ tileUpdate(): void;
7
+ }
@@ -0,0 +1,100 @@
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 _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
+
10
+ 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); }; }
11
+
12
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
13
+
14
+ import BaseTileLayer from './tileLayer/baseTileLayer';
15
+ export var TMSTileLayer = function (_BaseTileLayer) {
16
+ _inherits(TMSTileLayer, _BaseTileLayer);
17
+
18
+ var _super = _createSuper(TMSTileLayer);
19
+
20
+ function TMSTileLayer() {
21
+ var _this;
22
+
23
+ _classCallCheck(this, TMSTileLayer);
24
+
25
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
26
+ args[_key] = arguments[_key];
27
+ }
28
+
29
+ _this = _super.call.apply(_super, [this].concat(args));
30
+
31
+ _defineProperty(_assertThisInitialized(_this), "type", 'TMS');
32
+
33
+ return _this;
34
+ }
35
+
36
+ _createClass(TMSTileLayer, [{
37
+ key: "tileUnLoad",
38
+ value: function tileUnLoad(tile) {
39
+ this.tileLayerManager.removeChilds(tile.layerIDList, false);
40
+ }
41
+ }, {
42
+ key: "tileUpdate",
43
+ value: function tileUpdate() {
44
+ var _this2 = this;
45
+
46
+ if (!this.tilesetManager) {
47
+ return;
48
+ }
49
+
50
+ this.tilesetManager.tiles.filter(function (tile) {
51
+ return tile.isLoaded;
52
+ }).map(function (tile) {
53
+ var _tile$data;
54
+
55
+ if ((_tile$data = tile.data) !== null && _tile$data !== void 0 && _tile$data.layers && _this2.sourceLayer) {
56
+ var vectorTileLayer = tile.data.layers[_this2.sourceLayer];
57
+ var features = vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.features;
58
+
59
+ if (!(Array.isArray(features) && features.length > 0)) {
60
+ return;
61
+ }
62
+ }
63
+
64
+ if (!tile.parentLayerIDList.includes(_this2.parent.id)) {
65
+ var _tile$layerIDList;
66
+
67
+ var _this2$tileLayerManag = _this2.tileLayerManager.createTile(tile),
68
+ layers = _this2$tileLayerManag.layers,
69
+ layerIDList = _this2$tileLayerManag.layerIDList;
70
+
71
+ tile.parentLayerIDList.push(_this2.parent.id);
72
+
73
+ (_tile$layerIDList = tile.layerIDList).push.apply(_tile$layerIDList, _toConsumableArray(layerIDList));
74
+
75
+ _this2.tileLayerManager.addChilds(layers);
76
+
77
+ _this2.setPickState(layers);
78
+ } else {
79
+ if (!tile.isVisibleChange) {
80
+ return;
81
+ }
82
+
83
+ var _layers = _this2.tileLayerManager.getChilds(tile.layerIDList);
84
+
85
+ _this2.tileLayerManager.updateLayersConfig(_layers, 'visible', tile.isVisible);
86
+
87
+ _this2.setPickState(_layers);
88
+ }
89
+ });
90
+ this.parent.renderLayers();
91
+
92
+ if (this.tilesetManager.isLoaded) {
93
+ this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
94
+ }
95
+ }
96
+ }]);
97
+
98
+ return TMSTileLayer;
99
+ }(BaseTileLayer);
100
+ //# sourceMappingURL=tmsTileLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tile/tmsTileLayer.ts"],"names":["BaseTileLayer","TMSTileLayer","tile","tileLayerManager","removeChilds","layerIDList","tilesetManager","tiles","filter","isLoaded","map","data","layers","sourceLayer","vectorTileLayer","features","Array","isArray","length","parentLayerIDList","includes","parent","id","createTile","push","addChilds","setPickState","isVisibleChange","getChilds","updateLayersConfig","isVisible","renderLayers","emit","currentTiles"],"mappings":";;;;;;;;;;;;;AACA,OAAOA,aAAP,MAA0B,2BAA1B;AAEA,WAAaC,YAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA,2DACwB,KADxB;;AAAA;AAAA;;AAAA;AAAA;AAAA,WAEE,oBAAkBC,IAAlB,EAA8B;AAC5B,WAAKC,gBAAL,CAAsBC,YAAtB,CAAmCF,IAAI,CAACG,WAAxC,EAAqD,KAArD;AACD;AAJH;AAAA;AAAA,WAKE,sBAAoB;AAAA;;AAClB,UAAI,CAAC,KAAKC,cAAV,EAA0B;AACxB;AACD;;AACD,WAAKA,cAAL,CAAoBC,KAApB,CACGC,MADH,CACU,UAACN,IAAD;AAAA,eAAgBA,IAAI,CAACO,QAArB;AAAA,OADV,EAEGC,GAFH,CAEO,UAACR,IAAD,EAAgB;AAAA;;AACnB,YAAI,cAAAA,IAAI,CAACS,IAAL,kDAAWC,MAAX,IAAqB,MAAI,CAACC,WAA9B,EAA2C;AAEzC,cAAMC,eAAe,GAAGZ,IAAI,CAACS,IAAL,CAAUC,MAAV,CAAiB,MAAI,CAACC,WAAtB,CAAxB;AACA,cAAME,QAAQ,GAAGD,eAAH,aAAGA,eAAH,uBAAGA,eAAe,CAAEC,QAAlC;;AACA,cAAI,EAAEC,KAAK,CAACC,OAAN,CAAcF,QAAd,KAA2BA,QAAQ,CAACG,MAAT,GAAkB,CAA/C,CAAJ,EAAuD;AACrD;AACD;AACF;;AACD,YAAI,CAAChB,IAAI,CAACiB,iBAAL,CAAuBC,QAAvB,CAAgC,MAAI,CAACC,MAAL,CAAYC,EAA5C,CAAL,EAAsD;AAAA;;AACpD,sCAAgC,MAAI,CAACnB,gBAAL,CAAsBoB,UAAtB,CAC9BrB,IAD8B,CAAhC;AAAA,cAAQU,MAAR,yBAAQA,MAAR;AAAA,cAAgBP,WAAhB,yBAAgBA,WAAhB;;AAGAH,UAAAA,IAAI,CAACiB,iBAAL,CAAuBK,IAAvB,CAA4B,MAAI,CAACH,MAAL,CAAYC,EAAxC;;AACA,+BAAApB,IAAI,CAACG,WAAL,EAAiBmB,IAAjB,6CAAyBnB,WAAzB;;AAEA,UAAA,MAAI,CAACF,gBAAL,CAAsBsB,SAAtB,CAAgCb,MAAhC;;AACA,UAAA,MAAI,CAACc,YAAL,CAAkBd,MAAlB;AACD,SATD,MASO;AACL,cAAI,CAACV,IAAI,CAACyB,eAAV,EAA2B;AACzB;AACD;;AACD,cAAMf,OAAM,GAAG,MAAI,CAACT,gBAAL,CAAsByB,SAAtB,CAAgC1B,IAAI,CAACG,WAArC,CAAf;;AACA,UAAA,MAAI,CAACF,gBAAL,CAAsB0B,kBAAtB,CACEjB,OADF,EAEE,SAFF,EAGEV,IAAI,CAAC4B,SAHP;;AAKA,UAAA,MAAI,CAACJ,YAAL,CAAkBd,OAAlB;AACD;AACF,OAhCH;AAkCA,WAAKS,MAAL,CAAYU,YAAZ;;AAEA,UAAI,KAAKzB,cAAL,CAAoBG,QAAxB,EAAkC;AAEhC,aAAKY,MAAL,CAAYW,IAAZ,CAAiB,cAAjB,EAAiC,KAAK1B,cAAL,CAAoB2B,YAArD;AACD;AACF;AAjDH;;AAAA;AAAA,EAAkCjC,aAAlC","sourcesContent":["import { Tile, TilesetManager } from '@antv/l7-utils';\nimport BaseTileLayer from './tileLayer/baseTileLayer';\n\nexport class TMSTileLayer extends BaseTileLayer {\n public type: string = 'TMS';\n public tileUnLoad(tile: Tile) {\n this.tileLayerManager.removeChilds(tile.layerIDList, false);\n }\n public tileUpdate() {\n if (!this.tilesetManager) {\n return;\n }\n this.tilesetManager.tiles\n .filter((tile: Tile) => tile.isLoaded)\n .map((tile: Tile) => {\n if (tile.data?.layers && this.sourceLayer) {\n // vector\n const vectorTileLayer = tile.data.layers[this.sourceLayer];\n const features = vectorTileLayer?.features;\n if (!(Array.isArray(features) && features.length > 0)) {\n return;\n }\n }\n if (!tile.parentLayerIDList.includes(this.parent.id)) {\n const { layers, layerIDList } = this.tileLayerManager.createTile(\n tile,\n );\n tile.parentLayerIDList.push(this.parent.id);\n tile.layerIDList.push(...layerIDList);\n\n this.tileLayerManager.addChilds(layers);\n this.setPickState(layers);\n } else {\n if (!tile.isVisibleChange) {\n return;\n }\n const layers = this.tileLayerManager.getChilds(tile.layerIDList);\n this.tileLayerManager.updateLayersConfig(\n layers,\n 'visible',\n tile.isVisible,\n );\n this.setPickState(layers);\n }\n });\n\n this.parent.renderLayers();\n\n if (this.tilesetManager.isLoaded) {\n // 将事件抛出,图层上可以使用瓦片\n this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);\n }\n }\n}\n"],"file":"tmsTileLayer.js"}
@@ -0,0 +1,11 @@
1
+ import { ILayer, IMapService, IRendererService } from '@antv/l7-core';
2
+ import { Tile } from '@antv/l7-utils';
3
+ export declare function registerLayers(parentLayer: ILayer, layers: ILayer[]): void;
4
+ export declare function getLayerShape(layerType: string, layer: ILayer): string | string[];
5
+ export declare function getMaskValue(layerType: string, mask: boolean): boolean;
6
+ export declare function getContainerSize(container: HTMLCanvasElement | HTMLElement): DOMRect | {
7
+ width: number;
8
+ height: number;
9
+ };
10
+ export declare function readRasterValue(tile: Tile, mapService: IMapService, x: number, y: number): any;
11
+ export declare function readPixel(x: number, y: number, rendererService: IRendererService): false | Uint8Array;