@antv/l7-layers 2.13.5 → 2.13.6

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.
@@ -1,5 +1,5 @@
1
1
  import { AsyncSeriesBailHook, AsyncWaterfallHook, SyncBailHook, SyncHook } from '@antv/async-hook';
2
- import { BlendType, IActiveOption, IAnimateOption, IAttributeAndElements, ICameraService, ICoordinateSystemService, IDataState, IEncodeFeature, IFontService, IGlobalConfigService, IIconService, IInteractionService, ILayer, ILayerAttributesOption, ILayerConfig, ILayerModel, ILayerModelInitializationOptions, ILayerPickService, ILayerPlugin, ILayerService, ILegend, IMapService, IModel, IModelInitializationOptions, IMultiPassRenderer, IParseDataItem, IPass, IPickingService, IPostProcessingPass, IRendererService, IScale, IScaleOptions, IShaderModuleService, ISourceCFG, IStyleAttributeService, IStyleAttributeUpdateOptions, ITextureService, LayerEventType, LegendItems, StyleAttributeField, StyleAttributeOption, Triangulation } from '@antv/l7-core';
2
+ import { BlendType, IActiveOption, IAnimateOption, IAttributeAndElements, ICameraService, ICoordinateSystemService, IDataState, IDebugService, IEncodeFeature, IFontService, IGlobalConfigService, IIconService, IInteractionService, ILayer, ILayerAttributesOption, ILayerConfig, ILayerModel, ILayerModelInitializationOptions, ILayerPickService, ILayerPlugin, ILayerService, ILegend, IMapService, IModel, IModelInitializationOptions, IMultiPassRenderer, IParseDataItem, IPass, IPickingService, IPostProcessingPass, IRendererService, IScale, IScaleOptions, IShaderModuleService, ISourceCFG, IStyleAttributeService, IStyleAttributeUpdateOptions, ITextureService, LayerEventType, LegendItems, StyleAttributeField, StyleAttributeOption, Triangulation } from '@antv/l7-core';
3
3
  import Source from '@antv/l7-source';
4
4
  import { EventEmitter } from 'eventemitter3';
5
5
  import { Container } from 'inversify';
@@ -71,6 +71,7 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
71
71
  protected pickingService: IPickingService;
72
72
  protected rendererService: IRendererService;
73
73
  protected layerService: ILayerService;
74
+ protected debugService: IDebugService;
74
75
  protected interactionService: IInteractionService;
75
76
  protected mapService: IMapService;
76
77
  styleAttributeService: IStyleAttributeService;
@@ -116,6 +117,7 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
116
117
  getContainer(): Container;
117
118
  addPlugin(plugin: ILayerPlugin): ILayer;
118
119
  init(): Promise<void>;
120
+ log(logType: string, time?: number): void;
119
121
  updateModelData(data: IAttributeAndElements): void;
120
122
  createModelData(data: any, option?: ISourceCFG): any;
121
123
  setLayerPickService(layerPickService: ILayerPickService): void;
@@ -30,7 +30,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
30
30
 
31
31
  // @ts-ignore
32
32
  import { AsyncSeriesBailHook, AsyncWaterfallHook, SyncBailHook, SyncHook } from '@antv/async-hook';
33
- import { BlendType, lazyInject, TYPES } from '@antv/l7-core';
33
+ import { BlendType, IDebugLog, lazyInject, TYPES } from '@antv/l7-core';
34
34
  import Source from '@antv/l7-source';
35
35
  import { encodePickingColor, WorkerSourceMap } from '@antv/l7-utils';
36
36
  import { EventEmitter } from 'eventemitter3';
@@ -274,6 +274,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
274
274
  this.fontService = this.container.get(TYPES.IFontService);
275
275
  this.rendererService = this.container.get(TYPES.IRendererService);
276
276
  this.layerService = this.container.get(TYPES.ILayerService);
277
+ this.debugService = this.container.get(TYPES.IDebugService);
277
278
  this.interactionService = this.container.get(TYPES.IInteractionService);
278
279
  this.pickingService = this.container.get(TYPES.IPickingService);
279
280
  this.mapService = this.container.get(TYPES.IMapService);
@@ -343,12 +344,14 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
343
344
 
344
345
  this.layerPickService = new LayerPickService(this); // 颜色纹理服务
345
346
 
346
- this.textureService = new TextureService(this); // 触发 init 生命周期插件
347
+ this.textureService = new TextureService(this);
348
+ this.log(IDebugLog.LayerInitStart); // 触发 init 生命周期插件
347
349
 
348
- _context.next = 29;
350
+ _context.next = 31;
349
351
  return this.hooks.init.promise();
350
352
 
351
- case 29:
353
+ case 31:
354
+ this.log(IDebugLog.LayerInitEnd);
352
355
  this.inited = true; // 触发初始化完成事件;
353
356
 
354
357
  this.emit('inited', {
@@ -361,7 +364,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
361
364
  });
362
365
  this.hooks.afterInit.call();
363
366
 
364
- case 33:
367
+ case 36:
365
368
  case "end":
366
369
  return _context.stop();
367
370
  }
@@ -375,6 +378,26 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
375
378
 
376
379
  return init;
377
380
  }()
