@antv/l7-layers 2.9.27-alpha.4 → 2.9.27

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 (48) hide show
  1. package/es/core/BaseLayer.js +2 -1
  2. package/es/core/interface.d.ts +1 -0
  3. package/es/raster/index.js +1 -2
  4. package/es/raster/models/raster.js +2 -2
  5. package/es/raster/models/rasterTile.d.ts +18 -0
  6. package/es/raster/models/rasterTile.js +140 -0
  7. package/es/raster/shaders/raster_2d_frag.glsl +0 -2
  8. package/es/raster/shaders/raster_2d_vert.glsl +0 -1
  9. package/es/tile/manager/baseMapTileLayerManager.d.ts +3 -25
  10. package/es/tile/manager/baseMapTileLayerManager.js +31 -119
  11. package/es/tile/manager/baseTileManager.d.ts +27 -0
  12. package/es/tile/manager/baseTileManager.js +107 -0
  13. package/es/tile/manager/tileLayerManager.d.ts +4 -26
  14. package/es/tile/manager/tileLayerManager.js +64 -142
  15. package/es/tile/manager/tilePickerManager.d.ts +1 -0
  16. package/es/tile/manager/tilePickerManager.js +5 -0
  17. package/es/tile/models/tileModel.d.ts +1 -0
  18. package/es/tile/models/tileModel.js +3 -0
  19. package/es/tile/tileFactory/rasterData.js +9 -11
  20. package/es/tile/tileFactory/rasterDataLayer.d.ts +1 -1
  21. package/es/tile/tileFactory/rasterDataLayer.js +1 -1
  22. package/es/tile/tileLayer/baseMapTileLayer.d.ts +1 -0
  23. package/es/tile/tileLayer/baseMapTileLayer.js +7 -0
  24. package/es/tile/tileLayer/baseTileLayer.d.ts +1 -0
  25. package/es/tile/tileLayer/baseTileLayer.js +12 -1
  26. package/es/tile/tmsMapTileLayer.js +2 -2
  27. package/es/tile/tmsTileLayer.js +2 -2
  28. package/es/tile/utils.d.ts +1 -0
  29. package/es/tile/utils.js +13 -0
  30. package/lib/core/BaseLayer.js +2 -1
  31. package/lib/raster/index.js +1 -2
  32. package/lib/raster/models/raster.js +2 -2
  33. package/lib/raster/models/rasterTile.js +154 -0
  34. package/lib/raster/shaders/raster_2d_frag.glsl +0 -2
  35. package/lib/raster/shaders/raster_2d_vert.glsl +0 -1
  36. package/lib/tile/manager/baseMapTileLayerManager.js +33 -121
  37. package/lib/tile/manager/baseTileManager.js +121 -0
  38. package/lib/tile/manager/tileLayerManager.js +66 -144
  39. package/lib/tile/manager/tilePickerManager.js +5 -0
  40. package/lib/tile/models/tileModel.js +3 -0
  41. package/lib/tile/tileFactory/rasterData.js +9 -11
  42. package/lib/tile/tileFactory/rasterDataLayer.js +2 -2
  43. package/lib/tile/tileLayer/baseMapTileLayer.js +7 -0
  44. package/lib/tile/tileLayer/baseTileLayer.js +12 -1
  45. package/lib/tile/tmsMapTileLayer.js +1 -1
  46. package/lib/tile/tmsTileLayer.js +1 -1
  47. package/lib/tile/utils.js +16 -0
  48. package/package.json +6 -6
@@ -951,7 +951,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
951
951
  }, {
952
952
  key: "destroy",
953
953
  value: function destroy() {
954
- var _this$multiPassRender, _this$layerModel2;
954
+ var _this$multiPassRender, _this$layerModel2, _this$tileLayer;
955
955
 
956
956
  var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
957
957
 
@@ -979,6 +979,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
979
979
  this.hooks.afterDestroy.call(); // Tip: 清除各个图层自定义的 models 资源
980
980
 
981
981
  (_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels(refresh);
982
+ (_this$tileLayer = this.tileLayer) === null || _this$tileLayer === void 0 ? void 0 : _this$tileLayer.destroy();
982
983
  this.models = [];
983
984
  this.layerService.cleanRemove(this, refresh);
984
985
  this.emit('remove', {
@@ -210,6 +210,7 @@ export interface IHeatMapLayerStyleOptions extends IBaseLayerStyleOptions {
210
210
  coverage?: number;
211
211
  }
212
212
  export interface IRasterLayerStyleOptions extends IBaseLayerStyleOptions {
213
+ colorTexture?: ITexture2D;
213
214
  domain: [number, number];
214
215
  noDataValue: number;
215
216
  clampLow: boolean;
@@ -99,8 +99,7 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
99
99
 
100
100
  default:
101
101
  return 'raster';
102
- } // return 'raster';
103
-
102
+ }
104
103
  }
105
104
  }]);
