@antv/l7-layers 2.9.6 → 2.9.9

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.
@@ -2,6 +2,7 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
2
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
3
  import _createClass from "@babel/runtime/helpers/createClass";
4
4
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
+ import { generateColorRamp } from '@antv/l7-utils';
5
6
  import { getTileFactory } from '../tileFactory';
6
7
  import { getLayerShape, getMaskValue } from '../utils';
7
8
  import TileConfigManager from './tileConfigManager';
@@ -28,6 +29,8 @@ export var TileLayerManager = function () {
28
29
 
29
30
  _defineProperty(this, "initOptions", void 0);
30
31
 
32
+ _defineProperty(this, "rampColorsData", void 0);
33
+
31
34
  this.parent = parent;
32
35
  this.children = parent.layerChildren;
33
36
  this.mapService = mapService;
@@ -72,13 +75,14 @@ export var TileLayerManager = function () {
72
75
  }, {
73
76
  key: "removeChilds",
74
77
  value: function removeChilds(layerIDList) {
78
+ var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
75
79
  var remveLayerList = [];
76
80
  var cacheLayerList = [];
77
81
  this.children.filter(function (child) {
78
82
  layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
79
83
  });
80
84
  remveLayerList.map(function (layer) {
81
- return layer.destroy();
85
+ return layer.destroy(refresh);
82
86
  });
83
87
  this.children = cacheLayerList;
84
88
  }
@@ -176,6 +180,11 @@ export var TileLayerManager = function () {
176
180
  coords = _ref2.coords;
177
181
 
178
182
  var layerShape = getLayerShape(this.parent.type, this.parent);
183
+
184
+ if (rampColors) {
185
+ this.rampColorsData = generateColorRamp(rampColors);
186
+ }
187
+
179
188
  this.initOptions = {
180
189
  layerType: this.parent.type,
181
190
  shape: layerShape,
@@ -193,7 +202,8 @@ export var TileLayerManager = function () {
193
202
  clampLow: clampLow,
194
203
  clampHigh: clampHigh,
195
204
  domain: domain,
196
- rampColors: rampColors
205
+ rampColors: rampColors,
206
+ rampColorsData: this.rampColorsData
197
207
  };
198
208
  }
199
209
  }, {
@@ -261,6 +271,10 @@ export var TileLayerManager = function () {
261
271
  var config = layerConfig[style];
262
272
  updateValue = config;
263
273
  this.updateLayersConfig(this.children, style, config);
274
+
275
+ if (style === 'rampColors' && config) {
276
+ this.rampColorsData = generateColorRamp(config);
277
+ }
264
278
  }
265
279
 
266
280
  this.initOptions[style] = updateValue;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tile/manager/tileLayerManager.ts"],"names":["getTileFactory","getLayerShape","getMaskValue","TileConfigManager","TilePickManager","TileLayerManager","parent","mapService","rendererService","pickingService","layerService","children","layerChildren","tilePickManager","tileConfigManager","setSubLayerInitOptipn","setConfigListener","initTileFactory","tile","tileFactory","createTile","initOptions","layers","key","value","map","layer","style","mask","updateLayerConfig","push","layerIDList","remveLayerList","cacheLayerList","filter","child","includes","id","destroy","layerIndex","indexOf","splice","layerID","forEach","slice","length","checkConfig","normalRender","target","pickRender","getLayerConfig","zIndex","opacity","stroke","strokeWidth","strokeOpacity","clampLow","clampHigh","domain","rampColors","colors","positions","featureId","sourceLayer","colorValue","getAttributeScale","sizeValue","source","getSource","data","tilesetOptions","coords","layerShape","type","layerType","shape","color","size","setConfig","getAttribute","scale","on","updateConfigs","updateStyle","updateValue","scaleValue","setStyleAttributeField","layerConfig","config","updateLayersConfig","TileFactory","parser"],"mappings":"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","sourcesContent":["import {\n IInteractionTarget,\n ILayer,\n ILayerService,\n IMapService,\n IPickingService,\n IRendererService,\n ISubLayerInitOptions,\n ITileLayerManager,\n ITilePickManager,\n ScaleAttributeType,\n} from '@antv/l7-core';\nimport { Tile } from '@antv/l7-utils';\nimport { getTileFactory, ITileFactory, TileType } from '../tileFactory';\nimport { getLayerShape, getMaskValue } from '../utils';\nimport TileConfigManager, { ITileConfigManager } from './tileConfigManager';\nimport TilePickManager from './tilePickerManager';\nexport class TileLayerManager implements ITileLayerManager {\n public sourceLayer: string;\n public parent: ILayer;\n public children: ILayer[];\n public mapService: IMapService;\n public rendererService: IRendererService;\n public tilePickManager: ITilePickManager;\n public tileConfigManager: ITileConfigManager;\n private tileFactory: ITileFactory;\n private initOptions: ISubLayerInitOptions;\n constructor(\n parent: ILayer,\n mapService: IMapService,\n rendererService: IRendererService,\n pickingService: IPickingService,\n layerService: ILayerService,\n ) {\n this.parent = parent;\n this.children = parent.layerChildren;\n this.mapService = mapService;\n this.rendererService = rendererService;\n this.tilePickManager = new TilePickManager(\n parent,\n rendererService,\n pickingService,\n this.children,\n layerService,\n );\n this.tileConfigManager = new TileConfigManager();\n\n this.setSubLayerInitOptipn();\n this.setConfigListener();\n this.initTileFactory();\n }\n\n public createTile(tile: Tile) {\n return this.tileFactory.createTile(tile, this.initOptions);\n }\n\n public updateLayersConfig(layers: ILayer[], key: string, value: any) {\n layers.map((layer) => {\n if (key === 'mask') {\n // Tip: 栅格瓦片生效、设置全局的 mask、瓦片被全局的 mask 影响\n layer.style({\n mask: value,\n });\n } else {\n layer.updateLayerConfig({\n [key]: value,\n });\n }\n });\n }\n\n public addChild(layer: ILayer) {\n this.children.push(layer);\n }\n\n public addChilds(layers: ILayer[]) {\n this.children.push(...layers);\n }\n\n public removeChilds(layerIDList: string[]) {\n const remveLayerList: ILayer[] = [];\n const cacheLayerList: ILayer[] = [];\n this.children.filter((child) => {\n layerIDList.includes(child.id)\n ? remveLayerList.push(child)\n : cacheLayerList.push(child);\n });\n remveLayerList.map((layer) => layer.destroy());\n this.children = cacheLayerList;\n }\n\n public removeChild(layer: ILayer) {\n const layerIndex = this.children.indexOf(layer);\n if (layerIndex > -1) {\n this.children.splice(layerIndex, 1);\n }\n layer.destroy();\n }\n\n public getChilds(layerIDList: string[]) {\n return this.children.filter((child) => layerIDList.includes(child.id));\n }\n\n public getChild(layerID: string) {\n return this.children.filter((child) => child.id === layerID)[0];\n }\n\n public clearChild() {\n this.children.forEach((layer: any) => {\n layer.destroy();\n });\n\n this.children.slice(0, this.children.length);\n }\n\n public hasChild(layer: ILayer) {\n return this.children.includes(layer);\n }\n\n public render(): void {\n this.tileConfigManager?.checkConfig(this.parent);\n this.tilePickManager?.normalRender(this.children);\n }\n\n public pickLayers(target: IInteractionTarget) {\n return this.tilePickManager?.pickRender(this.children, target);\n }\n\n private setSubLayerInitOptipn() {\n const {\n zIndex = 0,\n opacity = 1,\n mask = false,\n stroke = '#fff',\n strokeWidth = 0,\n strokeOpacity = 1,\n\n clampLow = true,\n clampHigh = true,\n domain = [0, 1],\n rampColors = {\n colors: [\n 'rgb(166,97,26)',\n 'rgb(223,194,125)',\n 'rgb(245,245,245)',\n 'rgb(128,205,193)',\n 'rgb(1,133,113)',\n ],\n positions: [0, 0.25, 0.5, 0.75, 1.0],\n },\n featureId = 'id',\n sourceLayer,\n } = this.parent.getLayerConfig() as ISubLayerInitOptions;\n\n const colorValue = this.tileConfigManager.getAttributeScale(\n this.parent,\n 'color',\n );\n const sizeValue = this.tileConfigManager.getAttributeScale(\n this.parent,\n 'size',\n );\n const source = this.parent.getSource();\n const { coords } = source?.data?.tilesetOptions || {};\n\n const layerShape = getLayerShape(this.parent.type, this.parent);\n\n this.initOptions = {\n layerType: this.parent.type,\n shape: layerShape,\n zIndex,\n opacity,\n sourceLayer,\n coords,\n featureId,\n color: colorValue,\n size: sizeValue,\n mask: getMaskValue(this.parent.type, mask),\n stroke,\n strokeWidth,\n strokeOpacity,\n // raster tiff\n clampLow,\n clampHigh,\n domain,\n rampColors,\n };\n }\n\n private setConfigListener() {\n // RasterLayer PolygonLayer LineLayer PointLayer\n // All Tile Layer Need Listen\n this.tileConfigManager.setConfig('opacity', this.initOptions.opacity);\n this.tileConfigManager.setConfig('zIndex', this.initOptions.zIndex);\n this.tileConfigManager.setConfig('mask', this.initOptions.mask);\n\n if (this.parent.type === 'RasterLayer') {\n // Raster Tile Layer Need Listen\n this.tileConfigManager.setConfig(\n 'rampColors',\n this.initOptions.rampColors,\n );\n this.tileConfigManager.setConfig('domain', this.initOptions.domain);\n this.tileConfigManager.setConfig('clampHigh', this.initOptions.clampHigh);\n this.tileConfigManager.setConfig('clampLow', this.initOptions.clampLow);\n } else {\n // Vector Tile Layer Need Listen\n this.tileConfigManager.setConfig('stroke', this.initOptions.stroke);\n this.tileConfigManager.setConfig(\n 'strokeWidth',\n this.initOptions.strokeWidth,\n );\n this.tileConfigManager.setConfig(\n 'strokeOpacity',\n this.initOptions.strokeOpacity,\n );\n this.tileConfigManager.setConfig(\n 'color',\n this.parent.getAttribute('color')?.scale,\n );\n this.tileConfigManager.setConfig(\n 'shape',\n this.parent.getAttribute('shape')?.scale,\n );\n this.tileConfigManager.setConfig(\n 'size',\n this.parent.getAttribute('size')?.scale,\n );\n }\n\n this.tileConfigManager.on('updateConfig', (updateConfigs) => {\n updateConfigs.map((key: string) => {\n this.updateStyle(key);\n return '';\n });\n });\n }\n\n private updateStyle(style: string) {\n let updateValue = null;\n if (['size', 'color', 'shape'].includes(style)) {\n const scaleValue = this.parent.getAttribute(style)?.scale;\n if (!scaleValue) {\n return;\n }\n updateValue = scaleValue;\n this.children.map((child) => {\n this.tileFactory.setStyleAttributeField(\n child,\n style as ScaleAttributeType,\n scaleValue,\n );\n return '';\n });\n } else {\n const layerConfig = this.parent.getLayerConfig() as ISubLayerInitOptions;\n if (!(style in layerConfig)) {\n return;\n }\n // @ts-ignore\n const config = layerConfig[style];\n updateValue = config;\n this.updateLayersConfig(this.children, style, config);\n }\n // @ts-ignore\n this.initOptions[style] = updateValue;\n }\n\n private initTileFactory() {\n const source = this.parent.getSource();\n const TileFactory = getTileFactory(\n this.parent.type as TileType,\n source.parser,\n );\n this.tileFactory = new TileFactory({\n parent: this.parent,\n mapService: this.mapService,\n rendererService: this.rendererService,\n });\n }\n}\n"],"file":"tileLayerManager.js"}
1
+ {"version":3,"sources":["../../../src/tile/manager/tileLayerManager.ts"],"names":["generateColorRamp","getTileFactory","getLayerShape","getMaskValue","TileConfigManager","TilePickManager","TileLayerManager","parent","mapService","rendererService","pickingService","layerService","children","layerChildren","tilePickManager","tileConfigManager","setSubLayerInitOptipn","setConfigListener","initTileFactory","tile","tileFactory","createTile","initOptions","layers","key","value","map","layer","style","mask","updateLayerConfig","push","layerIDList","refresh","remveLayerList","cacheLayerList","filter","child","includes","id","destroy","layerIndex","indexOf","splice","layerID","forEach","slice","length","checkConfig","normalRender","target","pickRender","getLayerConfig","zIndex","opacity","stroke","strokeWidth","strokeOpacity","clampLow","clampHigh","domain","rampColors","colors","positions","featureId","sourceLayer","colorValue","getAttributeScale","sizeValue","source","getSource","data","tilesetOptions","coords","layerShape","type","rampColorsData","layerType","shape","color","size","setConfig","getAttribute","scale","on","updateConfigs","updateStyle","updateValue","scaleValue","setStyleAttributeField","layerConfig","config","updateLayersConfig","TileFactory","parser"],"mappings":"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","sourcesContent":["import {\n IInteractionTarget,\n ILayer,\n ILayerService,\n IMapService,\n IPickingService,\n IRendererService,\n ISubLayerInitOptions,\n ITileLayerManager,\n ITilePickManager,\n ScaleAttributeType,\n} from '@antv/l7-core';\nimport { generateColorRamp, IColorRamp, Tile } from '@antv/l7-utils';\nimport { getTileFactory, ITileFactory, TileType } from '../tileFactory';\nimport { getLayerShape, getMaskValue } from '../utils';\nimport TileConfigManager, { ITileConfigManager } from './tileConfigManager';\nimport TilePickManager from './tilePickerManager';\nexport class TileLayerManager implements ITileLayerManager {\n public sourceLayer: string;\n public parent: ILayer;\n public children: ILayer[];\n public mapService: IMapService;\n public rendererService: IRendererService;\n public tilePickManager: ITilePickManager;\n public tileConfigManager: ITileConfigManager;\n private tileFactory: ITileFactory;\n private initOptions: ISubLayerInitOptions;\n private rampColorsData: any;\n constructor(\n parent: ILayer,\n mapService: IMapService,\n rendererService: IRendererService,\n pickingService: IPickingService,\n layerService: ILayerService,\n ) {\n this.parent = parent;\n this.children = parent.layerChildren;\n this.mapService = mapService;\n this.rendererService = rendererService;\n this.tilePickManager = new TilePickManager(\n parent,\n rendererService,\n pickingService,\n this.children,\n layerService,\n );\n this.tileConfigManager = new TileConfigManager();\n\n this.setSubLayerInitOptipn();\n this.setConfigListener();\n this.initTileFactory();\n }\n\n public createTile(tile: Tile) {\n return this.tileFactory.createTile(tile, this.initOptions);\n }\n\n public updateLayersConfig(layers: ILayer[], key: string, value: any) {\n layers.map((layer) => {\n if (key === 'mask') {\n // Tip: 栅格瓦片生效、设置全局的 mask、瓦片被全局的 mask 影响\n layer.style({\n mask: value,\n });\n } else {\n layer.updateLayerConfig({\n [key]: value,\n });\n }\n });\n }\n\n public addChild(layer: ILayer) {\n this.children.push(layer);\n }\n\n public addChilds(layers: ILayer[]) {\n this.children.push(...layers);\n }\n\n public removeChilds(layerIDList: string[], refresh = true) {\n const remveLayerList: ILayer[] = [];\n const cacheLayerList: ILayer[] = [];\n this.children.filter((child) => {\n layerIDList.includes(child.id)\n ? remveLayerList.push(child)\n : cacheLayerList.push(child);\n });\n remveLayerList.map((layer) => layer.destroy(refresh));\n this.children = cacheLayerList;\n }\n\n public removeChild(layer: ILayer) {\n const layerIndex = this.children.indexOf(layer);\n if (layerIndex > -1) {\n this.children.splice(layerIndex, 1);\n }\n layer.destroy();\n }\n\n public getChilds(layerIDList: string[]) {\n return this.children.filter((child) => layerIDList.includes(child.id));\n }\n\n public getChild(layerID: string) {\n return this.children.filter((child) => child.id === layerID)[0];\n }\n\n public clearChild() {\n this.children.forEach((layer: any) => {\n layer.destroy();\n });\n\n this.children.slice(0, this.children.length);\n }\n\n public hasChild(layer: ILayer) {\n return this.children.includes(layer);\n }\n\n public render(): void {\n this.tileConfigManager?.checkConfig(this.parent);\n this.tilePickManager?.normalRender(this.children);\n }\n\n public pickLayers(target: IInteractionTarget) {\n return this.tilePickManager?.pickRender(this.children, target);\n }\n\n private setSubLayerInitOptipn() {\n const {\n zIndex = 0,\n opacity = 1,\n mask = false,\n stroke = '#fff',\n strokeWidth = 0,\n strokeOpacity = 1,\n\n clampLow = true,\n clampHigh = true,\n domain = [0, 1],\n rampColors = {\n colors: [\n 'rgb(166,97,26)',\n 'rgb(223,194,125)',\n 'rgb(245,245,245)',\n 'rgb(128,205,193)',\n 'rgb(1,133,113)',\n ],\n positions: [0, 0.25, 0.5, 0.75, 1.0],\n },\n featureId = 'id',\n sourceLayer,\n } = this.parent.getLayerConfig() as ISubLayerInitOptions;\n\n const colorValue = this.tileConfigManager.getAttributeScale(\n this.parent,\n 'color',\n );\n const sizeValue = this.tileConfigManager.getAttributeScale(\n this.parent,\n 'size',\n );\n const source = this.parent.getSource();\n const { coords } = source?.data?.tilesetOptions || {};\n\n const layerShape = getLayerShape(this.parent.type, this.parent);\n\n if (rampColors) {\n // 构建统一的色带贴图\n this.rampColorsData = generateColorRamp(rampColors as IColorRamp);\n }\n\n this.initOptions = {\n layerType: this.parent.type,\n shape: layerShape,\n zIndex,\n opacity,\n sourceLayer,\n coords,\n featureId,\n color: colorValue,\n size: sizeValue,\n mask: getMaskValue(this.parent.type, mask),\n stroke,\n strokeWidth,\n strokeOpacity,\n // raster tiff\n clampLow,\n clampHigh,\n domain,\n rampColors,\n rampColorsData: this.rampColorsData,\n };\n }\n\n private setConfigListener() {\n // RasterLayer PolygonLayer LineLayer PointLayer\n // All Tile Layer Need Listen\n this.tileConfigManager.setConfig('opacity', this.initOptions.opacity);\n this.tileConfigManager.setConfig('zIndex', this.initOptions.zIndex);\n this.tileConfigManager.setConfig('mask', this.initOptions.mask);\n\n if (this.parent.type === 'RasterLayer') {\n // Raster Tile Layer Need Listen\n this.tileConfigManager.setConfig(\n 'rampColors',\n this.initOptions.rampColors,\n );\n this.tileConfigManager.setConfig('domain', this.initOptions.domain);\n this.tileConfigManager.setConfig('clampHigh', this.initOptions.clampHigh);\n this.tileConfigManager.setConfig('clampLow', this.initOptions.clampLow);\n } else {\n // Vector Tile Layer Need Listen\n this.tileConfigManager.setConfig('stroke', this.initOptions.stroke);\n this.tileConfigManager.setConfig(\n 'strokeWidth',\n this.initOptions.strokeWidth,\n );\n this.tileConfigManager.setConfig(\n 'strokeOpacity',\n this.initOptions.strokeOpacity,\n );\n this.tileConfigManager.setConfig(\n 'color',\n this.parent.getAttribute('color')?.scale,\n );\n this.tileConfigManager.setConfig(\n 'shape',\n this.parent.getAttribute('shape')?.scale,\n );\n this.tileConfigManager.setConfig(\n 'size',\n this.parent.getAttribute('size')?.scale,\n );\n }\n\n this.tileConfigManager.on('updateConfig', (updateConfigs) => {\n updateConfigs.map((key: string) => {\n this.updateStyle(key);\n return '';\n });\n });\n }\n\n private updateStyle(style: string) {\n let updateValue = null;\n if (['size', 'color', 'shape'].includes(style)) {\n const scaleValue = this.parent.getAttribute(style)?.scale;\n if (!scaleValue) {\n return;\n }\n updateValue = scaleValue;\n this.children.map((child) => {\n this.tileFactory.setStyleAttributeField(\n child,\n style as ScaleAttributeType,\n scaleValue,\n );\n return '';\n });\n } else {\n const layerConfig = this.parent.getLayerConfig() as ISubLayerInitOptions;\n if (!(style in layerConfig)) {\n return;\n }\n // @ts-ignore\n const config = layerConfig[style];\n updateValue = config;\n this.updateLayersConfig(this.children, style, config);\n if (style === 'rampColors' && config) {\n this.rampColorsData = generateColorRamp(config as IColorRamp);\n }\n }\n // @ts-ignore\n this.initOptions[style] = updateValue;\n }\n\n private initTileFactory() {\n const source = this.parent.getSource();\n const TileFactory = getTileFactory(\n this.parent.type as TileType,\n source.parser,\n );\n this.tileFactory = new TileFactory({\n parent: this.parent,\n mapService: this.mapService,\n rendererService: this.rendererService,\n });\n }\n}\n"],"file":"tileLayerManager.js"}
@@ -40,6 +40,7 @@ var RasterTiffTile = function (_TileFactory) {
40
40
  clampHigh = initOptions.clampHigh,
41
41
  clampLow = initOptions.clampLow,
42
42
  rampColors = initOptions.rampColors,
43
+ rampColorsData = initOptions.rampColorsData,
43
44
  mask = initOptions.mask;
44
45
  var rasterdata = tile.data;
45
46
 
@@ -66,7 +67,8 @@ var RasterTiffTile = function (_TileFactory) {
66
67
  domain: domain,
67
68
  clampHigh: clampHigh,
68
69
  clampLow: clampLow,
69
- rampColors: rampColors
70
+ rampColors: rampColors,
71
+ rampColorsData: rampColorsData
70
72
  });
71
73
  this.emitEvent([layer], false);
72
74
  registerLayers(this.parentLayer, [layer]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tile/tileFactory/rasterData.ts"],"names":["registerLayers","TileFactory","RasterDataLayer","RasterTiffTile","option","parentLayer","parent","tile","initOptions","opacity","domain","clampHigh","clampLow","rampColors","mask","rasterdata","data","console","warn","layers","layerIDList","layer","visible","isVisible","source","parser","type","width","height","extent","bboxPolygon","bbox","style","emitEvent","id"],"mappings":";;;;;;;;;;;;AAGA,SAASA,cAAT,QAA+B,UAA/B;AACA,OAAOC,WAAP,MAAwB,QAAxB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;;IAEqBC,c;;;;;AAGnB,0BAAYC,MAAZ,EAAyC;AAAA;;AAAA;;AACvC,8BAAMA,MAAN;;AADuC;;AAEvC,UAAKC,WAAL,GAAmBD,MAAM,CAACE,MAA1B;AAFuC;AAGxC;;;;WAED,oBAAkBC,IAAlB,EAA8BC,WAA9B,EAAiE;AAC/D,UACEC,OADF,GAOID,WAPJ,CACEC,OADF;AAAA,UAEEC,MAFF,GAOIF,WAPJ,CAEEE,MAFF;AAAA,UAGEC,SAHF,GAOIH,WAPJ,CAGEG,SAHF;AAAA,UAIEC,QAJF,GAOIJ,WAPJ,CAIEI,QAJF;AAAA,UAKEC,UALF,GAOIL,WAPJ,CAKEK,UALF;AAAA,UAMEC,IANF,GAOIN,WAPJ,CAMEM,IANF;AASA,UAAMC,UAAU,GAAGR,IAAI,CAACS,IAAxB;;AACA,UAAI,CAACD,UAAU,CAACC,IAAhB,EAAsB;AACpBC,QAAAA,OAAO,CAACC,IAAR,CAAa,wBAAb;AACA,eAAO;AACLC,UAAAA,MAAM,EAAE,EADH;AAELC,UAAAA,WAAW,EAAE;AAFR,SAAP;AAID;;AACD,UAAMC,KAAK,GAAG,IAAInB,eAAJ,CAAoB;AAChCoB,QAAAA,OAAO,EAAEf,IAAI,CAACgB,SADkB;AAEhCT,QAAAA,IAAI,EAAJA;AAFgC,OAApB,EAIXU,MAJW,CAIJT,UAAU,CAACC,IAJP,EAIa;AACvBS,QAAAA,MAAM,EAAE;AACNC,UAAAA,IAAI,EAAE,QADA;AAENC,UAAAA,KAAK,EAAEZ,UAAU,CAACY,KAFZ;AAGNC,UAAAA,MAAM,EAAEb,UAAU,CAACa,MAHb;AAINC,UAAAA,MAAM,EAAEtB,IAAI,CAACuB,WAAL,CAAiBC;AAJnB;AADe,OAJb,EAYXC,KAZW,CAYL;AACLvB,QAAAA,OAAO,EAAPA,OADK;AAELC,QAAAA,MAAM,EAANA,MAFK;AAGLC,QAAAA,SAAS,EAATA,SAHK;AAILC,QAAAA,QAAQ,EAARA,QAJK;AAKLC,QAAAA,UAAU,EAAVA;AALK,OAZK,CAAd;AAmBA,WAAKoB,SAAL,CAAe,CAACZ,KAAD,CAAf,EAAwB,KAAxB;AAEArB,MAAAA,cAAc,CAAC,KAAKK,WAAN,EAAmB,CAACgB,KAAD,CAAnB,CAAd;AAEA,aAAO;AACLF,QAAAA,MAAM,EAAE,CAACE,KAAD,CADH;AAELD,QAAAA,WAAW,EAAE,CAACC,KAAK,CAACa,EAAP;AAFR,OAAP;AAID;;;;EArDyCjC,W;;SAAvBE,c","sourcesContent":["import { ILayer, ISubLayerInitOptions } from '@antv/l7-core';\nimport { Tile } from '@antv/l7-utils';\nimport { ITileFactoryOptions } from '../interface';\nimport { registerLayers } from '../utils';\nimport TileFactory from './base';\nimport RasterDataLayer from './rasterDataLayer';\n\nexport default class RasterTiffTile extends TileFactory {\n public parentLayer: ILayer;\n\n constructor(option: ITileFactoryOptions) {\n super(option);\n this.parentLayer = option.parent;\n }\n\n public createTile(tile: Tile, initOptions: ISubLayerInitOptions) {\n const {\n opacity,\n domain,\n clampHigh,\n clampLow,\n rampColors,\n mask,\n } = initOptions;\n\n const rasterdata = tile.data;\n if (!rasterdata.data) {\n console.warn('raster data not exist!');\n return {\n layers: [],\n layerIDList: [],\n };\n }\n const layer = new RasterDataLayer({\n visible: tile.isVisible,\n mask,\n })\n .source(rasterdata.data, {\n parser: {\n type: 'raster',\n width: rasterdata.width,\n height: rasterdata.height,\n extent: tile.bboxPolygon.bbox,\n },\n })\n .style({\n opacity,\n domain,\n clampHigh,\n clampLow,\n rampColors,\n });\n this.emitEvent([layer], false);\n\n registerLayers(this.parentLayer, [layer]);\n\n return {\n layers: [layer],\n layerIDList: [layer.id],\n };\n }\n}\n"],"file":"rasterData.js"}
1
+ {"version":3,"sources":["../../../src/tile/tileFactory/rasterData.ts"],"names":["registerLayers","TileFactory","RasterDataLayer","RasterTiffTile","option","parentLayer","parent","tile","initOptions","opacity","domain","clampHigh","clampLow","rampColors","rampColorsData","mask","rasterdata","data","console","warn","layers","layerIDList","layer","visible","isVisible","source","parser","type","width","height","extent","bboxPolygon","bbox","style","emitEvent","id"],"mappings":";;;;;;;;;;;;AAGA,SAASA,cAAT,QAA+B,UAA/B;AACA,OAAOC,WAAP,MAAwB,QAAxB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;;IAEqBC,c;;;;;AAGnB,0BAAYC,MAAZ,EAAyC;AAAA;;AAAA;;AACvC,8BAAMA,MAAN;;AADuC;;AAEvC,UAAKC,WAAL,GAAmBD,MAAM,CAACE,MAA1B;AAFuC;AAGxC;;;;WAED,oBAAkBC,IAAlB,EAA8BC,WAA9B,EAAiE;AAC/D,UACEC,OADF,GAQID,WARJ,CACEC,OADF;AAAA,UAEEC,MAFF,GAQIF,WARJ,CAEEE,MAFF;AAAA,UAGEC,SAHF,GAQIH,WARJ,CAGEG,SAHF;AAAA,UAIEC,QAJF,GAQIJ,WARJ,CAIEI,QAJF;AAAA,UAKEC,UALF,GAQIL,WARJ,CAKEK,UALF;AAAA,UAMEC,cANF,GAQIN,WARJ,CAMEM,cANF;AAAA,UAOEC,IAPF,GAQIP,WARJ,CAOEO,IAPF;AAUA,UAAMC,UAAU,GAAGT,IAAI,CAACU,IAAxB;;AACA,UAAI,CAACD,UAAU,CAACC,IAAhB,EAAsB;AACpBC,QAAAA,OAAO,CAACC,IAAR,CAAa,wBAAb;AACA,eAAO;AACLC,UAAAA,MAAM,EAAE,EADH;AAELC,UAAAA,WAAW,EAAE;AAFR,SAAP;AAID;;AACD,UAAMC,KAAK,GAAG,IAAIpB,eAAJ,CAAoB;AAChCqB,QAAAA,OAAO,EAAEhB,IAAI,CAACiB,SADkB;AAEhCT,QAAAA,IAAI,EAAJA;AAFgC,OAApB,EAIXU,MAJW,CAIJT,UAAU,CAACC,IAJP,EAIa;AACvBS,QAAAA,MAAM,EAAE;AACNC,UAAAA,IAAI,EAAE,QADA;AAENC,UAAAA,KAAK,EAAEZ,UAAU,CAACY,KAFZ;AAGNC,UAAAA,MAAM,EAAEb,UAAU,CAACa,MAHb;AAINC,UAAAA,MAAM,EAAEvB,IAAI,CAACwB,WAAL,CAAiBC;AAJnB;AADe,OAJb,EAYXC,KAZW,CAYL;AACLxB,QAAAA,OAAO,EAAPA,OADK;AAELC,QAAAA,MAAM,EAANA,MAFK;AAGLC,QAAAA,SAAS,EAATA,SAHK;AAILC,QAAAA,QAAQ,EAARA,QAJK;AAKLC,QAAAA,UAAU,EAAVA,UALK;AAMLC,QAAAA,cAAc,EAAdA;AANK,OAZK,CAAd;AAoBA,WAAKoB,SAAL,CAAe,CAACZ,KAAD,CAAf,EAAwB,KAAxB;AAEAtB,MAAAA,cAAc,CAAC,KAAKK,WAAN,EAAmB,CAACiB,KAAD,CAAnB,CAAd;AAEA,aAAO;AACLF,QAAAA,MAAM,EAAE,CAACE,KAAD,CADH;AAELD,QAAAA,WAAW,EAAE,CAACC,KAAK,CAACa,EAAP;AAFR,OAAP;AAID;;;;EAvDyClC,W;;SAAvBE,c","sourcesContent":["import { ILayer, ISubLayerInitOptions } from '@antv/l7-core';\nimport { Tile } from '@antv/l7-utils';\nimport { ITileFactoryOptions } from '../interface';\nimport { registerLayers } from '../utils';\nimport TileFactory from './base';\nimport RasterDataLayer from './rasterDataLayer';\n\nexport default class RasterTiffTile extends TileFactory {\n public parentLayer: ILayer;\n\n constructor(option: ITileFactoryOptions) {\n super(option);\n this.parentLayer = option.parent;\n }\n\n public createTile(tile: Tile, initOptions: ISubLayerInitOptions) {\n const {\n opacity,\n domain,\n clampHigh,\n clampLow,\n rampColors,\n rampColorsData,\n mask,\n } = initOptions;\n\n const rasterdata = tile.data;\n if (!rasterdata.data) {\n console.warn('raster data not exist!');\n return {\n layers: [],\n layerIDList: [],\n };\n }\n const layer = new RasterDataLayer({\n visible: tile.isVisible,\n mask,\n })\n .source(rasterdata.data, {\n parser: {\n type: 'raster',\n width: rasterdata.width,\n height: rasterdata.height,\n extent: tile.bboxPolygon.bbox,\n },\n })\n .style({\n opacity,\n domain,\n clampHigh,\n clampLow,\n rampColors,\n rampColorsData,\n });\n this.emitEvent([layer], false);\n\n registerLayers(this.parentLayer, [layer]);\n\n return {\n layers: [layer],\n layerIDList: [layer.id],\n };\n }\n}\n"],"file":"rasterData.js"}
@@ -41,6 +41,7 @@ export default class BaseTileLayer implements ITileLayer {
41
41
  private selectFeature;
42
42
  private bindSubLayerEvent;
43
43
  private initTileSetManager;
44
+ private mapchange;
44
45
  private bindTilesetEvent;
45
46
  private getCurrentView;
46
47
  }
@@ -117,7 +117,7 @@ var BaseTileLayer = function () {
117
117
  }, {
118
118
  key: "tileUnLoad",
119
119
  value: function tileUnLoad(tile) {
120
- this.tileLayerManager.removeChilds(tile.layerIDList);
120
+ this.tileLayerManager.removeChilds(tile.layerIDList, false);
121
121
  }
122
122
  }, {
123
123
  key: "tileUpdate",
@@ -321,6 +321,48 @@ var BaseTileLayer = function () {
321
321
 
322
322
  (_this$tilesetManager = this.tilesetManager) === null || _this$tilesetManager === void 0 ? void 0 : _this$tilesetManager.update(zoom, latLonBounds);
323
323
  }
324
+ }, {
325
+ key: "mapchange",
326
+ value: function mapchange() {
327
+ var _this$tilesetManager2;
328
+
329
+ var _this$getCurrentView2 = this.getCurrentView(),
330
+ latLonBounds = _this$getCurrentView2.latLonBounds,
331
+ zoom = _this$getCurrentView2.zoom;
332
+
333
+ if (this.mapService.version === 'GAODE1.x') {
334
+ var _this$parent$getLayer = this.parent.getLayerConfig(),
335
+ visible = _this$parent$getLayer.visible;
336
+
337
+ if (zoom < 3 && visible) {
338
+ this.parent.updateLayerConfig({
339
+ visible: false
340
+ });
341
+ this.layerService.updateLayerRenderList();
342
+ } else if (zoom >= 3 && !visible) {
343
+ this.parent.updateLayerConfig({
344
+ visible: true
345
+ });
346
+ this.layerService.updateLayerRenderList();
347
+ }
348
+ }
349
+
350
+ if (this.lastViewStates && this.lastViewStates.zoom === zoom && this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()) {
351
+ return;
352
+ }
353
+
354
+ this.lastViewStates = {
355
+ zoom: zoom,
356
+ latLonBounds: latLonBounds
357
+ };
358
+
359
+ if (this.timer) {
360
+ clearTimeout(this.timer);
361
+ this.timer = null;
362
+ }
363
+
364
+ (_this$tilesetManager2 = this.tilesetManager) === null || _this$tilesetManager2 === void 0 ? void 0 : _this$tilesetManager2.update(zoom, latLonBounds);
365
+ }
324
366
  }, {
325
367
  key: "bindTilesetEvent",
326
368
  value: function bindTilesetEvent() {
@@ -340,47 +382,11 @@ var BaseTileLayer = function () {
340
382
  this.tilesetManager.on('tile-update', function () {
341
383
  _this7.tileUpdate();
342
384
  });
343
- this.mapService.on('mapchange', function (e) {
344
- var _this7$tilesetManager;
345
-
346
- var _this7$getCurrentView = _this7.getCurrentView(),
347
- latLonBounds = _this7$getCurrentView.latLonBounds,
348
- zoom = _this7$getCurrentView.zoom;
349
-
350
- if (_this7.mapService.version === 'GAODE1.x') {
351
- var _this7$parent$getLaye = _this7.parent.getLayerConfig(),
352
- visible = _this7$parent$getLaye.visible;
353
-
354
- if (zoom < 3 && visible) {
355
- _this7.parent.updateLayerConfig({
356
- visible: false
357
- });
358
-
359
- _this7.layerService.updateLayerRenderList();
360
- } else if (zoom >= 3 && !visible) {
361
- _this7.parent.updateLayerConfig({
362
- visible: true
363
- });
364
-
365
- _this7.layerService.updateLayerRenderList();
366
- }
367
- }
368
-
369
- if (_this7.lastViewStates && _this7.lastViewStates.zoom === zoom && _this7.lastViewStates.latLonBounds.toString() === latLonBounds.toString()) {
370
- return;
371
- }
372
-
373
- _this7.lastViewStates = {
374
- zoom: zoom,
375
- latLonBounds: latLonBounds
376
- };
377
-
378
- if (_this7.timer) {
379
- clearTimeout(_this7.timer);
380
- _this7.timer = null;
381
- }
382
-
383
- (_this7$tilesetManager = _this7.tilesetManager) === null || _this7$tilesetManager === void 0 ? void 0 : _this7$tilesetManager.update(zoom, latLonBounds);
385
+ this.mapService.on('zoomend', function () {
386
+ return _this7.mapchange();
387
+ });
388
+ this.mapService.on('moveend', function () {
389
+ return _this7.mapchange();
384
390
  });
385
391
  }
386
392
  }, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tile/tileLayer/baseTileLayer.ts"],"names":["decodePickingColor","TileLayerManager","BaseTileLayer","parent","rendererService","mapService","layerService","pickingService","select","active","parentSource","getSource","data","tilesetOptions","sourceLayer","coords","featureId","tileLayerManager","initTileSetManager","bindSubLayerEvent","bindSubLayerPick","scaleField","getScaleOptions","children","render","type","tilePickManager","clearPick","filter","child","inited","isVisible","getCurrentSelectedId","map","selectFeature","Uint8Array","setCurrentSelectedId","target","pickLayers","tile","error","console","warn","removeChilds","layerIDList","tilesetManager","tiles","isLoaded","length","createTile","layers","addChilds","isVisibleChange","getChilds","updateLayersConfig","emit","currentTiles","pickColors","selectedId","layer","hooks","beforeHighlight","call","setCurrentPickId","on","e","pickedColors","r","g","b","restLayers","isVector","setSelect","setHighlight","pickId","getPickID","setPickID","renderList","getRenderList","needPick","beforeSelect","source","tileset","initedTileset","bindTilesetEvent","getCurrentView","latLonBounds","zoom","update","tileUnLoad","tileError","tileUpdate","version","getLayerConfig","visible","updateLayerConfig","updateLayerRenderList","lastViewStates","toString","timer","clearTimeout","bounds","getBounds","getZoom"],"mappings":"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","sourcesContent":["import {\n IInteractionTarget,\n ILayer,\n ILayerService,\n IMapService,\n IScale,\n IScaleOptions,\n ISource,\n ITileLayer,\n ITileLayerManager,\n ITileLayerOPtions,\n} from '@antv/l7-core';\nimport { decodePickingColor, Tile, TilesetManager } from '@antv/l7-utils';\nimport { TileLayerManager } from '../manager/tileLayerManager';\n\nexport default class BaseTileLayer implements ITileLayer {\n public get children() {\n return this.tileLayerManager.children;\n }\n public type: string = 'baseTile';\n public sourceLayer: string;\n public parent: ILayer;\n // 瓦片是否加载成功\n public initedTileset: boolean = false;\n // 瓦片数据管理器\n public tilesetManager: TilesetManager | undefined;\n public tileLayerManager: ITileLayerManager;\n public scaleField: any;\n\n private lastViewStates: {\n zoom: number;\n latLonBounds: [number, number, number, number];\n };\n\n private timer: any;\n private mapService: IMapService;\n private layerService: ILayerService;\n private pickColors: {\n select: any;\n active: any;\n } = {\n select: null,\n active: null,\n };\n\n constructor({\n parent,\n rendererService,\n mapService,\n layerService,\n pickingService,\n }: ITileLayerOPtions) {\n const parentSource = parent.getSource();\n const { sourceLayer, coords, featureId } =\n parentSource?.data?.tilesetOptions || {};\n this.sourceLayer = sourceLayer;\n this.parent = parent;\n this.mapService = mapService;\n this.layerService = layerService;\n\n this.tileLayerManager = new TileLayerManager(\n parent,\n mapService,\n rendererService,\n pickingService,\n layerService,\n );\n\n this.initTileSetManager();\n this.bindSubLayerEvent();\n this.bindSubLayerPick();\n\n this.scaleField = this.parent.getScaleOptions();\n }\n\n /**\n * 渲染瓦片的图层\n */\n public render() {\n if (this.tileLayerManager) {\n this.tileLayerManager.render();\n }\n }\n\n public clearPick(type: string) {\n if (type === 'mousemove') {\n this.tileLayerManager.tilePickManager.clearPick();\n }\n }\n\n /**\n * 清除 select 的选中状态\n */\n public clearPickState() {\n this.children\n .filter((child) => child.inited && child.isVisible())\n .filter((child) => child.getCurrentSelectedId() !== null)\n .map((child) => {\n this.selectFeature(child, new Uint8Array([0, 0, 0, 0]));\n child.setCurrentSelectedId(null);\n });\n }\n\n /**\n * 瓦片图层独立的拾取逻辑\n * @param target\n * @returns\n */\n public pickLayers(target: IInteractionTarget) {\n return this.tileLayerManager.pickLayers(target);\n }\n\n public tileLoaded(tile: Tile) {\n //\n }\n\n public tileError(error: Error) {\n console.warn('error:', error);\n }\n\n public tileUnLoad(tile: Tile) {\n this.tileLayerManager.removeChilds(tile.layerIDList);\n }\n\n public tileUpdate() {\n // Base Function\n if (!this.tilesetManager) {\n return;\n }\n\n this.tilesetManager.tiles\n .filter((tile) => tile.isLoaded)\n .map((tile) => {\n if (tile.layerIDList.length === 0) {\n const { layers, layerIDList } = this.tileLayerManager.createTile(\n tile,\n );\n tile.layerIDList = layerIDList;\n this.tileLayerManager.addChilds(layers);\n } else {\n if (!tile.isVisibleChange) {\n return;\n }\n const layers = this.tileLayerManager.getChilds(tile.layerIDList);\n this.tileLayerManager.updateLayersConfig(\n layers,\n 'visible',\n tile.isVisible,\n );\n }\n });\n\n if (this.tilesetManager.isLoaded) {\n // 将事件抛出,图层上可以使用瓦片\n this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);\n }\n }\n\n protected setPickState(layers: ILayer[]) {\n if (this.pickColors.select) {\n const selectedId = decodePickingColor(this.pickColors.select);\n layers.map((layer) => {\n this.selectFeature(layer, this.pickColors.select);\n layer.setCurrentSelectedId(selectedId);\n });\n }\n\n if (this.pickColors.active) {\n const selectedId = decodePickingColor(this.pickColors.active);\n layers\n .filter((layer) => layer.inited && layer.isVisible())\n .map((layer) => {\n layer.hooks.beforeHighlight.call(this.pickColors.active);\n layer.setCurrentPickId(selectedId);\n });\n }\n }\n\n private bindSubLayerPick() {\n this.tileLayerManager.tilePickManager.on('pick', (e) => {\n // @ts-ignore\n const [r, g, b] = e.pickedColors;\n\n if (e.type === 'click') {\n const restLayers = this.children\n .filter(\n (child) => child.inited && child.isVisible() && child.isVector,\n )\n .filter((child) => child !== e.layer);\n this.setSelect(restLayers, [r, g, b]);\n } else {\n this.setHighlight([r, g, b]);\n }\n });\n\n this.tileLayerManager.tilePickManager.on('unpick', () => {\n this.pickColors.active = null;\n });\n }\n\n private setHighlight(pickedColors: any) {\n const pickId = decodePickingColor(pickedColors);\n this.pickColors.active = pickedColors;\n this.children\n .filter((child) => child.inited && child.isVisible() && child.isVector)\n // Tip: 使用 vectorLayer 上的 pickID 优化高亮操作(过滤重复操作)\n // @ts-ignore\n .filter((child) => child.getPickID() !== pickId)\n .map((child) => {\n // @ts-ignore\n child.setPickID(pickId);\n child.hooks.beforeHighlight.call(pickedColors);\n });\n }\n\n private setSelect(layers: ILayer[], pickedColors: any) {\n const selectedId = decodePickingColor(pickedColors);\n layers.map((layer) => {\n if (\n layer.getCurrentSelectedId() === null ||\n selectedId !== layer.getCurrentSelectedId()\n ) {\n this.selectFeature(layer, pickedColors);\n layer.setCurrentSelectedId(selectedId);\n this.pickColors.select = pickedColors;\n } else {\n this.selectFeature(layer, new Uint8Array([0, 0, 0, 0])); // toggle select\n layer.setCurrentSelectedId(null);\n this.pickColors.select = null;\n }\n });\n // unselect normal layer\n const renderList = this.layerService.getRenderList();\n renderList\n .filter(\n (layer) =>\n layer.inited &&\n !layer.isVector &&\n layer.isVisible() &&\n layer.needPick('click'),\n )\n .filter((layer) => layer.getCurrentSelectedId() !== null)\n .map((layer) => {\n this.selectFeature(layer, new Uint8Array([0, 0, 0, 0]));\n layer.setCurrentSelectedId(null);\n });\n }\n\n private selectFeature(layer: ILayer, pickedColors: Uint8Array | undefined) {\n // @ts-ignore\n const [r, g, b] = pickedColors;\n layer.hooks.beforeSelect.call([r, g, b]);\n }\n\n private bindSubLayerEvent() {\n /**\n * layer.on('click', (ev) => {}); // 鼠标左键点击图层事件\n * layer.on('mouseenter', (ev) => {}); // 鼠标进入图层要素\n * layer.on('mousemove', (ev) => {}); // 鼠标在图层上移动时触发\n * layer.on('mouseout', (ev) => {}); // 鼠标移出图层要素时触发\n * layer.on('mouseup', (ev) => {}); // 鼠标在图层上单击抬起时触发\n * layer.on('mousedown', (ev) => {}); // 鼠标在图层上单击按下时触发\n * layer.on('contextmenu', (ev) => {}); // 图层要素点击右键菜单\n *\n * 鼠标在图层外的事件\n * layer.on('unclick', (ev) => {}); // 图层外点击\n * layer.on('unmousemove', (ev) => {}); // 图层外移动\n * layer.on('unmouseup', (ev) => {}); // 图层外鼠标抬起\n * layer.on('unmousedown', (ev) => {}); // 图层外单击按下时触发\n * layer.on('uncontextmenu', (ev) => {}); // 图层外点击右键\n * layer.on('unpick', (ev) => {}); // 图层外的操作的所有事件\n */\n this.parent.on('subLayerClick', (e) => {\n this.parent.emit('click', { ...e });\n });\n this.parent.on('subLayerMouseMove', (e) =>\n this.parent.emit('mousemove', { ...e }),\n );\n this.parent.on('subLayerMouseUp', (e) =>\n this.parent.emit('mouseup', { ...e }),\n );\n this.parent.on('subLayerMouseEnter', (e) =>\n this.parent.emit('mouseenter', { ...e }),\n );\n this.parent.on('subLayerMouseOut', (e) =>\n this.parent.emit('mouseout', { ...e }),\n );\n this.parent.on('subLayerMouseDown', (e) =>\n this.parent.emit('mousedown', { ...e }),\n );\n this.parent.on('subLayerContextmenu', (e) =>\n this.parent.emit('contextmenu', { ...e }),\n );\n\n // vector layer 图层外事件\n this.parent.on('subLayerUnClick', (e) =>\n this.parent.emit('unclick', { ...e }),\n );\n this.parent.on('subLayerUnMouseMove', (e) =>\n this.parent.emit('unmousemove', { ...e }),\n );\n this.parent.on('subLayerUnMouseUp', (e) =>\n this.parent.emit('unmouseup', { ...e }),\n );\n this.parent.on('subLayerUnMouseDown', (e) =>\n this.parent.emit('unmousedown', { ...e }),\n );\n this.parent.on('subLayerUnContextmenu', (e) =>\n this.parent.emit('uncontextmenu', { ...e }),\n );\n }\n\n private initTileSetManager() {\n const source: ISource = this.parent.getSource();\n this.tilesetManager = source.tileset as TilesetManager;\n\n if (!this.initedTileset) {\n this.bindTilesetEvent();\n this.initedTileset = true;\n }\n\n const { latLonBounds, zoom } = this.getCurrentView();\n this.tilesetManager?.update(zoom, latLonBounds);\n }\n\n private bindTilesetEvent() {\n if (!this.tilesetManager) {\n return;\n }\n // 瓦片数据加载成功\n this.tilesetManager.on('tile-loaded', (tile: Tile) => {\n // todo: 将事件抛出,图层上可以监听使用\n });\n\n // 瓦片数据从缓存删除或被执行重新加载\n this.tilesetManager.on('tile-unload', (tile: Tile) => {\n // todo: 将事件抛出,图层上可以监听使用\n this.tileUnLoad(tile);\n });\n\n // 瓦片数据加载失败\n this.tilesetManager.on('tile-error', (error, tile: Tile) => {\n // todo: 将事件抛出,图层上可以监听使用\n this.tileError(error);\n });\n\n // 瓦片显隐状态更新\n this.tilesetManager.on('tile-update', () => {\n this.tileUpdate();\n });\n\n // 地图视野发生改变\n this.mapService.on('mapchange', (e) => {\n const { latLonBounds, zoom } = this.getCurrentView();\n\n if (this.mapService.version === 'GAODE1.x') {\n const { visible } = this.parent.getLayerConfig();\n if (zoom < 3 && visible) {\n this.parent.updateLayerConfig({ visible: false });\n this.layerService.updateLayerRenderList();\n } else if (zoom >= 3 && !visible) {\n this.parent.updateLayerConfig({ visible: true });\n this.layerService.updateLayerRenderList();\n }\n }\n\n if (\n this.lastViewStates &&\n this.lastViewStates.zoom === zoom &&\n this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()\n ) {\n return;\n }\n this.lastViewStates = { zoom, latLonBounds };\n\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n // this.timer = setTimeout(() => {\n this.tilesetManager?.update(zoom, latLonBounds);\n // }, 250);\n });\n }\n\n private getCurrentView() {\n const bounds = this.mapService.getBounds();\n const latLonBounds: [number, number, number, number] = [\n bounds[0][0],\n bounds[0][1],\n bounds[1][0],\n bounds[1][1],\n ];\n const zoom = this.mapService.getZoom();\n\n return { latLonBounds, zoom };\n }\n}\n"],"file":"baseTileLayer.js"}
1
+ {"version":3,"sources":["../../../src/tile/tileLayer/baseTileLayer.ts"],"names":["decodePickingColor","TileLayerManager","BaseTileLayer","parent","rendererService","mapService","layerService","pickingService","select","active","parentSource","getSource","data","tilesetOptions","sourceLayer","coords","featureId","tileLayerManager","initTileSetManager","bindSubLayerEvent","bindSubLayerPick","scaleField","getScaleOptions","children","render","type","tilePickManager","clearPick","filter","child","inited","isVisible","getCurrentSelectedId","map","selectFeature","Uint8Array","setCurrentSelectedId","target","pickLayers","tile","error","console","warn","removeChilds","layerIDList","tilesetManager","tiles","isLoaded","length","createTile","layers","addChilds","isVisibleChange","getChilds","updateLayersConfig","emit","currentTiles","pickColors","selectedId","layer","hooks","beforeHighlight","call","setCurrentPickId","on","e","pickedColors","r","g","b","restLayers","isVector","setSelect","setHighlight","pickId","getPickID","setPickID","renderList","getRenderList","needPick","beforeSelect","source","tileset","initedTileset","bindTilesetEvent","getCurrentView","latLonBounds","zoom","update","version","getLayerConfig","visible","updateLayerConfig","updateLayerRenderList","lastViewStates","toString","timer","clearTimeout","tileUnLoad","tileError","tileUpdate","mapchange","bounds","getBounds","getZoom"],"mappings":"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","sourcesContent":["import {\n IInteractionTarget,\n ILayer,\n ILayerService,\n IMapService,\n IScale,\n IScaleOptions,\n ISource,\n ITileLayer,\n ITileLayerManager,\n ITileLayerOPtions,\n} from '@antv/l7-core';\nimport { decodePickingColor, Tile, TilesetManager } from '@antv/l7-utils';\nimport { TileLayerManager } from '../manager/tileLayerManager';\n\nexport default class BaseTileLayer implements ITileLayer {\n public get children() {\n return this.tileLayerManager.children;\n }\n public type: string = 'baseTile';\n public sourceLayer: string;\n public parent: ILayer;\n // 瓦片是否加载成功\n public initedTileset: boolean = false;\n // 瓦片数据管理器\n public tilesetManager: TilesetManager | undefined;\n public tileLayerManager: ITileLayerManager;\n public scaleField: any;\n\n private lastViewStates: {\n zoom: number;\n latLonBounds: [number, number, number, number];\n };\n\n private timer: any;\n private mapService: IMapService;\n private layerService: ILayerService;\n private pickColors: {\n select: any;\n active: any;\n } = {\n select: null,\n active: null,\n };\n\n constructor({\n parent,\n rendererService,\n mapService,\n layerService,\n pickingService,\n }: ITileLayerOPtions) {\n const parentSource = parent.getSource();\n const { sourceLayer, coords, featureId } =\n parentSource?.data?.tilesetOptions || {};\n this.sourceLayer = sourceLayer;\n this.parent = parent;\n this.mapService = mapService;\n this.layerService = layerService;\n\n this.tileLayerManager = new TileLayerManager(\n parent,\n mapService,\n rendererService,\n pickingService,\n layerService,\n );\n\n this.initTileSetManager();\n this.bindSubLayerEvent();\n this.bindSubLayerPick();\n\n this.scaleField = this.parent.getScaleOptions();\n }\n\n /**\n * 渲染瓦片的图层\n */\n public render() {\n if (this.tileLayerManager) {\n this.tileLayerManager.render();\n }\n }\n\n public clearPick(type: string) {\n if (type === 'mousemove') {\n this.tileLayerManager.tilePickManager.clearPick();\n }\n }\n\n /**\n * 清除 select 的选中状态\n */\n public clearPickState() {\n this.children\n .filter((child) => child.inited && child.isVisible())\n .filter((child) => child.getCurrentSelectedId() !== null)\n .map((child) => {\n this.selectFeature(child, new Uint8Array([0, 0, 0, 0]));\n child.setCurrentSelectedId(null);\n });\n }\n\n /**\n * 瓦片图层独立的拾取逻辑\n * @param target\n * @returns\n */\n public pickLayers(target: IInteractionTarget) {\n return this.tileLayerManager.pickLayers(target);\n }\n\n public tileLoaded(tile: Tile) {\n //\n }\n\n public tileError(error: Error) {\n console.warn('error:', error);\n }\n\n public tileUnLoad(tile: Tile) {\n this.tileLayerManager.removeChilds(tile.layerIDList, false);\n }\n\n public tileUpdate() {\n // Base Function\n if (!this.tilesetManager) {\n return;\n }\n\n this.tilesetManager.tiles\n .filter((tile) => tile.isLoaded)\n .map((tile) => {\n if (tile.layerIDList.length === 0) {\n const { layers, layerIDList } = this.tileLayerManager.createTile(\n tile,\n );\n tile.layerIDList = layerIDList;\n this.tileLayerManager.addChilds(layers);\n } else {\n if (!tile.isVisibleChange) {\n return;\n }\n const layers = this.tileLayerManager.getChilds(tile.layerIDList);\n this.tileLayerManager.updateLayersConfig(\n layers,\n 'visible',\n tile.isVisible,\n );\n }\n });\n\n if (this.tilesetManager.isLoaded) {\n // 将事件抛出,图层上可以使用瓦片\n this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);\n }\n }\n\n protected setPickState(layers: ILayer[]) {\n if (this.pickColors.select) {\n const selectedId = decodePickingColor(this.pickColors.select);\n layers.map((layer) => {\n this.selectFeature(layer, this.pickColors.select);\n layer.setCurrentSelectedId(selectedId);\n });\n }\n\n if (this.pickColors.active) {\n const selectedId = decodePickingColor(this.pickColors.active);\n layers\n .filter((layer) => layer.inited && layer.isVisible())\n .map((layer) => {\n layer.hooks.beforeHighlight.call(this.pickColors.active);\n layer.setCurrentPickId(selectedId);\n });\n }\n }\n\n private bindSubLayerPick() {\n this.tileLayerManager.tilePickManager.on('pick', (e) => {\n // @ts-ignore\n const [r, g, b] = e.pickedColors;\n\n if (e.type === 'click') {\n const restLayers = this.children\n .filter(\n (child) => child.inited && child.isVisible() && child.isVector,\n )\n .filter((child) => child !== e.layer);\n this.setSelect(restLayers, [r, g, b]);\n } else {\n this.setHighlight([r, g, b]);\n }\n });\n\n this.tileLayerManager.tilePickManager.on('unpick', () => {\n this.pickColors.active = null;\n });\n }\n\n private setHighlight(pickedColors: any) {\n const pickId = decodePickingColor(pickedColors);\n this.pickColors.active = pickedColors;\n this.children\n .filter((child) => child.inited && child.isVisible() && child.isVector)\n // Tip: 使用 vectorLayer 上的 pickID 优化高亮操作(过滤重复操作)\n // @ts-ignore\n .filter((child) => child.getPickID() !== pickId)\n .map((child) => {\n // @ts-ignore\n child.setPickID(pickId);\n child.hooks.beforeHighlight.call(pickedColors);\n });\n }\n\n private setSelect(layers: ILayer[], pickedColors: any) {\n const selectedId = decodePickingColor(pickedColors);\n layers.map((layer) => {\n if (\n layer.getCurrentSelectedId() === null ||\n selectedId !== layer.getCurrentSelectedId()\n ) {\n this.selectFeature(layer, pickedColors);\n layer.setCurrentSelectedId(selectedId);\n this.pickColors.select = pickedColors;\n } else {\n this.selectFeature(layer, new Uint8Array([0, 0, 0, 0])); // toggle select\n layer.setCurrentSelectedId(null);\n this.pickColors.select = null;\n }\n });\n // unselect normal layer\n const renderList = this.layerService.getRenderList();\n renderList\n .filter(\n (layer) =>\n layer.inited &&\n !layer.isVector &&\n layer.isVisible() &&\n layer.needPick('click'),\n )\n .filter((layer) => layer.getCurrentSelectedId() !== null)\n .map((layer) => {\n this.selectFeature(layer, new Uint8Array([0, 0, 0, 0]));\n layer.setCurrentSelectedId(null);\n });\n }\n\n private selectFeature(layer: ILayer, pickedColors: Uint8Array | undefined) {\n // @ts-ignore\n const [r, g, b] = pickedColors;\n layer.hooks.beforeSelect.call([r, g, b]);\n }\n\n private bindSubLayerEvent() {\n /**\n * layer.on('click', (ev) => {}); // 鼠标左键点击图层事件\n * layer.on('mouseenter', (ev) => {}); // 鼠标进入图层要素\n * layer.on('mousemove', (ev) => {}); // 鼠标在图层上移动时触发\n * layer.on('mouseout', (ev) => {}); // 鼠标移出图层要素时触发\n * layer.on('mouseup', (ev) => {}); // 鼠标在图层上单击抬起时触发\n * layer.on('mousedown', (ev) => {}); // 鼠标在图层上单击按下时触发\n * layer.on('contextmenu', (ev) => {}); // 图层要素点击右键菜单\n *\n * 鼠标在图层外的事件\n * layer.on('unclick', (ev) => {}); // 图层外点击\n * layer.on('unmousemove', (ev) => {}); // 图层外移动\n * layer.on('unmouseup', (ev) => {}); // 图层外鼠标抬起\n * layer.on('unmousedown', (ev) => {}); // 图层外单击按下时触发\n * layer.on('uncontextmenu', (ev) => {}); // 图层外点击右键\n * layer.on('unpick', (ev) => {}); // 图层外的操作的所有事件\n */\n this.parent.on('subLayerClick', (e) => {\n this.parent.emit('click', { ...e });\n });\n this.parent.on('subLayerMouseMove', (e) =>\n this.parent.emit('mousemove', { ...e }),\n );\n this.parent.on('subLayerMouseUp', (e) =>\n this.parent.emit('mouseup', { ...e }),\n );\n this.parent.on('subLayerMouseEnter', (e) =>\n this.parent.emit('mouseenter', { ...e }),\n );\n this.parent.on('subLayerMouseOut', (e) =>\n this.parent.emit('mouseout', { ...e }),\n );\n this.parent.on('subLayerMouseDown', (e) =>\n this.parent.emit('mousedown', { ...e }),\n );\n this.parent.on('subLayerContextmenu', (e) =>\n this.parent.emit('contextmenu', { ...e }),\n );\n\n // vector layer 图层外事件\n this.parent.on('subLayerUnClick', (e) =>\n this.parent.emit('unclick', { ...e }),\n );\n this.parent.on('subLayerUnMouseMove', (e) =>\n this.parent.emit('unmousemove', { ...e }),\n );\n this.parent.on('subLayerUnMouseUp', (e) =>\n this.parent.emit('unmouseup', { ...e }),\n );\n this.parent.on('subLayerUnMouseDown', (e) =>\n this.parent.emit('unmousedown', { ...e }),\n );\n this.parent.on('subLayerUnContextmenu', (e) =>\n this.parent.emit('uncontextmenu', { ...e }),\n );\n }\n\n private initTileSetManager() {\n const source: ISource = this.parent.getSource();\n this.tilesetManager = source.tileset as TilesetManager;\n\n if (!this.initedTileset) {\n this.bindTilesetEvent();\n this.initedTileset = true;\n }\n\n const { latLonBounds, zoom } = this.getCurrentView();\n this.tilesetManager?.update(zoom, latLonBounds);\n }\n\n private mapchange() {\n const { latLonBounds, zoom } = this.getCurrentView();\n\n if (this.mapService.version === 'GAODE1.x') {\n const { visible } = this.parent.getLayerConfig();\n if (zoom < 3 && visible) {\n this.parent.updateLayerConfig({ visible: false });\n this.layerService.updateLayerRenderList();\n } else if (zoom >= 3 && !visible) {\n this.parent.updateLayerConfig({ visible: true });\n this.layerService.updateLayerRenderList();\n }\n }\n\n if (\n this.lastViewStates &&\n this.lastViewStates.zoom === zoom &&\n this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()\n ) {\n return;\n }\n this.lastViewStates = { zoom, latLonBounds };\n\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n // this.timer = setTimeout(() => {\n this.tilesetManager?.update(zoom, latLonBounds);\n // }, 250);\n }\n\n private bindTilesetEvent() {\n if (!this.tilesetManager) {\n return;\n }\n // 瓦片数据加载成功\n this.tilesetManager.on('tile-loaded', (tile: Tile) => {\n // todo: 将事件抛出,图层上可以监听使用\n });\n\n // 瓦片数据从缓存删除或被执行重新加载\n this.tilesetManager.on('tile-unload', (tile: Tile) => {\n // todo: 将事件抛出,图层上可以监听使用\n this.tileUnLoad(tile);\n });\n\n // 瓦片数据加载失败\n this.tilesetManager.on('tile-error', (error, tile: Tile) => {\n // todo: 将事件抛出,图层上可以监听使用\n this.tileError(error);\n });\n\n // 瓦片显隐状态更新\n this.tilesetManager.on('tile-update', () => {\n this.tileUpdate();\n });\n\n // 地图视野发生改变\n this.mapService.on('zoomend', () => this.mapchange());\n this.mapService.on('moveend', () => this.mapchange());\n }\n\n private getCurrentView() {\n const bounds = this.mapService.getBounds();\n const latLonBounds: [number, number, number, number] = [\n bounds[0][0],\n bounds[0][1],\n bounds[1][0],\n bounds[1][1],\n ];\n const zoom = this.mapService.getZoom();\n\n return { latLonBounds, zoom };\n }\n}\n"],"file":"baseTileLayer.js"}
@@ -36,7 +36,7 @@ export var TMSTileLayer = function (_BaseTileLayer) {
36
36
  _createClass(TMSTileLayer, [{
37
37
  key: "tileUnLoad",
38
38
  value: function tileUnLoad(tile) {
39
- this.tileLayerManager.removeChilds(tile.layerIDList);
39
+ this.tileLayerManager.removeChilds(tile.layerIDList, false);
40
40
  }
41
41
  }, {
42
42
  key: "tileUpdate",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tile/tmsTileLayer.ts"],"names":["BaseTileLayer","TMSTileLayer","tile","tileLayerManager","removeChilds","layerIDList","tilesetManager","tiles","filter","isLoaded","map","data","layers","sourceLayer","vectorTileLayer","features","Array","isArray","length","parentLayerIDList","includes","parent","id","createTile","push","addChilds","setPickState","isVisibleChange","getChilds","updateLayersConfig","isVisible","renderLayers","emit","currentTiles"],"mappings":";;;;;;;;;;;;;AACA,OAAOA,aAAP,MAA0B,2BAA1B;AAEA,WAAaC,YAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA,2DACwB,KADxB;;AAAA;AAAA;;AAAA;AAAA;AAAA,WAEE,oBAAkBC,IAAlB,EAA8B;AAC5B,WAAKC,gBAAL,CAAsBC,YAAtB,CAAmCF,IAAI,CAACG,WAAxC;AACD;AAJH;AAAA;AAAA,WAKE,sBAAoB;AAAA;;AAClB,UAAI,CAAC,KAAKC,cAAV,EAA0B;AACxB;AACD;;AACD,WAAKA,cAAL,CAAoBC,KAApB,CACGC,MADH,CACU,UAACN,IAAD;AAAA,eAAgBA,IAAI,CAACO,QAArB;AAAA,OADV,EAEGC,GAFH,CAEO,UAACR,IAAD,EAAgB;AAAA;;AACnB,YAAI,cAAAA,IAAI,CAACS,IAAL,kDAAWC,MAAX,IAAqB,MAAI,CAACC,WAA9B,EAA2C;AAEzC,cAAMC,eAAe,GAAGZ,IAAI,CAACS,IAAL,CAAUC,MAAV,CAAiB,MAAI,CAACC,WAAtB,CAAxB;AACA,cAAME,QAAQ,GAAGD,eAAH,aAAGA,eAAH,uBAAGA,eAAe,CAAEC,QAAlC;;AACA,cAAI,EAAEC,KAAK,CAACC,OAAN,CAAcF,QAAd,KAA2BA,QAAQ,CAACG,MAAT,GAAkB,CAA/C,CAAJ,EAAuD;AACrD;AACD;AACF;;AACD,YAAI,CAAChB,IAAI,CAACiB,iBAAL,CAAuBC,QAAvB,CAAgC,MAAI,CAACC,MAAL,CAAYC,EAA5C,CAAL,EAAsD;AAAA;;AACpD,sCAAgC,MAAI,CAACnB,gBAAL,CAAsBoB,UAAtB,CAC9BrB,IAD8B,CAAhC;AAAA,cAAQU,MAAR,yBAAQA,MAAR;AAAA,cAAgBP,WAAhB,yBAAgBA,WAAhB;;AAGAH,UAAAA,IAAI,CAACiB,iBAAL,CAAuBK,IAAvB,CAA4B,MAAI,CAACH,MAAL,CAAYC,EAAxC;;AACA,+BAAApB,IAAI,CAACG,WAAL,EAAiBmB,IAAjB,6CAAyBnB,WAAzB;;AAEA,UAAA,MAAI,CAACF,gBAAL,CAAsBsB,SAAtB,CAAgCb,MAAhC;;AACA,UAAA,MAAI,CAACc,YAAL,CAAkBd,MAAlB;AACD,SATD,MASO;AACL,cAAI,CAACV,IAAI,CAACyB,eAAV,EAA2B;AACzB;AACD;;AACD,cAAMf,OAAM,GAAG,MAAI,CAACT,gBAAL,CAAsByB,SAAtB,CAAgC1B,IAAI,CAACG,WAArC,CAAf;;AACA,UAAA,MAAI,CAACF,gBAAL,CAAsB0B,kBAAtB,CACEjB,OADF,EAEE,SAFF,EAGEV,IAAI,CAAC4B,SAHP;;AAKA,UAAA,MAAI,CAACJ,YAAL,CAAkBd,OAAlB;AACD;AACF,OAhCH;AAkCA,WAAKS,MAAL,CAAYU,YAAZ;;AAEA,UAAI,KAAKzB,cAAL,CAAoBG,QAAxB,EAAkC;AAEhC,aAAKY,MAAL,CAAYW,IAAZ,CAAiB,cAAjB,EAAiC,KAAK1B,cAAL,CAAoB2B,YAArD;AACD;AACF;AAjDH;;AAAA;AAAA,EAAkCjC,aAAlC","sourcesContent":["import { Tile, TilesetManager } from '@antv/l7-utils';\nimport BaseTileLayer from './tileLayer/baseTileLayer';\n\nexport class TMSTileLayer extends BaseTileLayer {\n public type: string = 'TMS';\n public tileUnLoad(tile: Tile) {\n this.tileLayerManager.removeChilds(tile.layerIDList);\n }\n public tileUpdate() {\n if (!this.tilesetManager) {\n return;\n }\n this.tilesetManager.tiles\n .filter((tile: Tile) => tile.isLoaded)\n .map((tile: Tile) => {\n if (tile.data?.layers && this.sourceLayer) {\n // vector\n const vectorTileLayer = tile.data.layers[this.sourceLayer];\n const features = vectorTileLayer?.features;\n if (!(Array.isArray(features) && features.length > 0)) {\n return;\n }\n }\n if (!tile.parentLayerIDList.includes(this.parent.id)) {\n const { layers, layerIDList } = this.tileLayerManager.createTile(\n tile,\n );\n tile.parentLayerIDList.push(this.parent.id);\n tile.layerIDList.push(...layerIDList);\n\n this.tileLayerManager.addChilds(layers);\n this.setPickState(layers);\n } else {\n if (!tile.isVisibleChange) {\n return;\n }\n const layers = this.tileLayerManager.getChilds(tile.layerIDList);\n this.tileLayerManager.updateLayersConfig(\n layers,\n 'visible',\n tile.isVisible,\n );\n this.setPickState(layers);\n }\n });\n\n this.parent.renderLayers();\n\n if (this.tilesetManager.isLoaded) {\n // 将事件抛出,图层上可以使用瓦片\n this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);\n }\n }\n}\n"],"file":"tmsTileLayer.js"}
1
+ {"version":3,"sources":["../../src/tile/tmsTileLayer.ts"],"names":["BaseTileLayer","TMSTileLayer","tile","tileLayerManager","removeChilds","layerIDList","tilesetManager","tiles","filter","isLoaded","map","data","layers","sourceLayer","vectorTileLayer","features","Array","isArray","length","parentLayerIDList","includes","parent","id","createTile","push","addChilds","setPickState","isVisibleChange","getChilds","updateLayersConfig","isVisible","renderLayers","emit","currentTiles"],"mappings":";;;;;;;;;;;;;AACA,OAAOA,aAAP,MAA0B,2BAA1B;AAEA,WAAaC,YAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA,2DACwB,KADxB;;AAAA;AAAA;;AAAA;AAAA;AAAA,WAEE,oBAAkBC,IAAlB,EAA8B;AAC5B,WAAKC,gBAAL,CAAsBC,YAAtB,CAAmCF,IAAI,CAACG,WAAxC,EAAqD,KAArD;AACD;AAJH;AAAA;AAAA,WAKE,sBAAoB;AAAA;;AAClB,UAAI,CAAC,KAAKC,cAAV,EAA0B;AACxB;AACD;;AACD,WAAKA,cAAL,CAAoBC,KAApB,CACGC,MADH,CACU,UAACN,IAAD;AAAA,eAAgBA,IAAI,CAACO,QAArB;AAAA,OADV,EAEGC,GAFH,CAEO,UAACR,IAAD,EAAgB;AAAA;;AACnB,YAAI,cAAAA,IAAI,CAACS,IAAL,kDAAWC,MAAX,IAAqB,MAAI,CAACC,WAA9B,EAA2C;AAEzC,cAAMC,eAAe,GAAGZ,IAAI,CAACS,IAAL,CAAUC,MAAV,CAAiB,MAAI,CAACC,WAAtB,CAAxB;AACA,cAAME,QAAQ,GAAGD,eAAH,aAAGA,eAAH,uBAAGA,eAAe,CAAEC,QAAlC;;AACA,cAAI,EAAEC,KAAK,CAACC,OAAN,CAAcF,QAAd,KAA2BA,QAAQ,CAACG,MAAT,GAAkB,CAA/C,CAAJ,EAAuD;AACrD;AACD;AACF;;AACD,YAAI,CAAChB,IAAI,CAACiB,iBAAL,CAAuBC,QAAvB,CAAgC,MAAI,CAACC,MAAL,CAAYC,EAA5C,CAAL,EAAsD;AAAA;;AACpD,sCAAgC,MAAI,CAACnB,gBAAL,CAAsBoB,UAAtB,CAC9BrB,IAD8B,CAAhC;AAAA,cAAQU,MAAR,yBAAQA,MAAR;AAAA,cAAgBP,WAAhB,yBAAgBA,WAAhB;;AAGAH,UAAAA,IAAI,CAACiB,iBAAL,CAAuBK,IAAvB,CAA4B,MAAI,CAACH,MAAL,CAAYC,EAAxC;;AACA,+BAAApB,IAAI,CAACG,WAAL,EAAiBmB,IAAjB,6CAAyBnB,WAAzB;;AAEA,UAAA,MAAI,CAACF,gBAAL,CAAsBsB,SAAtB,CAAgCb,MAAhC;;AACA,UAAA,MAAI,CAACc,YAAL,CAAkBd,MAAlB;AACD,SATD,MASO;AACL,cAAI,CAACV,IAAI,CAACyB,eAAV,EAA2B;AACzB;AACD;;AACD,cAAMf,OAAM,GAAG,MAAI,CAACT,gBAAL,CAAsByB,SAAtB,CAAgC1B,IAAI,CAACG,WAArC,CAAf;;AACA,UAAA,MAAI,CAACF,gBAAL,CAAsB0B,kBAAtB,CACEjB,OADF,EAEE,SAFF,EAGEV,IAAI,CAAC4B,SAHP;;AAKA,UAAA,MAAI,CAACJ,YAAL,CAAkBd,OAAlB;AACD;AACF,OAhCH;AAkCA,WAAKS,MAAL,CAAYU,YAAZ;;AAEA,UAAI,KAAKzB,cAAL,CAAoBG,QAAxB,EAAkC;AAEhC,aAAKY,MAAL,CAAYW,IAAZ,CAAiB,cAAjB,EAAiC,KAAK1B,cAAL,CAAoB2B,YAArD;AACD;AACF;AAjDH;;AAAA;AAAA,EAAkCjC,aAAlC","sourcesContent":["import { Tile, TilesetManager } from '@antv/l7-utils';\nimport BaseTileLayer from './tileLayer/baseTileLayer';\n\nexport class TMSTileLayer extends BaseTileLayer {\n public type: string = 'TMS';\n public tileUnLoad(tile: Tile) {\n this.tileLayerManager.removeChilds(tile.layerIDList, false);\n }\n public tileUpdate() {\n if (!this.tilesetManager) {\n return;\n }\n this.tilesetManager.tiles\n .filter((tile: Tile) => tile.isLoaded)\n .map((tile: Tile) => {\n if (tile.data?.layers && this.sourceLayer) {\n // vector\n const vectorTileLayer = tile.data.layers[this.sourceLayer];\n const features = vectorTileLayer?.features;\n if (!(Array.isArray(features) && features.length > 0)) {\n return;\n }\n }\n if (!tile.parentLayerIDList.includes(this.parent.id)) {\n const { layers, layerIDList } = this.tileLayerManager.createTile(\n tile,\n );\n tile.parentLayerIDList.push(this.parent.id);\n tile.layerIDList.push(...layerIDList);\n\n this.tileLayerManager.addChilds(layers);\n this.setPickState(layers);\n } else {\n if (!tile.isVisibleChange) {\n return;\n }\n const layers = this.tileLayerManager.getChilds(tile.layerIDList);\n this.tileLayerManager.updateLayersConfig(\n layers,\n 'visible',\n tile.isVisible,\n );\n this.setPickState(layers);\n }\n });\n\n this.parent.renderLayers();\n\n if (this.tilesetManager.isLoaded) {\n // 将事件抛出,图层上可以使用瓦片\n this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);\n }\n }\n}\n"],"file":"tmsTileLayer.js"}
@@ -900,6 +900,8 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
900
900
  value: function destroy() {
901
901
  var _this$layerModel;
902
902
 
903
+ var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
904
+
903
905
  if (this.isDestroied) {
904
906
  return;
905
907
  }
@@ -919,7 +921,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
919
921
  this.hooks.afterDestroy.call();
920
922
  (_this$layerModel = this.layerModel) === null || _this$layerModel === void 0 ? void 0 : _this$layerModel.clearModels();
921
923
  this.models = [];
922
- this.layerService.cleanRemove(this);
924
+ this.layerService.cleanRemove(this, refresh);
923
925
  this.emit('remove', {
924
926
  target: this,
925
927
  type: 'remove'