381
+ }, {
382
+ key: "log",
383
+ value: function log(logType, time) {
384
+ // @ts-ignore 瓦片、瓦片图层目前不参与日志
385
+ if (this.tileLayer || this.isTileLayer) {
386
+ return;
387
+ }
388
+
389
+ var key = "".concat(this.id, ".").concat(logType);
390
+ var values = {
391
+ id: this.id,
392
+ type: this.type
393
+ };
394
+
395
+ if (time) {
396
+ values.time = time;
397
+ }
398
+
399
+ this.debugService.log(key, values);
400
+ }
378
401
  }, {
379
402
  key: "updateModelData",
380
403
  value: function updateModelData(data) {
@@ -1008,7 +1031,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1008
1031
 
1009
1032
  (_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels(refresh);
1010
1033
  (_this$tileLayer = this.tileLayer) === null || _this$tileLayer === void 0 ? void 0 : _this$tileLayer.destroy();
1011
- this.models = [];
1034
+ this.models = []; // 清除图层日志(如果有的话:非瓦片相关)
1035
+
1036
+ this.debugService.removeLog(this.id);
1012
1037
  this.emit('remove', {
1013
1038
  target: this,
1014
1039
  type: 'remove'
@@ -1,6 +1,7 @@
1
1
  import { IModel, IModelUniform, ITexture2D } from '@antv/l7-core';
2
2
  import BaseModel from '../../core/BaseModel';
3
3
  export default class LineModel extends BaseModel {
4
+ private textureEventFlag;
4
5
  protected texture: ITexture2D;
5
6
  getUninforms(): IModelUniform;
6
7
  getAnimateUniforms(): IModelUniform;
@@ -54,6 +54,8 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
54
54
 
55
55
  _this = _super.call.apply(_super, [this].concat(args));
56
56
 
57
+ _defineProperty(_assertThisInitialized(_this), "textureEventFlag", false);
58
+
57
59
  _defineProperty(_assertThisInitialized(_this), "texture", _this.createTexture2D({
58
60
  data: [0, 0, 0, 0],
59
61
  mag: gl.NEAREST,
@@ -236,13 +238,17 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
236
238
  while (1) {
237
239
  switch (_context.prev = _context.next) {
238
240
  case 0:
239
- _context.next = 2;
240
- return this.buildModels();
241
+ // this.updateTexture();
242
+ // this.iconService.on('imageUpdate', this.updateTexture);
243
+ if (!this.textureEventFlag) {
244
+ this.textureEventFlag = true;
245
+ this.updateTexture();
246
+ this.iconService.on('imageUpdate', this.updateTexture);
247
+ }
241
248
 
242
- case 2:
243
- return _context.abrupt("return", _context.sent);
249
+ return _context.abrupt("return", this.buildModels());
244
250
 
245
- case 3:
251
+ case 2:
246
252
  case "end":
247
253
  return _context.stop();
248
254
  }
@@ -10,7 +10,7 @@ import _initializerWarningHelper from "@babel/runtime/helpers/esm/initializerWar
10
10
  var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
11
11
 
12
12
  import _regeneratorRuntime from "@babel/runtime/regenerator";
13
- import { TYPES } from '@antv/l7-core';
13
+ import { IDebugLog, TYPES } from '@antv/l7-core';
14
14
  import { Version } from '@antv/l7-maps';
15
15
  import { normalize, rgb2arr } from '@antv/l7-utils';
16
16
  import { inject, injectable } from 'inversify';
@@ -36,12 +36,15 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
36
36
  while (1) {
37
37
  switch (_context.prev = _context.next) {
38
38
  case 0:
39
- // 初始化重新生成 map
39
+ layer.log(IDebugLog.MappingStart); // 初始化重新生成 map
40
+
40
41
  _this.generateMaping(layer, {
41
42
  styleAttributeService: styleAttributeService
42
43
  });
43
44
 
44
- case 1:
45
+ layer.log(IDebugLog.MappingEnd);
46
+
47
+ case 3:
45
48
  case "end":
46
49
  return _context.stop();
47
50
  }
@@ -5,7 +5,7 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
5
5
  var _dec, _class;
6
6
 
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
- import { TYPES } from '@antv/l7-core';
8
+ import { IDebugLog, TYPES } from '@antv/l7-core';
9
9
  import Source from '@antv/l7-source';
10
10
  import { injectable } from 'inversify';
11
11
  import 'reflect-metadata';
@@ -27,6 +27,7 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function
27
27
  while (1) {
28
28
  switch (_context.prev = _context.next) {
29
29
  case 0:
30
+ layer.log(IDebugLog.SourceInitStart);
30
31
  source = layer.getSource();
31
32
 
32
33
  if (!source) {
@@ -37,28 +38,31 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function
37
38
  }
38
39
 
39
40
  if (!source.inited) {
40
- _context.next = 6;
41
+ _context.next = 8;
41
42
  break;
42
43
  }
43
44
 
44
45
  _this.updateClusterData(layer);
45
46
 
46
- _context.next = 8;
47
+ layer.log(IDebugLog.SourceInitEnd);
48
+ _context.next = 10;
47
49
  break;
48
50
 
49
- case 6:
50
- _context.next = 8;
51
+ case 8:
52
+ _context.next = 10;
51
53
  return new Promise(function (resolve) {
52
54
  source.on('update', function (e) {
53
55
  if (e.type === 'inited') {
54
56
  _this.updateClusterData(layer);
57
+
58
+ layer.log(IDebugLog.SourceInitEnd);
55
59
  }
56
60
 
57
61
  resolve(null);
58
62
  });
59
63
  });
60
64
 
61
- case 8:
65
+ case 10:
62
66
  case "end":
63
67
  return _context.stop();
64
68
  }
@@ -67,7 +71,7 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function
67
71
  }))); // 检测数据是否需要更新
68
72
 
69
73
  layer.hooks.beforeRenderData.tapPromise('DataSourcePlugin', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
70
- var neeUpdateCluster, dataSourceNeedUpdate;
74
+ var neeUpdateCluster, dataSourceNeedUpdate, needScale;
71
75
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
72
76
  while (1) {
73
77
  switch (_context2.prev = _context2.next) {
@@ -75,9 +79,10 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function
75
79
  neeUpdateCluster = _this.updateClusterData(layer);
76
80
  dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
77
81
  layer.dataState.dataSourceNeedUpdate = false;
78
- return _context2.abrupt("return", neeUpdateCluster || dataSourceNeedUpdate);
82
+ needScale = neeUpdateCluster || dataSourceNeedUpdate;
83
+ return _context2.abrupt("return", needScale);
79
84
 
80
- case 4:
85
+ case 5:
81
86
  case "end":
82
87
  return _context2.stop();
83
88
  }
@@ -7,7 +7,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
7
7
  var _scaleMap, _dec, _class;
8
8
 
9
9
  import _regeneratorRuntime from "@babel/runtime/regenerator";
10
- import { ScaleTypes, StyleScaleType } from '@antv/l7-core';
10
+ import { IDebugLog, ScaleTypes, StyleScaleType } from '@antv/l7-core';
11
11
  import { extent } from 'd3-array';
12
12
  import * as d3interpolate from 'd3-interpolate';
13
13
  import * as d3 from 'd3-scale';
@@ -42,21 +42,25 @@ var FeatureScalePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/functi
42
42
  while (1) {
43
43
  switch (_context.prev = _context.next) {
44
44
  case 0:
45
+ layer.log(IDebugLog.ScaleInitStart);
45
46
  _this.scaleOptions = layer.getScaleOptions();
46
47
  attributes = styleAttributeService.getLayerStyleAttributes();
47
48
  dataArray = (_layer$getSource = layer.getSource()) === null || _layer$getSource === void 0 ? void 0 : _layer$getSource.data.dataArray;
48
49
 
49
50
  if (!(Array.isArray(dataArray) && dataArray.length === 0)) {
50
- _context.next = 7;
51
+ _context.next = 8;
51
52
  break;
52
53
  }
53
54
 
54
55
  return _context.abrupt("return");
55
56
 
56
- case 7:
57
+ case 8:
57
58
  _this.caculateScalesForAttributes(attributes || [], dataArray);
58
59
 
59
- case 8:
60
+ case 9:
61
+ layer.log(IDebugLog.ScaleInitEnd);
62
+
63
+ case 10:
60
64
  case "end":
61
65
  return _context.stop();
62
66
  }
@@ -4,6 +4,7 @@ import 'reflect-metadata';
4
4
  * Layer Model 初始化,更新,销毁
5
5
  */
6
6
  export default class LayerModelPlugin implements ILayerPlugin {
7
+ private build;
7
8
  initLayerModel(layer: ILayer): Promise<void>;
8
9
  prepareLayerModel(layer: ILayer): Promise<void>;
9
10
  apply(layer: ILayer): void;
@@ -5,6 +5,7 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
5
5
  var _dec, _class;
6
6
 
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
+ import { IDebugLog } from '@antv/l7-core';
8
9
  import { injectable } from 'inversify';
9
10
  import 'reflect-metadata';
10
11
  import TileLayer from "../tile/tileLayer/BaseLayer";
@@ -18,9 +19,9 @@ var LayerModelPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function
18
19
  }
19
20
 
20
21
  _createClass(LayerModelPlugin, [{
21
- key: "initLayerModel",
22
+ key: "build",
22
23
  value: function () {
23
- var _initLayerModel = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(layer) {
24
+ var _build = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(layer) {
24
25
  return _regeneratorRuntime.wrap(function _callee$(_context) {
25
26
  while (1) {
26
27
  switch (_context.prev = _context.next) {
@@ -32,9 +33,6 @@ var LayerModelPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function
32
33
  return layer.buildModels();
33
34
 
34
35
  case 3:
35
- layer.styleNeedUpdate = false;
36
-
37
- case 4:
38
36
  case "end":
39
37
  return _context.stop();
40
38
  }
@@ -42,36 +40,60 @@ var LayerModelPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function
42
40
  }, _callee);
43
41
  }));
44
42
 
45
- function initLayerModel(_x) {
46
- return _initLayerModel.apply(this, arguments);
43
+ function build(_x) {
44
+ return _build.apply(this, arguments);
47
45
  }
48
46
 
49
- return initLayerModel;
47
+ return build;
50
48
  }()
51
49
  }, {
52
- key: "prepareLayerModel",
50
+ key: "initLayerModel",
53
51
  value: function () {
54
- var _prepareLayerModel = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(layer) {
52
+ var _initLayerModel = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(layer) {
55
53
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
56
54
  while (1) {
57
55
  switch (_context2.prev = _context2.next) {
58
56
  case 0:
59
- // 更新Model 配置项
60
- layer.prepareBuildModel(); // clear layerModel resource
61
- // 初始化 Model
57
+ _context2.next = 2;
58
+ return this.build(layer);
62
59
 
63
- _context2.next = 3;
64
- return layer.buildModels();
60
+ case 2:
61
+ layer.styleNeedUpdate = false;
65
62
 
66
63
  case 3:
67
64
  case "end":
68
65
  return _context2.stop();
69
66
  }
70
67
  }
71
- }, _callee2);
68
+ }, _callee2, this);
69
+ }));
70
+
71
+ function initLayerModel(_x2) {
72
+ return _initLayerModel.apply(this, arguments);
73
+ }
74
+
75
+ return initLayerModel;
76
+ }()
77
+ }, {
78
+ key: "prepareLayerModel",
79
+ value: function () {
80
+ var _prepareLayerModel = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(layer) {
81
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
82
+ while (1) {
83
+ switch (_context3.prev = _context3.next) {
84
+ case 0:
85
+ _context3.next = 2;
86
+ return this.build(layer);
87
+
88
+ case 2:
89
+ case "end":
90
+ return _context3.stop();
91
+ }
92
+ }
93
+ }, _callee3, this);
72
94
  }));
73
95
 
74
- function prepareLayerModel(_x2) {
96
+ function prepareLayerModel(_x3) {
75
97
  return _prepareLayerModel.apply(this, arguments);
76
98
  }
77
99
 
@@ -82,69 +104,73 @@ var LayerModelPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function
82
104
  value: function apply(layer) {
83
105
  var _this = this;
84
106
 
85
- layer.hooks.init.tapPromise('LayerModelPlugin', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
86
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
107
+ layer.hooks.init.tapPromise('LayerModelPlugin', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
108
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
87
109
  while (1) {
88
- switch (_context3.prev = _context3.next) {
110
+ switch (_context4.prev = _context4.next) {
89
111
  case 0:
90
112
  if (!layer.getSource().isTile) {
91
- _context3.next = 4;
113
+ _context4.next = 4;
92
114
  break;
93
115
  }
94
116
 
95
117
  layer.prepareBuildModel();
96
118
  layer.tileLayer = new TileLayer(layer);
97
- return _context3.abrupt("return");
119
+ return _context4.abrupt("return");
98
120
 
99
121
  case 4:
100
- _context3.next = 6;
122
+ layer.log(IDebugLog.BuildModelStart);
123
+ _context4.next = 7;
101
124
  return _this.initLayerModel(layer);
102
125
 
103
- case 6:
126
+ case 7:
127
+ layer.log(IDebugLog.BuildModelEnd);
128
+
129
+ case 8:
104
130
  case "end":
105
- return _context3.stop();
131
+ return _context4.stop();
106
132
  }
107
133
  }
108
- }, _callee3);
134
+ }, _callee4);
109
135
  })));
110
136
  layer.hooks.beforeRenderData.tapPromise('LayerModelPlugin', /*#__PURE__*/function () {
111
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(flag) {
112
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
137
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(flag) {
138
+ return _regeneratorRuntime.wrap(function _callee5$(_context5) {
113
139
  while (1) {
114
- switch (_context4.prev = _context4.next) {
140
+ switch (_context5.prev = _context5.next) {
115
141
  case 0:
116
142
  if (flag) {
117
- _context4.next = 2;
143
+ _context5.next = 2;
118
144
  break;
119
145
  }
120
146
 
121
- return _context4.abrupt("return", false);
147
+ return _context5.abrupt("return", false);
122
148
 
123
149
  case 2:
124
150
  if (!layer.getSource().isTile) {
125
- _context4.next = 5;
151
+ _context5.next = 5;
126
152
  break;
127
153
  }
128
154
 
129
155
  layer.tileLayer = new TileLayer(layer);
130
- return _context4.abrupt("return", false);
156
+ return _context5.abrupt("return", false);
131
157
 
132
158
  case 5:
133
- _context4.next = 7;
159
+ _context5.next = 7;
134
160
  return _this.prepareLayerModel(layer);
135
161
 
136
162
  case 7:
137
- return _context4.abrupt("return", true);
163
+ return _context5.abrupt("return", true);
138
164
 
139
165
  case 8:
140
166
  case "end":
141
- return _context4.stop();
167
+ return _context5.stop();
142
168
  }
143
169
  }
144
- }, _callee4);
170
+ }, _callee5);
145
171
  }));
146
172
 
147
- return function (_x3) {
173
+ return function (_x4) {
148
174
  return _ref2.apply(this, arguments);
149
175
  };
150
176
  }());
@@ -1,4 +1,4 @@
1
- import { ILayerService, ITilePickService, IInteractionTarget, ILayer } from '@antv/l7-core';
1
+ import { IInteractionTarget, ILayer, ILayerService, ITilePickService } from '@antv/l7-core';
2
2
  import { TileLayerService } from './TileLayerService';
3
3
  export interface ITilePickServiceOptions {
4
4
  layerService: ILayerService;
@@ -11,7 +11,7 @@ export declare class TilePickService implements ITilePickService {
11
11
  private tileSourceService;
12
12
  private parent;
13
13
  private tilePickID;
14
- constructor({ layerService, tileLayerService, parent }: ITilePickServiceOptions);
14
+ constructor({ layerService, tileLayerService, parent, }: ITilePickServiceOptions);
15
15
  pickRender(target: IInteractionTarget): void;
16
16
  pick(layer: ILayer, target: IInteractionTarget): boolean;
17
17
  selectFeature(pickedColors: Uint8Array | undefined): void;
@@ -80,6 +80,7 @@ export default abstract class Tile implements ITile {
80
80
  animate?: boolean | undefined;
81
81
  pickBufferScale?: number | undefined;
82
82
  stencil?: boolean | undefined;
83
+ debug?: boolean | undefined;
83
84
  antialias?: boolean | undefined;
84
85
  preserveDrawingBuffer?: boolean | undefined;
85
86
  };
@@ -11,9 +11,9 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
11
11
 
12
12
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
13
13
 
14
+ import MaskLayer from "../../mask";
14
15
  import Tile from "./Tile";
15
16
  import { getTileLayer } from "./util";
16
- import MaskLayer from "../../mask";
17
17
 
18
18
  var VectorTile = /*#__PURE__*/function (_Tile) {
19
19
  _inherits(VectorTile, _Tile);
@@ -100,7 +100,7 @@ var VectorTile = /*#__PURE__*/function (_Tile) {
100
100
  switch (_context2.prev = _context2.next) {
101
101
  case 0:
102
102
  mask = new MaskLayer({
103
- layerType: "MaskLayer"
103
+ layerType: 'MaskLayer'
104
104
  }).source({
105
105
  type: 'FeatureCollection',
106
106
  features: [this.sourceTile.bboxPolygon]
@@ -173,8 +173,8 @@ var VectorTile = /*#__PURE__*/function (_Tile) {
173
173
  }
174
174
  /**
175
175
  * 在一个 Tile 中可能存在一个相同 ID 的 feature
176
- * @param id
177
- * @returns
176
+ * @param id
177
+ * @returns
178
178
  */
179
179
 
180
180
  }, {
@@ -186,6 +186,7 @@ var VectorTile = /*#__PURE__*/function (_Tile) {
186
186
  return [];
187
187
  }
188
188
 
189
+ console.log(layer.getSource().data.dataArray, id);
189
190
  var res = layer.getSource().data.dataArray.filter(function (d) {
190
191
  return d._id === id;
191
192
  });
@@ -276,6 +276,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
276
276
  this.fontService = this.container.get(_l7Core.TYPES.IFontService);
277
277
  this.rendererService = this.container.get(_l7Core.TYPES.IRendererService);
278
278
  this.layerService = this.container.get(_l7Core.TYPES.ILayerService);
279
+ this.debugService = this.container.get(_l7Core.TYPES.IDebugService);
279
280
  this.interactionService = this.container.get(_l7Core.TYPES.IInteractionService);
280
281
  this.pickingService = this.container.get(_l7Core.TYPES.IPickingService);
281
282
  this.mapService = this.container.get(_l7Core.TYPES.IMapService);
@@ -345,12 +346,14 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
345
346
 
346
347
  this.layerPickService = new _LayerPickService.default(this); // 颜色纹理服务
347
348
 
348
- this.textureService = new _TextureService.default(this); // 触发 init 生命周期插件
349
+ this.textureService = new _TextureService.default(this);
350
+ this.log(_l7Core.IDebugLog.LayerInitStart); // 触发 init 生命周期插件
349
351
 
350
- _context.next = 29;
352
+ _context.next = 31;
351
353
  return this.hooks.init.promise();
352
354
 
353
- case 29:
355
+ case 31:
356
+ this.log(_l7Core.IDebugLog.LayerInitEnd);
354
357
  this.inited = true; // 触发初始化完成事件;
355
358
 
356
359
  this.emit('inited', {
@@ -363,7 +366,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
363
366
  });
364
367
  this.hooks.afterInit.call();
365
368
 
366
- case 33:
369
+ case 36:
367
370
  case "end":
368
371
  return _context.stop();
369
372
  }
@@ -377,6 +380,26 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
377
380
 
378
381
  return init;
379
382
  }()
383
+ }, {
384
+ key: "log",
385
+ value: function log(logType, time) {
386
+ // @ts-ignore 瓦片、瓦片图层目前不参与日志
387
+ if (this.tileLayer || this.isTileLayer) {
388
+ return;
389
+ }
390
+
391
+ var key = "".concat(this.id, ".").concat(logType);
392
+ var values = {
393
+ id: this.id,
394
+ type: this.type
395
+ };
396
+
397
+ if (time) {
398
+ values.time = time;
399
+ }
400
+
401
+ this.debugService.log(key, values);
402
+ }
380
403
  }, {
381
404
  key: "updateModelData",
382
405
  value: function updateModelData(data) {
@@ -1009,7 +1032,9 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1009
1032
 
1010
1033
  (_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels(refresh);
1011
1034
  (_this$tileLayer = this.tileLayer) === null || _this$tileLayer === void 0 ? void 0 : _this$tileLayer.destroy();
1012
- this.models = [];
1035
+ this.models = []; // 清除图层日志(如果有的话:非瓦片相关)
1036
+
1037
+ this.debugService.removeLog(this.id);
1013
1038
  this.emit('remove', {
1014
1039
  target: this,
1015
1040
  type: 'remove'
@@ -75,6 +75,7 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
75
75
  }
76
76
 
77
77
  _this = _super.call.apply(_super, [this].concat(args));
78
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "textureEventFlag", false);
78
79
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "texture", _this.createTexture2D({
79
80
  data: [0, 0, 0, 0],
80
81
  mag: _l7Core.gl.NEAREST,
@@ -255,13 +256,17 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
255
256
  while (1) {
256
257
  switch (_context.prev = _context.next) {
257
258
  case 0:
258
- _context.next = 2;
259
- return this.buildModels();
259
+ // this.updateTexture();
260
+ // this.iconService.on('imageUpdate', this.updateTexture);
261
+ if (!this.textureEventFlag) {
262
+ this.textureEventFlag = true;
263
+ this.updateTexture();
264
+ this.iconService.on('imageUpdate', this.updateTexture);
265
+ }
260
266
 
261
- case 2:
262
- return _context.abrupt("return", _context.sent);
267
+ return _context.abrupt("return", this.buildModels());
263
268
 
264
- case 3:
269
+ case 2:
265
270
  case "end":
266
271
  return _context.stop();
267
272
  }
@@ -57,12 +57,15 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
57
57
  while (1) {
58
58
  switch (_context.prev = _context.next) {
59
59
  case 0:
60
- // 初始化重新生成 map
60
+ layer.log(_l7Core.IDebugLog.MappingStart); // 初始化重新生成 map
61
+
61
62
  _this.generateMaping(layer, {
62
63
  styleAttributeService: styleAttributeService
63
64
  });
64
65
 
65
- case 1:
66
+ layer.log(_l7Core.IDebugLog.MappingEnd);
67
+
68
+ case 3:
66
69
  case "end":
67
70
  return _context.stop();
68
71
  }
@@ -43,6 +43,7 @@ var DataSourcePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__
43
43
  while (1) {
44
44
  switch (_context.prev = _context.next) {
45
45
  case 0:
46
+ layer.log(_l7Core.IDebugLog.SourceInitStart);
46
47
  source = layer.getSource();
47
48
 
48
49
  if (!source) {
@@ -53,28 +54,31 @@ var DataSourcePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__
53
54
  }
54
55
 
55
56
  if (!source.inited) {
56
- _context.next = 6;
57
+ _context.next = 8;
57
58
  break;
58
59
  }
59
60
 
60
61
  _this.updateClusterData(layer);
61
62
 
62
- _context.next = 8;
63
+ layer.log(_l7Core.IDebugLog.SourceInitEnd);
64
+ _context.next = 10;
63
65
  break;
64
66
 
65
- case 6:
66
- _context.next = 8;
67
+ case 8:
68
+ _context.next = 10;
67
69
  return new Promise(function (resolve) {
68
70
  source.on('update', function (e) {
69
71
  if (e.type === 'inited') {
70
72
  _this.updateClusterData(layer);
73
+
74
+ layer.log(_l7Core.IDebugLog.SourceInitEnd);
71
75
  }
72
76
 
73
77
  resolve(null);
74
78
  });
75
79
  });
76
80
 
77
- case 8:
81
+ case 10:
78
82
  case "end":
79
83
  return _context.stop();
80
84
  }
@@ -83,7 +87,7 @@ var DataSourcePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__
83
87
  }))); // 检测数据是否需要更新
84
88
 
85
89
  layer.hooks.beforeRenderData.tapPromise('DataSourcePlugin', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
86
- var neeUpdateCluster, dataSourceNeedUpdate;
90
+ var neeUpdateCluster, dataSourceNeedUpdate, needScale;
87
91
  return _regenerator.default.wrap(function _callee2$(_context2) {
88
92
  while (1) {
89
93
  switch (_context2.prev = _context2.next) {
@@ -91,9 +95,10 @@ var DataSourcePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__
91
95
  neeUpdateCluster = _this.updateClusterData(layer);
92
96
  dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
93
97
  layer.dataState.dataSourceNeedUpdate = false;
94
- return _context2.abrupt("return", neeUpdateCluster || dataSourceNeedUpdate);
98
+ needScale = neeUpdateCluster || dataSourceNeedUpdate;
99
+ return _context2.abrupt("return", needScale);
95
100
 
96
- case 4:
101
+ case 5:
97
102
  case "end":
98
103
  return _context2.stop();
99
104
  }
@@ -69,21 +69,25 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
69
69
  while (1) {
70
70
  switch (_context.prev = _context.next) {
71
71
  case 0:
72
+ layer.log(_l7Core.IDebugLog.ScaleInitStart);
72
73
  _this.scaleOptions = layer.getScaleOptions();
73
74
  attributes = styleAttributeService.getLayerStyleAttributes();
74
75
  dataArray = (_layer$getSource = layer.getSource()) === null || _layer$getSource === void 0 ? void 0 : _layer$getSource.data.dataArray;
75
76
 
76
77
  if (!(Array.isArray(dataArray) && dataArray.length === 0)) {
77
- _context.next = 7;
78
+ _context.next = 8;
78
79
  break;
79
80
  }
80
81
 
81
82
  return _context.abrupt("return");
82
83
 
83
- case 7:
84
+ case 8:
84
85
  _this.caculateScalesForAttributes(attributes || [], dataArray);
85
86
 
86
- case 8:
87
+ case 9:
88
+ layer.log(_l7Core.IDebugLog.ScaleInitEnd);
89
+
90
+ case 10:
87
91
  case "end":
88
92
  return _context.stop();
89
93
  }
@@ -15,6 +15,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
15
15
 
16
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
17
 
18
+ var _l7Core = require("@antv/l7-core");
19
+
18
20
  var _inversify = require("inversify");
19
21
 
20
22
  require("reflect-metadata");
@@ -33,9 +35,9 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
33
35
  }
34
36
 
35
37
  (0, _createClass2.default)(LayerModelPlugin, [{
36
- key: "initLayerModel",
38
+ key: "build",
37
39
  value: function () {
38
- var _initLayerModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(layer) {
40
+ var _build = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(layer) {
39
41
  return _regenerator.default.wrap(function _callee$(_context) {
40
42
  while (1) {
41
43
  switch (_context.prev = _context.next) {
@@ -47,9 +49,6 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
47
49
  return layer.buildModels();
48
50
 
49
51
  case 3:
50
- layer.styleNeedUpdate = false;
51
-
52
- case 4:
53
52
  case "end":
54
53
  return _context.stop();
55
54
  }
@@ -57,36 +56,60 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
57
56
  }, _callee);
58
57
  }));
59
58
 
60
- function initLayerModel(_x) {
61
- return _initLayerModel.apply(this, arguments);
59
+ function build(_x) {
60
+ return _build.apply(this, arguments);
62
61
  }
63
62
 
64
- return initLayerModel;
63
+ return build;
65
64
  }()
66
65
  }, {
67
- key: "prepareLayerModel",
66
+ key: "initLayerModel",
68
67
  value: function () {
69
- var _prepareLayerModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(layer) {
68
+ var _initLayerModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(layer) {
70
69
  return _regenerator.default.wrap(function _callee2$(_context2) {
71
70
  while (1) {
72
71
  switch (_context2.prev = _context2.next) {
73
72
  case 0:
74
- // 更新Model 配置项
75
- layer.prepareBuildModel(); // clear layerModel resource
76
- // 初始化 Model
73
+ _context2.next = 2;
74
+ return this.build(layer);
77
75
 
78
- _context2.next = 3;
79
- return layer.buildModels();
76
+ case 2:
77
+ layer.styleNeedUpdate = false;
80
78
 
81
79
  case 3:
82
80
  case "end":
83
81
  return _context2.stop();
84
82
  }
85
83
  }
86
- }, _callee2);
84
+ }, _callee2, this);
87
85
  }));
88
86
 
89
- function prepareLayerModel(_x2) {
87
+ function initLayerModel(_x2) {
88
+ return _initLayerModel.apply(this, arguments);
89
+ }
90
+
91
+ return initLayerModel;
92
+ }()
93
+ }, {
94
+ key: "prepareLayerModel",
95
+ value: function () {
96
+ var _prepareLayerModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(layer) {
97
+ return _regenerator.default.wrap(function _callee3$(_context3) {
98
+ while (1) {
99
+ switch (_context3.prev = _context3.next) {
100
+ case 0:
101
+ _context3.next = 2;
102
+ return this.build(layer);
103
+
104
+ case 2:
105
+ case "end":
106
+ return _context3.stop();
107
+ }
108
+ }
109
+ }, _callee3, this);
110
+ }));
111
+
112
+ function prepareLayerModel(_x3) {
90
113
  return _prepareLayerModel.apply(this, arguments);
91
114
  }
92
115
 
@@ -97,69 +120,73 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
97
120
  value: function apply(layer) {
98
121
  var _this = this;
99
122
 
100
- layer.hooks.init.tapPromise('LayerModelPlugin', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
101
- return _regenerator.default.wrap(function _callee3$(_context3) {
123
+ layer.hooks.init.tapPromise('LayerModelPlugin', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
124
+ return _regenerator.default.wrap(function _callee4$(_context4) {
102
125
  while (1) {
103
- switch (_context3.prev = _context3.next) {
126
+ switch (_context4.prev = _context4.next) {
104
127
  case 0:
105
128
  if (!layer.getSource().isTile) {
106
- _context3.next = 4;
129
+ _context4.next = 4;
107
130
  break;
108
131
  }
109
132
 
110
133
  layer.prepareBuildModel();
111
134
  layer.tileLayer = new _BaseLayer.default(layer);
112
- return _context3.abrupt("return");
135
+ return _context4.abrupt("return");
113
136
 
114
137
  case 4:
115
- _context3.next = 6;
138
+ layer.log(_l7Core.IDebugLog.BuildModelStart);
139
+ _context4.next = 7;
116
140
  return _this.initLayerModel(layer);
117
141
 
118
- case 6:
142
+ case 7:
143
+ layer.log(_l7Core.IDebugLog.BuildModelEnd);
144
+
145
+ case 8:
119
146
  case "end":
120
- return _context3.stop();
147
+ return _context4.stop();
121
148
  }
122
149
  }
123
- }, _callee3);
150
+ }, _callee4);
124
151
  })));
125
152
  layer.hooks.beforeRenderData.tapPromise('LayerModelPlugin', /*#__PURE__*/function () {
126
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(flag) {
127
- return _regenerator.default.wrap(function _callee4$(_context4) {
153
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(flag) {
154
+ return _regenerator.default.wrap(function _callee5$(_context5) {
128
155
  while (1) {
129
- switch (_context4.prev = _context4.next) {
156
+ switch (_context5.prev = _context5.next) {
130
157
  case 0:
131
158
  if (flag) {
132
- _context4.next = 2;
159
+ _context5.next = 2;
133
160
  break;
134
161
  }
135
162
 
136
- return _context4.abrupt("return", false);
163
+ return _context5.abrupt("return", false);
137
164
 
138
165
  case 2:
139
166
  if (!layer.getSource().isTile) {
140
- _context4.next = 5;
167
+ _context5.next = 5;
141
168
  break;
142
169
  }
143
170
 
144
171
  layer.tileLayer = new _BaseLayer.default(layer);
145
- return _context4.abrupt("return", false);
172
+ return _context5.abrupt("return", false);
146
173
 
147
174
  case 5:
148
- _context4.next = 7;
175
+ _context5.next = 7;
149
176
  return _this.prepareLayerModel(layer);
150
177
 
151
178
  case 7:
152
- return _context4.abrupt("return", true);
179
+ return _context5.abrupt("return", true);
153
180
 
154
181
  case 8:
155
182
  case "end":
156
- return _context4.stop();
183
+ return _context5.stop();
157
184
  }
158
185
  }
159
- }, _callee4);
186
+ }, _callee5);
160
187
  }));
161
188
 
162
- return function (_x3) {
189
+ return function (_x4) {
163
190
  return _ref2.apply(this, arguments);
164
191
  };
165
192
  }());
@@ -23,12 +23,12 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
23
23
 
24
24
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
25
 
26
+ var _mask = _interopRequireDefault(require("../../mask"));
27
+
26
28
  var _Tile2 = _interopRequireDefault(require("./Tile"));
27
29
 
28
30
  var _util = require("./util");
29
31
 
30
- var _mask = _interopRequireDefault(require("../../mask"));
31
-
32
32
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
33
33
 
34
34
  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; } }
@@ -117,7 +117,7 @@ var VectorTile = /*#__PURE__*/function (_Tile) {
117
117
  switch (_context2.prev = _context2.next) {
118
118
  case 0:
119
119
  mask = new _mask.default({
120
- layerType: "MaskLayer"
120
+ layerType: 'MaskLayer'
121
121
  }).source({
122
122
  type: 'FeatureCollection',
123
123
  features: [this.sourceTile.bboxPolygon]
@@ -190,8 +190,8 @@ var VectorTile = /*#__PURE__*/function (_Tile) {
190
190
  }
191
191
  /**
192
192
  * 在一个 Tile 中可能存在一个相同 ID 的 feature
193
- * @param id
194
- * @returns
193
+ * @param id
194
+ * @returns
195
195
  */
196
196
 
197
197
  }, {
@@ -203,6 +203,7 @@ var VectorTile = /*#__PURE__*/function (_Tile) {
203
203
  return [];
204
204
  }
205
205
 
206
+ console.log(layer.getSource().data.dataArray, id);
206
207
  var res = layer.getSource().data.dataArray.filter(function (d) {
207
208
  return d._id === id;
208
209
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/l7-layers",
3
- "version": "2.13.5",
3
+ "version": "2.13.6",
4
4
  "description": "L7's collection of built-in layers",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -27,10 +27,10 @@
27
27
  "license": "ISC",
28
28
  "dependencies": {
29
29
  "@antv/async-hook": "^2.2.9",
30
- "@antv/l7-core": "2.13.5",
31
- "@antv/l7-maps": "2.13.5",
32
- "@antv/l7-source": "2.13.5",
33
- "@antv/l7-utils": "2.13.5",
30
+ "@antv/l7-core": "2.13.6",
31
+ "@antv/l7-maps": "2.13.6",
32
+ "@antv/l7-source": "2.13.6",
33
+ "@antv/l7-utils": "2.13.6",
34
34
  "@babel/runtime": "^7.7.7",
35
35
  "@mapbox/martini": "^0.2.0",
36
36
  "@turf/clone": "^6.5.0",
@@ -61,7 +61,7 @@
61
61
  "@types/gl-matrix": "^2.4.5",
62
62
  "@types/lodash": "^4.14.138"
63
63
  },
64
- "gitHead": "0b3af09f76cb5e7ee27b495678ad4833fdb53434",
64
+ "gitHead": "dc11ec312f2078704e548ba540d3289e1f752441",
65
65
  "publishConfig": {
66
66
  "access": "public"
67
67
  }