@antv/l7-layers 2.9.26-alpha.1 → 2.9.27-alpha.0

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 (47) hide show
  1. package/es/core/BaseLayer.d.ts +4 -0
  2. package/es/image/models/image.js +1 -1
  3. package/es/index.d.ts +2 -1
  4. package/es/index.js +3 -2
  5. package/es/line/index.d.ts +17 -0
  6. package/es/line/index.js +18 -0
  7. package/es/mask/index.d.ts +8 -0
  8. package/es/plugins/DataSourcePlugin.js +4 -10
  9. package/es/plugins/FeatureScalePlugin.d.ts +1 -0
  10. package/es/plugins/FeatureScalePlugin.js +80 -24
  11. package/es/point/index.d.ts +11 -1
  12. package/es/point/index.js +13 -3
  13. package/es/point/models/index.d.ts +1 -1
  14. package/es/point/models/index.js +2 -0
  15. package/es/point/models/tileText.d.ts +56 -0
  16. package/es/point/models/tileText.js +598 -0
  17. package/es/polygon/index.d.ts +8 -0
  18. package/es/tile/manager/tileLayerManager.d.ts +1 -0
  19. package/es/tile/manager/tileLayerManager.js +12 -1
  20. package/es/tile/models/tileModel.d.ts +1 -1
  21. package/es/tile/models/tileModel.js +8 -8
  22. package/es/tile/tileFactory/base.d.ts +1 -1
  23. package/es/tile/tileFactory/index.d.ts +1 -1
  24. package/es/tile/tileFactory/index.js +4 -0
  25. package/es/tile/tileFactory/test.d.ts +12 -0
  26. package/es/tile/tileFactory/test.js +82 -0
  27. package/es/tile/tileFactory/vectorLayer.d.ts +1 -1
  28. package/es/tile/tileFactory/vectorLayer.js +1 -1
  29. package/es/tile/tileTest.d.ts +14 -0
  30. package/es/tile/tileTest.js +63 -0
  31. package/es/tile/utils.js +1 -1
  32. package/lib/image/models/image.js +1 -1
  33. package/lib/index.js +10 -1
  34. package/lib/line/index.js +17 -0
  35. package/lib/plugins/DataSourcePlugin.js +4 -16
  36. package/lib/plugins/FeatureScalePlugin.js +80 -24
  37. package/lib/point/index.js +12 -3
  38. package/lib/point/models/index.js +3 -0
  39. package/lib/point/models/tileText.js +613 -0
  40. package/lib/tile/manager/tileLayerManager.js +12 -1
  41. package/lib/tile/models/tileModel.js +8 -8
  42. package/lib/tile/tileFactory/index.js +5 -0
  43. package/lib/tile/tileFactory/test.js +95 -0
  44. package/lib/tile/tileFactory/vectorLayer.js +2 -2
  45. package/lib/tile/tileTest.js +75 -0
  46. package/lib/tile/utils.js +1 -1
  47. package/package.json +6 -7
@@ -11,18 +11,18 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
11
11
  import BaseModel from "../../core/BaseModel";
12
12
  import { TMSTileLayer } from "../tmsTileLayer";
13
13
 