106
105
 
@@ -15,10 +15,10 @@ import BaseModel from "../../core/BaseModel";
15
15
  import { RasterImageTriangulation } from "../../core/triangulation";
16
16
 
17
17
  /* babel-plugin-inline-import '../shaders/raster_2d_frag.glsl' */
18
- var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue)\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n\n\n}\n";
18
+ var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue)\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
19
19
 
20
20
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
21
- var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
21
+ var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
22
22
 
23
23
  var RasterModel = /*#__PURE__*/function (_BaseModel) {
24
24
  _inherits(RasterModel, _BaseModel);
@@ -0,0 +1,18 @@
1
+ import { IModel, ITexture2D } from '@antv/l7-core';
2
+ import BaseModel from '../../core/BaseModel';
3
+ export default class RasterModel extends BaseModel {
4
+ protected texture: ITexture2D;
5
+ getUninforms(): {
6
+ u_opacity: number;
7
+ u_texture: ITexture2D;
8
+ u_domain: [number, number];
9
+ u_clampLow: boolean;
10
+ u_clampHigh: boolean;
11
+ u_noDataValue: number;
12
+ u_colorTexture: ITexture2D;
13
+ };
14
+ initModels(callbackModel: (models: IModel[]) => void): void;
15
+ buildModels(callbackModel: (models: IModel[]) => void): void;
16
+ clearModels(): void;
17
+ protected registerBuiltinAttributes(): void;
18
+ }
@@ -0,0 +1,140 @@
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 { AttributeType, gl } from '@antv/l7-core';
12
+ import { getMask } from '@antv/l7-utils';
13
+ import BaseModel from "../../core/BaseModel";
14
+ import { RasterImageTriangulation } from "../../core/triangulation";
15
+
16
+ /* babel-plugin-inline-import '../shaders/raster_2d_frag.glsl' */
17
+ var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue)\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
18
+
19
+ /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
20
+ var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
21
+
22
+ var RasterModel = /*#__PURE__*/function (_BaseModel) {
23
+ _inherits(RasterModel, _BaseModel);
24
+
25
+ var _super = _createSuper(RasterModel);
26
+
27
+ function RasterModel() {
28
+ _classCallCheck(this, RasterModel);
29
+
30
+ return _super.apply(this, arguments);
31
+ }
32
+
33
+ _createClass(RasterModel, [{
34
+ key: "getUninforms",
35
+ value: function getUninforms() {
36
+ var createTexture2D = this.rendererService.createTexture2D;
37
+
38
+ var _ref = this.layer.getLayerConfig(),
39
+ _ref$colorTexture = _ref.colorTexture,
40
+ colorTexture = _ref$colorTexture === void 0 ? createTexture2D({
41
+ data: [],
42
+ width: 0,
43
+ height: 0,
44
+ flipY: false
45
+ }) : _ref$colorTexture,
46
+ _ref$opacity = _ref.opacity,
47
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
48
+ _ref$clampLow = _ref.clampLow,
49
+ clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
50
+ _ref$clampHigh = _ref.clampHigh,
51
+ clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
52
+ _ref$noDataValue = _ref.noDataValue,
53
+ noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
54
+ _ref$domain = _ref.domain,
55
+ domain = _ref$domain === void 0 ? [0, 1] : _ref$domain;
56
+
57
+ return {
58
+ u_opacity: opacity || 1,
59
+ u_texture: this.texture,
60
+ u_domain: domain,
61
+ u_clampLow: clampLow,
62
+ u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,
63
+ u_noDataValue: noDataValue,
64
+ u_colorTexture: colorTexture
65
+ };
66
+ }
67
+ }, {
68
+ key: "initModels",
69
+ value: function initModels(callbackModel) {
70
+ var _ref2 = this.layer.getLayerConfig(),
71
+ _ref2$mask = _ref2.mask,
72
+ mask = _ref2$mask === void 0 ? false : _ref2$mask,
73
+ _ref2$maskInside = _ref2.maskInside,
74
+ maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
75
+
76
+ var source = this.layer.getSource();
77
+ var createTexture2D = this.rendererService.createTexture2D;
78
+ var parserDataItem = source.data.dataArray[0];
79
+ this.texture = createTexture2D({
80
+ data: parserDataItem.data,
81
+ width: parserDataItem.width,
82
+ height: parserDataItem.height,
83
+ format: gl.LUMINANCE,
84
+ type: gl.FLOAT
85
+ });
86
+ this.layer.buildLayerModel({
87
+ moduleName: 'rasterTileImageData',
88
+ vertexShader: rasterVert,
89
+ fragmentShader: rasterFrag,
90
+ triangulation: RasterImageTriangulation,
91
+ depth: {
92
+ enable: false
93
+ },
94
+ stencil: getMask(mask, maskInside),
95
+ pick: false
96
+ }).then(function (model) {
97
+ callbackModel([model]);
98
+ }).catch(function (err) {
99
+ console.warn(err);
100
+ callbackModel([]);
101
+ });
102
+ }
103
+ }, {
104
+ key: "buildModels",
105
+ value: function buildModels(callbackModel) {
106
+ this.initModels(callbackModel);
107
+ }
108
+ }, {
109
+ key: "clearModels",
110
+ value: function clearModels() {
111
+ var _this$texture;
112
+
113
+ (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
114
+ }
115
+ }, {
116
+ key: "registerBuiltinAttributes",
117
+ value: function registerBuiltinAttributes() {
118
+ this.styleAttributeService.registerStyleAttribute({
119
+ name: 'uv',
120
+ type: AttributeType.Attribute,
121
+ descriptor: {
122
+ name: 'a_Uv',
123
+ buffer: {
124
+ usage: gl.DYNAMIC_DRAW,
125
+ data: [],
126
+ type: gl.FLOAT
127
+ },
128
+ size: 2,
129
+ update: function update(feature, featureIdx, vertex) {
130
+ return [vertex[3], vertex[4]];
131
+ }
132
+ }
133
+ });
134
+ }
135
+ }]);
136
+
137
+ return RasterModel;
138
+ }(BaseModel);
139
+
140
+ export { RasterModel as default };
@@ -23,6 +23,4 @@ void main() {
23
23
  gl_FragColor = color;
24
24
  gl_FragColor.a = gl_FragColor.a * u_opacity ;
25
25
  }
26
-
27
-
28
26
  }