14
- var RasterTileModel = /*#__PURE__*/function (_BaseModel) {
15
- _inherits(RasterTileModel, _BaseModel);
14
+ var TileModel = /*#__PURE__*/function (_BaseModel) {
15
+ _inherits(TileModel, _BaseModel);
16
16
 
17
- var _super = _createSuper(RasterTileModel);
17
+ var _super = _createSuper(TileModel);
18
18
 
19
- function RasterTileModel() {
20
- _classCallCheck(this, RasterTileModel);
19
+ function TileModel() {
20
+ _classCallCheck(this, TileModel);
21
21
 
22
22
  return _super.apply(this, arguments);
23
23
  }
24
24
 
25
- _createClass(RasterTileModel, [{
25
+ _createClass(TileModel, [{
26
26
  key: "getUninforms",
27
27
  value: function getUninforms() {
28
28
  return {};
@@ -56,7 +56,7 @@ var RasterTileModel = /*#__PURE__*/function (_BaseModel) {
56
56
  }
57
57
  }]);
58
58
 
59
- return RasterTileModel;
59
+ return TileModel;
60
60
  }(BaseModel);
61
61
 
62
- export { RasterTileModel as default };
62
+ export { TileModel as default };
@@ -32,7 +32,7 @@ export default class TileFactory implements ITileFactory {
32
32
  updateStyle(styles: ITileStyles): string;
33
33
  getDefautStyleAttributeField(layer: ILayer, type: string): string | string[] | 2;
34
34
  setStyleAttributeField(layer: ILayer, type: ScaleAttributeType, value: IScaleValue | undefined | string | string[]): ILayer | undefined;
35
- protected parseScaleValue(value: IScaleValue | string, type: string): (string | number | any[])[] | (import("@antv/l7-core").StyleAttributeField | ((...args: any[]) => [] | undefined))[];
35
+ protected parseScaleValue(value: IScaleValue | string, type: string): (string | number | unknown[])[] | (import("@antv/l7-core").StyleAttributeField | ((...args: any[]) => [] | undefined))[];
36
36
  protected getTile(lng: number, lat: number): Tile;
37
37
  protected emitEvent(layers: ILayer[], isVector?: boolean): void;
38
38
  protected getCombineFeature(features: IParseDataItem[]): any;
@@ -1,5 +1,5 @@
1
1
  import { IParserCfg } from '@antv/l7-core';
2
2
  import VectorLineTile from './line';
3
- export declare type TileType = 'PolygonLayer' | 'PointLayer' | 'LineLayer' | 'RasterLayer';
3
+ export declare type TileType = 'PolygonLayer' | 'PointLayer' | 'LineLayer' | 'RasterLayer' | 'TileDebugLayer';
4
4
  export declare function getTileFactory(tileType: TileType, parser: IParserCfg): typeof VectorLineTile;
5
5
  export * from '../interface';
@@ -3,6 +3,7 @@ import VectorPointLayer from "./point";
3
3
  import VectorPolygonTile from "./polygon";
4
4
  import RasterTileFactory from "./raster";
5
5
  import RasterDataFactory from "./rasterData";
6
+ import TestTile from "./test";
6
7
  export function getTileFactory(tileType, parser) {
7
8
  switch (tileType) {
8
9
  case 'PolygonLayer':
@@ -14,6 +15,9 @@ export function getTileFactory(tileType, parser) {
14
15
  case 'PointLayer':
15
16
  return VectorPointLayer;
16
17
 
18
+ case 'TileDebugLayer':
19
+ return TestTile;
20
+
17
21
  case 'RasterLayer':
18
22
  if (parser.dataType === 'arraybuffer') {
19
23
  return RasterDataFactory;
@@ -0,0 +1,12 @@
1
+ import { ILayer, ISubLayerInitOptions } from '@antv/l7-core';
2
+ import { Tile } from '@antv/l7-utils';
3
+ import { ITileFactoryOptions } from '../interface';
4
+ import TileFactory from './base';
5
+ export default class TestTile extends TileFactory {
6
+ parentLayer: ILayer;
7
+ constructor(option: ITileFactoryOptions);
8
+ createTile(tile: Tile, initOptions: ISubLayerInitOptions): {
9
+ layers: ILayer[];
10
+ layerIDList: string[];
11
+ };
12
+ }
@@ -0,0 +1,82 @@
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 TileFactory from "./base";
12
+ import VectorLayer from "./vectorLayer";
13
+ import { registerLayers } from "../utils";
14
+
15
+ var TestTile = /*#__PURE__*/function (_TileFactory) {
16
+ _inherits(TestTile, _TileFactory);
17
+
18
+ var _super = _createSuper(TestTile);
19
+
20
+ function TestTile(option) {
21
+ var _this;
22
+
23
+ _classCallCheck(this, TestTile);
24
+
25
+ _this = _super.call(this, option);
26
+ _this.parentLayer = option.parent;
27
+ return _this;
28
+ }
29
+
30
+ _createClass(TestTile, [{
31
+ key: "createTile",
32
+ value: function createTile(tile, initOptions) {
33
+ var sourceLayer = initOptions.sourceLayer;
34
+
35
+ if (!sourceLayer) {
36
+ return {
37
+ layers: [],
38
+ layerIDList: []
39
+ };
40
+ }
41
+
42
+ var vectorTileLayer = tile.data.layers[sourceLayer];
43
+ var features = vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.features;
44
+
45
+ if (features.length === 0) {
46
+ return {
47
+ layers: [],
48
+ layerIDList: []
49
+ };
50
+ }
51
+
52
+ var properties = features[0].properties;
53
+ var text = new VectorLayer({
54
+ layerType: 'PointLayer'
55
+ }).source([properties], {
56
+ parser: {
57
+ type: 'json',
58
+ x: 'textLng',
59
+ y: 'textLat'
60
+ }
61
+ }).shape('key', 'text').size(20).color('#000').style({
62
+ stroke: '#fff',
63
+ strokeWidth: 2
64
+ });
65
+ var line = new VectorLayer({
66
+ layerType: 'LineLayer'
67
+ }).source({
68
+ type: 'FeatureCollection',
69
+ features: features
70
+ }).shape('simple').color('#000');
71
+ registerLayers(this.parentLayer, [line, text]);
72
+ return {
73
+ layers: [line, text],
74
+ layerIDList: [line.id, text.id]
75
+ };
76
+ }
77
+ }]);
78
+
79
+ return TestTile;
80
+ }(TileFactory);
81
+
82
+ export { TestTile as default };
@@ -2,7 +2,7 @@ import BaseLayer from '../../core/BaseLayer';
2
2
  import { ILineLayerStyleOptions, IPointLayerStyleOptions, IPolygonLayerStyleOptions } from '../../core/interface';
3
3
  import lineFillModel from '../../line/models/tile';
4
4
  import lineSimpleModel from '../../line/models/simpleLine';
5
- import pointTextModel from '../../point/models/text';
5
+ import pointTextModel from '../../point/models/tileText';
6
6
  import pointFillModel from '../../point/models/tile';
7
7
  import polygonFillModel from '../../polygon/models/tile';
8
8
  export default class VectorLayer extends BaseLayer<Partial<IPolygonLayerStyleOptions & ILineLayerStyleOptions & IPointLayerStyleOptions>> {
@@ -13,7 +13,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
13
13
  import BaseLayer from "../../core/BaseLayer";
14
14
  import lineFillModel from "../../line/models/tile";
15
15
  import lineSimpleModel from "../../line/models/simpleLine";
16
- import pointTextModel from "../../point/models/text";
16
+ import pointTextModel from "../../point/models/tileText";
17
17
  import pointFillModel from "../../point/models/tile";
18
18
  import polygonFillModel from "../../polygon/models/tile";
19
19
 
@@ -0,0 +1,14 @@
1
+ import BaseLayer from '../core/BaseLayer';
2
+ import { IBaseLayerStyleOptions } from '../core/interface';
3
+ export default class TileDebugLayer extends BaseLayer<IBaseLayerStyleOptions> {
4
+ type: string;
5
+ defaultSourceConfig: {
6
+ data: never[];
7
+ options: {
8
+ parser: {
9
+ type: string;
10
+ };
11
+ };
12
+ };
13
+ buildModels(): void;
14
+ }
@@ -0,0 +1,63 @@
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 BaseLayer from "../core/BaseLayer";
14
+ import TileModel from "./models/tileModel";
15
+
16
+ var TileDebugLayer = /*#__PURE__*/function (_BaseLayer) {
17
+ _inherits(TileDebugLayer, _BaseLayer);
18
+
19
+ var _super = _createSuper(TileDebugLayer);
20
+
21
+ function TileDebugLayer() {
22
+ var _this;
23
+
24
+ _classCallCheck(this, TileDebugLayer);
25
+
26
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
27
+ args[_key] = arguments[_key];
28
+ }
29
+
30
+ _this = _super.call.apply(_super, [this].concat(args));
31
+
32
+ _defineProperty(_assertThisInitialized(_this), "type", 'TileDebugLayer');
33
+
34
+ _defineProperty(_assertThisInitialized(_this), "defaultSourceConfig", {
35
+ data: [],
36
+ options: {
37
+ parser: {
38
+ type: 'testTile'
39
+ }
40
+ }
41
+ });
42
+
43
+ return _this;
44
+ }
45
+
46
+ _createClass(TileDebugLayer, [{
47
+ key: "buildModels",
48
+ value: function buildModels() {
49
+ var _this2 = this;
50
+
51
+ this.layerModel = new TileModel(this);
52
+ this.layerModel.initModels(function (models) {
53
+ _this2.models = models;
54
+
55
+ _this2.renderLayers();
56
+ });
57
+ }
58
+ }]);
59
+
60
+ return TileDebugLayer;
61
+ }(BaseLayer);
62
+
63
+ export { TileDebugLayer as default };
package/es/tile/utils.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import { createLayerContainer } from '@antv/l7-core';
3
3
  import { DOM } from '@antv/l7-utils';
4
- export var tileVectorParser = ['mvt', 'geojsonvt'];
4
+ export var tileVectorParser = ['mvt', 'geojsonvt', 'testTile'];
5
5
  export function isVectorTile(parserType) {
6
6
  return tileVectorParser.indexOf(parserType) >= 0;
7
7
  }
@@ -116,7 +116,7 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
116
116
  primitive: _l7Core.gl.TRIANGLES,
117
117
  blend: {
118
118
  // Tip: 优化显示效果
119
- enable: false
119
+ enable: true
120
120
  },
121
121
  depth: {
122
122
  enable: false
package/lib/index.js CHANGED
@@ -19,7 +19,8 @@ var _exportNames = {
19
19
  RasterLayer: true,
20
20
  EarthLayer: true,
21
21
  MaskLayer: true,
22
- WindLayer: true
22
+ WindLayer: true,
23
+ TileDebugLayer: true
23
24
  };
24
25
  Object.defineProperty(exports, "BaseLayer", {
25
26
  enumerable: true,
@@ -99,6 +100,12 @@ Object.defineProperty(exports, "RasterLayer", {
99
100
  return _raster.default;
100
101
  }
101
102
  });
103
+ Object.defineProperty(exports, "TileDebugLayer", {
104
+ enumerable: true,
105
+ get: function get() {
106
+ return _tileTest.default;
107
+ }
108
+ });
102
109
  Object.defineProperty(exports, "WindLayer", {
103
110
  enumerable: true,
104
111
  get: function get() {
@@ -136,6 +143,8 @@ var _mask = _interopRequireDefault(require("./mask"));
136
143
 
137
144
  var _wind = _interopRequireDefault(require("./wind"));
138
145
 
146
+ var _tileTest = _interopRequireDefault(require("./tile/tileTest"));
147
+
139
148
  var _DataMappingPlugin = _interopRequireDefault(require("./plugins/DataMappingPlugin"));
140
149
 
141
150
  var _DataSourcePlugin = _interopRequireDefault(require("./plugins/DataSourcePlugin"));
package/lib/line/index.js CHANGED
@@ -47,6 +47,23 @@ var LineLayer = /*#__PURE__*/function (_BaseLayer) {
47
47
 
48
48
  _this = _super.call.apply(_super, [this].concat(args));
49
49
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'LineLayer');
50
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "defaultSourceConfig", {
51
+ data: [{
52
+ lng1: 100,
53
+ lat1: 30.0,
54
+ lng2: 130,
55
+ lat2: 30
56
+ }],
57
+ options: {
58
+ parser: {
59
+ type: 'json',
60
+ x: 'lng1',
61
+ y: 'lat1',
62
+ x1: 'lng2',
63
+ y1: 'lat2'
64
+ }
65
+ }
66
+ });
50
67
  return _this;
51
68
  }
52
69
 
@@ -2,8 +2,6 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -15,7 +13,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
15
13
 
16
14
  var _l7Core = require("@antv/l7-core");
17
15
 
18
- var _l7Source = _interopRequireWildcard(require("@antv/l7-source"));
16
+ var _l7Source = _interopRequireDefault(require("@antv/l7-source"));
19
17
 
20
18
  var _inversify = require("inversify");
21
19
 
@@ -23,10 +21,6 @@ require("reflect-metadata");
23
21
 
24
22
  var _dec, _class;
25
23
 
26
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
-
28
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
-
30
24
  var DataSourcePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
31
25
  function DataSourcePlugin() {
32
26
  (0, _classCallCheck2.default)(this, DataSourcePlugin);
@@ -42,13 +36,8 @@ var DataSourcePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__
42
36
  var source = layer.getSource();
43
37
 
44
38
  if (!source) {
45
- // TODO: 允许用户不使用 layer 的 source 方法,在这里传入一个默认的替换的默认数据
46
- var defaultSourceConfig = _l7Source.DEFAULT_SOURCE[layer.type] || {
47
- data: _l7Source.DEFAULT_DATA,
48
- options: _l7Source.DEFAULT_PARSER
49
- };
50
-
51
- var _ref = layer.sourceOption || defaultSourceConfig,
39
+ // Tip: 用户没有传入 source 的时候使用图层的默认数据
40
+ var _ref = layer.sourceOption || layer.defaultSourceConfig,
52
41
  data = _ref.data,
53
42
  options = _ref.options;
54
43
 
@@ -60,8 +49,7 @@ var DataSourcePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__
60
49
  _this.updateClusterData(layer);
61
50
  } else {
62
51
  source.once('sourceUpdate', function () {
63
- _this.updateClusterData(layer); // TODO: layer.hooks.init.call();
64
-
52
+ _this.updateClusterData(layer);
65
53
  });
66
54
  } // this.updateClusterData(layer);
67
55
 
@@ -58,6 +58,19 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inve
58
58
  }
59
59
 
60
60
  (0, _createClass2.default)(FeatureScalePlugin, [{
61
+ key: "getSourceData",
62
+ value: function getSourceData(layer, callback) {
63
+ var source = layer.getSource();
64
+
65
+ if (source.inited) {
66
+ callback(source.data);
67
+ } else {
68
+ source.once('sourceUpdate', function () {
69
+ callback(source.data);
70
+ });
71
+ }
72
+ }
73
+ }, {
61
74
  key: "apply",
62
75
  value: function apply(layer, _ref) {
63
76
  var _this = this;
@@ -66,23 +79,51 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inve
66
79
  layer.hooks.init.tap('FeatureScalePlugin', function () {
67
80
  _this.scaleOptions = layer.getScaleOptions();
68
81
  var attributes = styleAttributeService.getLayerStyleAttributes();
69
- var dataArray = layer.getSource().data.dataArray;
70
82
 
71
- if (dataArray.length === 0) {
72
- return;
73
- }
83
+ _this.getSourceData(layer, function (_ref2) {
84
+ var dataArray = _ref2.dataArray;
85
+
86
+ if (Array.isArray(dataArray) && dataArray.length === 0) {
87
+ return;
88
+ } else {
89
+ _this.caculateScalesForAttributes(attributes || [], dataArray);
90
+ }
91
+ }); // const { dataArray } = layer.getSource().data;
92
+ // if (dataArray.length === 0) {
93
+ // return;
94
+ // }
95
+ // this.caculateScalesForAttributes(
96
+ // attributes || [],
97
+ // dataArray as IParseDataItem[],
98
+ // );
74
99
 
75
- _this.caculateScalesForAttributes(attributes || [], dataArray);
76
100
  }); // 检测数据是否需要更新
77
101
 
78
102
  layer.hooks.beforeRenderData.tap('FeatureScalePlugin', function () {
79
103
  _this.scaleOptions = layer.getScaleOptions();
80
104
  var attributes = styleAttributeService.getLayerStyleAttributes();
81
- var dataArray = layer.getSource().data.dataArray;
82
105
 
83
- _this.caculateScalesForAttributes(attributes || [], dataArray);
106
+ _this.getSourceData(layer, function (_ref3) {
107
+ var dataArray = _ref3.dataArray;
108
+
109
+ if (Array.isArray(dataArray) && dataArray.length === 0) {
110
+ return;
111
+ }
112
+
113
+ _this.caculateScalesForAttributes(attributes || [], dataArray);
114
+
115
+ layer.layerModelNeedUpdate = true;
116
+ }); // const { dataArray } = layer.getSource().data;
117
+ // if (dataArray.length === 0) {
118
+ // return;
119
+ // }
120
+ // this.caculateScalesForAttributes(
121
+ // attributes || [],
122
+ // dataArray
123
+ // );
124
+ // layer.layerModelNeedUpdate = true;
125
+
84
126
 
85
- layer.layerModelNeedUpdate = true;
86
127
  return true;
87
128
  });
88
129
  layer.hooks.beforeRender.tap('FeatureScalePlugin', function () {
@@ -94,19 +135,34 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inve
94
135
  var attributes = styleAttributeService.getLayerStyleAttributes();
95
136
 
96
137
  if (attributes) {
97
- var dataArray = layer.getSource().data.dataArray;
138
+ _this.getSourceData(layer, function (_ref4) {
139
+ var dataArray = _ref4.dataArray;
98
140
 
99
- if (dataArray.length === 0) {
100
- return;
101
- }
141
+ if (dataArray.length === 0) {
142
+ return;
143
+ }
102
144
 
103
- var attributesToRescale = attributes.filter(function (attribute) {
104
- return attribute.needRescale;
105
- });
145
+ var attributesToRescale = attributes.filter(function (attribute) {
146
+ return attribute.needRescale;
147
+ });
148
+
149
+ if (attributesToRescale.length) {
150
+ _this.caculateScalesForAttributes(attributesToRescale, dataArray);
151
+ }
152
+ }); // const { dataArray } = layer.getSource().data;
153
+ // if (dataArray.length === 0) {
154
+ // return;
155
+ // }
156
+ // const attributesToRescale = attributes.filter(
157
+ // (attribute) => attribute.needRescale,
158
+ // );
159
+ // if (attributesToRescale.length) {
160
+ // this.caculateScalesForAttributes(
161
+ // attributesToRescale,
162
+ // dataArray,
163
+ // );
164
+ // }
106
165
 
107
- if (attributesToRescale.length) {
108
- _this.caculateScalesForAttributes(attributesToRescale, dataArray);
109
- }
110
166
  }
111
167
  });
112
168
  }
@@ -309,12 +365,12 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inve
309
365
 
310
366
  }, {
311
367
  key: "createDefaultScale",
312
- value: function createDefaultScale(_ref2) {
313
- var type = _ref2.type,
314
- domain = _ref2.domain,
315
- unknown = _ref2.unknown,
316
- clamp = _ref2.clamp,
317
- nice = _ref2.nice;
368
+ value: function createDefaultScale(_ref5) {
369
+ var type = _ref5.type,
370
+ domain = _ref5.domain,
371
+ unknown = _ref5.unknown,
372
+ clamp = _ref5.clamp,
373
+ nice = _ref5.nice;
318
374
  // @ts-ignore
319
375
  var scale = scaleMap[type]();
320
376
 
@@ -53,6 +53,16 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
53
53
 
54
54
  _this = _super.call.apply(_super, [this].concat(args));
55
55
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'PointLayer');
56
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "defaultSourceConfig", {
57
+ data: [],
58
+ options: {
59
+ parser: {
60
+ type: 'json',
61
+ x: 'lng',
62
+ y: 'lat'
63
+ }
64
+ }
65
+ });
56
66
  return _this;
57
67
  }
58
68
 
@@ -94,8 +104,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
94
104
  values = _this$shapeOption.values;
95
105
 
96
106
  var _this$getLayerConfig = this.getLayerConfig(),
97
- shape2d = _this$getLayerConfig.shape2d,
98
- shape3d = _this$getLayerConfig.shape3d;
107
+ shape2d = _this$getLayerConfig.shape2d;
99
108
 
100
109
  var iconMap = this.iconService.getIconMap();
101
110
 
@@ -159,6 +168,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
159
168
  },
160
169
  vectorpoint: {},
161
170
  tile: {},
171
+ tileText: {},
162
172
  earthFill: {},
163
173
  earthExtrude: {}
164
174
  };
@@ -167,7 +177,6 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
167
177
  }, {
168
178
  key: "getModelType",
169
179
  value: function getModelType() {
170
- var PointTypes = ['fillImage', 'fill', 'radar', 'image', 'normal', 'simplePoint', 'extrude', 'text', 'vectorpoint', 'tile', 'earthFill', 'earthExtrude'];
171
180
  var parserType = this.layerSource.getParserType();
172
181
 
173
182
  if ((0, _utils.isVectorTile)(parserType)) {
@@ -29,6 +29,8 @@ var _simplePoint = _interopRequireDefault(require("./simplePoint"));
29
29
 
30
30
  var _text = _interopRequireDefault(require("./text"));
31
31
 
32
+ var _tileText = _interopRequireDefault(require("./tileText"));
33
+
32
34
  var _tile = _interopRequireDefault(require("./tile"));
33
35
 
34
36
  // earth
@@ -43,6 +45,7 @@ var PointModels = {
43
45
  text: _text.default,
44
46
  vectorpoint: _tileModel.default,
45
47
  tile: _tile.default,
48
+ tileText: _tileText.default,
46
49
  earthFill: _earthFill.default,
47
50
  earthExtrude: _earthExtrude.default
48
51
  };