@@ -8,7 +8,6 @@ varying vec2 v_texCoord;
8
8
  void main() {
9
9
  v_texCoord = a_Uv;
10
10
  vec4 project_pos = project_position(vec4(a_Position, 1.0));
11
- gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));
12
11
 
13
12
  if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
14
13
  gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));
@@ -1,29 +1,7 @@
1
1
  import { ILayer, IMapService, IRendererService, IBaseTileLayerManager } from '@antv/l7-core';
2
- import { Tile } from '@antv/l7-utils';
3
- export declare class BaseMapTileLayerManager implements IBaseTileLayerManager {
4
- sourceLayer: string;
5
- parent: ILayer;
6
- children: ILayer[];
7
- mapService: IMapService;
8
- rendererService: IRendererService;
9
- private tileFactory;
10
- private initOptions;
2
+ import { TileManager } from './baseTileManager';
3
+ export declare class BaseMapTileLayerManager extends TileManager implements IBaseTileLayerManager {
11
4
  constructor(parent: ILayer, mapService: IMapService, rendererService: IRendererService);
12
- createTile(tile: Tile): {
13
- layers: ILayer[];
14
- layerIDList: string[];
15
- };
16
- updateLayersConfig(layers: ILayer[], key: string, value: any): void;
17
- addChild(layer: ILayer): void;
18
- addChilds(layers: ILayer[]): void;
19
- removeChilds(layerIDList: string[], refresh?: boolean): void;
20
- removeChild(layer: ILayer): void;
21
- getChilds(layerIDList: string[]): ILayer[];
22
- getChild(layerID: string): ILayer;
23
- clearChild(): void;
24
- hasChild(layer: ILayer): boolean;
25
5
  render(): void;
26
- private setSubLayerInitOptipn;
27
- private getSourceLayer;
28
- private initTileFactory;
6
+ private setSubLayerInitOption;
29
7
  }
@@ -1,109 +1,43 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
1
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
2
  import _createClass from "@babel/runtime/helpers/createClass";
5
- import { getTileFactory } from "../tileFactory";
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 { TileManager } from "./baseTileManager";
6
12
  import { getLayerShape, getMaskValue } from "../utils";
7
- export var BaseMapTileLayerManager = /*#__PURE__*/function () {
13
+ export var BaseMapTileLayerManager = /*#__PURE__*/function (_TileManager) {
14
+ _inherits(BaseMapTileLayerManager, _TileManager);
15
+
16
+ var _super = _createSuper(BaseMapTileLayerManager);
17
+
8
18
  // only support vector layer
9
19
  function BaseMapTileLayerManager(parent, mapService, rendererService) {
20
+ var _this;
21
+
10
22
  _classCallCheck(this, BaseMapTileLayerManager);
11
23
 
12
- this.parent = parent;
13
- this.children = parent.layerChildren;
14
- this.mapService = mapService;
15
- this.rendererService = rendererService;
16
- this.setSubLayerInitOptipn();
17
- this.initTileFactory();
18
- }
24
+ _this = _super.call(this);
25
+ _this.parent = parent;
26
+ _this.children = parent.layerChildren;
27
+ _this.mapService = mapService;
28
+ _this.rendererService = rendererService;
19
29
 
20
- _createClass(BaseMapTileLayerManager, [{
21
- key: "createTile",
22
- value: function createTile(tile) {
23
- return this.tileFactory.createTile(tile, this.initOptions);
24
- }
25
- }, {
26
- key: "updateLayersConfig",
27
- value: function updateLayersConfig(layers, key, value) {
28
- layers.map(function (layer) {
29
- if (key === 'mask') {
30
- // Tip: 栅格瓦片生效、设置全局的 mask、瓦片被全局的 mask 影响
31
- layer.style({
32
- mask: value
33
- });
34
- } else {
35
- layer.updateLayerConfig(_defineProperty({}, key, value));
36
- }
37
- });
38
- }
39
- }, {
40
- key: "addChild",
41
- value: function addChild(layer) {
42
- this.children.push(layer);
43
- }
44
- }, {
45
- key: "addChilds",
46
- value: function addChilds(layers) {
47
- var _this$children;
30
+ _this.setSubLayerInitOption();
48
31
 
49
- (_this$children = this.children).push.apply(_this$children, _toConsumableArray(layers));
50
- }
51
- }, {
52
- key: "removeChilds",
53
- value: function removeChilds(layerIDList) {
54
- var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
55
- var remveLayerList = [];
56
- var cacheLayerList = [];
57
- this.children.filter(function (child) {
58
- layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
59
- });
60
- remveLayerList.map(function (layer) {
61
- return layer.destroy(refresh);
62
- });
63
- this.children = cacheLayerList;
64
- }
65
- }, {
66
- key: "removeChild",
67
- value: function removeChild(layer) {
68
- var layerIndex = this.children.indexOf(layer);
32
+ _this.initTileFactory();
69
33
 
70
- if (layerIndex > -1) {
71
- this.children.splice(layerIndex, 1);
72
- }
34
+ return _this;
35
+ }
73
36
 
74
- layer.destroy();
75
- }
76
- }, {
77
- key: "getChilds",
78
- value: function getChilds(layerIDList) {
79
- return this.children.filter(function (child) {
80
- return layerIDList.includes(child.id);
81
- });
82
- }
83
- }, {
84
- key: "getChild",
85
- value: function getChild(layerID) {
86
- return this.children.filter(function (child) {
87
- return child.id === layerID;
88
- })[0];
89
- }
90
- }, {
91
- key: "clearChild",
92
- value: function clearChild() {
93
- this.children.forEach(function (layer) {
94
- layer.destroy();
95
- });
96
- this.children.slice(0, this.children.length);
97
- }
98
- }, {
99
- key: "hasChild",
100
- value: function hasChild(layer) {
101
- return this.children.includes(layer);
102
- }
103
- }, {
37
+ _createClass(BaseMapTileLayerManager, [{
104
38
  key: "render",
105
39
  value: function render() {
106
- var _this = this;
40
+ var _this2 = this;
107
41
 
108
42
  this.children.filter(function (layer) {
109
43
  return layer.inited;
@@ -115,7 +49,7 @@ export var BaseMapTileLayerManager = /*#__PURE__*/function () {
115
49
 
116
50
  if (layer.masks.length > 0) {
117
51
  // 清除上一次的模版缓存
118
- _this.rendererService.clear({
52
+ _this2.rendererService.clear({
119
53
  stencil: 0,
120
54
  depth: 1,
121
55
  framebuffer: null
@@ -134,8 +68,8 @@ export var BaseMapTileLayerManager = /*#__PURE__*/function () {
134
68
  });
135
69
  }
136
70
  }, {
137
- key: "setSubLayerInitOptipn",
138
- value: function setSubLayerInitOptipn() {
71
+ key: "setSubLayerInitOption",
72
+ value: function setSubLayerInitOption() {
139
73
  var _colorAttribute$scale, _sizeAttribute$scale;
140
74
 
141
75
  var _ref = this.parent.getLayerConfig(),
@@ -179,29 +113,7 @@ export var BaseMapTileLayerManager = /*#__PURE__*/function () {
179
113
  workerEnabled: workerEnabled
180
114
  };
181
115
  }
182
- }, {
183
- key: "getSourceLayer",
184
- value: function getSourceLayer(parentParserType, sourceLayer) {
185
- if (parentParserType === 'geojsonvt') {
186
- return 'geojsonvt';
187
- } else if (parentParserType === 'testTile') {
188
- return 'testTile';
189
- } else {
190
- return sourceLayer;
191
- }
192
- }
193
- }, {
194
- key: "initTileFactory",
195
- value: function initTileFactory() {
196
- var source = this.parent.getSource();
197
- var TileFactory = getTileFactory(this.parent.type, source.parser);
198
- this.tileFactory = new TileFactory({
199
- parent: this.parent,
200
- mapService: this.mapService,
201
- rendererService: this.rendererService
202
- });
203
- }
204
116
  }]);
205
117
 
206
118
  return BaseMapTileLayerManager;
207
- }();
119
+ }(TileManager);
@@ -0,0 +1,27 @@
1
+ import { ILayer, IRendererService, IMapService, ISubLayerInitOptions } from '@antv/l7-core';
2
+ import { Tile } from '@antv/l7-utils';
3
+ import { ITileFactory } from '../tileFactory';
4
+ export declare class TileManager {
5
+ sourceLayer: string;
6
+ parent: ILayer;
7
+ children: ILayer[];
8
+ mapService: IMapService;
9
+ rendererService: IRendererService;
10
+ protected tileFactory: ITileFactory;
11
+ protected initOptions: ISubLayerInitOptions;
12
+ createTile(tile: Tile): {
13
+ layers: ILayer[];
14
+ layerIDList: string[];
15
+ };
16
+ addChild(layer: ILayer): void;
17
+ addChilds(layers: ILayer[]): void;
18
+ removeChilds(layerIDList: string[], refresh?: boolean): void;
19
+ removeChild(layer: ILayer): void;
20
+ getChilds(layerIDList: string[]): ILayer[];
21
+ getChild(layerID: string): ILayer;
22
+ clearChild(): void;
23
+ hasChild(layer: ILayer): boolean;
24
+ initTileFactory(): void;
25
+ getSourceLayer(parentParserType: string, sourceLayer: string | undefined): string | undefined;
26
+ destroy(): void;
27
+ }
@@ -0,0 +1,107 @@
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 { getTileFactory } from "../tileFactory";
5
+ export var TileManager = /*#__PURE__*/function () {
6
+ function TileManager() {
7
+ _classCallCheck(this, TileManager);
8
+ }
9
+
10
+ _createClass(TileManager, [{
11
+ key: "createTile",
12
+ value: function createTile(tile) {
13
+ return this.tileFactory.createTile(tile, this.initOptions);
14
+ }
15
+ }, {
16
+ key: "addChild",
17
+ value: function addChild(layer) {
18
+ this.children.push(layer);
19
+ }
20
+ }, {
21
+ key: "addChilds",
22
+ value: function addChilds(layers) {
23
+ var _this$children;
24
+
25
+ (_this$children = this.children).push.apply(_this$children, _toConsumableArray(layers));
26
+ }
27
+ }, {
28
+ key: "removeChilds",
29
+ value: function removeChilds(layerIDList) {
30
+ var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
31
+ var remveLayerList = [];
32
+ var cacheLayerList = [];
33
+ this.children.filter(function (child) {
34
+ layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
35
+ });
36
+ remveLayerList.map(function (layer) {
37
+ return layer.destroy(refresh);
38
+ });
39
+ this.children = cacheLayerList;
40
+ }
41
+ }, {
42
+ key: "removeChild",
43
+ value: function removeChild(layer) {
44
+ var layerIndex = this.children.indexOf(layer);
45
+
46
+ if (layerIndex > -1) {
47
+ this.children.splice(layerIndex, 1);
48
+ }
49
+
50
+ layer.destroy();
51
+ }
52
+ }, {
53
+ key: "getChilds",
54
+ value: function getChilds(layerIDList) {
55
+ return this.children.filter(function (child) {
56
+ return layerIDList.includes(child.id);
57
+ });
58
+ }
59
+ }, {
60
+ key: "getChild",
61
+ value: function getChild(layerID) {
62
+ return this.children.filter(function (child) {
63
+ return child.id === layerID;
64
+ })[0];
65
+ }
66
+ }, {
67
+ key: "clearChild",
68
+ value: function clearChild() {
69
+ this.children.forEach(function (layer) {
70
+ layer.destroy();
71
+ });
72
+ this.children.slice(0, this.children.length);
73
+ }
74
+ }, {
75
+ key: "hasChild",
76
+ value: function hasChild(layer) {
77
+ return this.children.includes(layer);
78
+ }
79
+ }, {
80
+ key: "initTileFactory",
81
+ value: function initTileFactory() {
82
+ var source = this.parent.getSource();
83
+ var TileFactory = getTileFactory(this.parent.type, source.parser);
84
+ this.tileFactory = new TileFactory({
85
+ parent: this.parent,
86
+ mapService: this.mapService,
87
+ rendererService: this.rendererService
88
+ });
89
+ }
90
+ }, {
91
+ key: "getSourceLayer",
92
+ value: function getSourceLayer(parentParserType, sourceLayer) {
93
+ if (parentParserType === 'geojsonvt') {
94
+ return 'geojsonvt';
95
+ } else if (parentParserType === 'testTile') {
96
+ return 'testTile';
97
+ } else {
98
+ return sourceLayer;
99
+ }
100
+ }
101
+ }, {
102
+ key: "destroy",
103
+ value: function destroy() {}
104
+ }]);
105
+
106
+ return TileManager;
107
+ }();
@@ -1,37 +1,15 @@
1
1
  import { IInteractionTarget, ILayer, IMapService, IPickingService, IRendererService, ITileLayerManager, ITilePickManager, ITransform } from '@antv/l7-core';
2
- import { Tile } from '@antv/l7-utils';
2
+ import { TileManager } from './baseTileManager';
3
3
  import { ITileConfigManager } from './tileConfigManager';
4
- export declare class TileLayerManager implements ITileLayerManager {
5
- sourceLayer: string;
6
- parent: ILayer;
7
- children: ILayer[];
8
- mapService: IMapService;
9
- rendererService: IRendererService;
4
+ export declare class TileLayerManager extends TileManager implements ITileLayerManager {
10
5
  tilePickManager: ITilePickManager;
11
6
  tileConfigManager: ITileConfigManager;
12
- private tileFactory;
13
- private initOptions;
14
- private rampColorsData;
15
7
  private transforms;
16
8
  constructor(parent: ILayer, mapService: IMapService, rendererService: IRendererService, pickingService: IPickingService, transforms: ITransform[]);
17
- createTile(tile: Tile): {
18
- layers: ILayer[];
19
- layerIDList: string[];
20
- };
21
- updateLayersConfig(layers: ILayer[], key: string, value: any): void;
22
- addChild(layer: ILayer): void;
23
- addChilds(layers: ILayer[]): void;
24
- removeChilds(layerIDList: string[], refresh?: boolean): void;
25
- removeChild(layer: ILayer): void;
26
- getChilds(layerIDList: string[]): ILayer[];
27
- getChild(layerID: string): ILayer;
28
- clearChild(): void;
29
- hasChild(layer: ILayer): boolean;
30
9
  render(): void;
31
10
  pickLayers(target: IInteractionTarget): boolean;
32
- private setSubLayerInitOptipn;
33
- private getSourceLayer;
11
+ private setSubLayerInitOption;
34
12
  private setConfigListener;
35
13
  private updateStyle;
36
- private initTileFactory;
14
+ destroy(): void;
37
15
  }