@antv/l7-layers 2.9.0 → 2.9.1
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.
- package/es/tile/manager/tilePickerManager.js +4 -1
- package/es/tile/manager/tilePickerManager.js.map +1 -1
- package/es/tile/tmsTileLayer.js +9 -3
- package/es/tile/tmsTileLayer.js.map +1 -1
- package/lib/tile/manager/tilePickerManager.js +4 -1
- package/lib/tile/manager/tilePickerManager.js.map +1 -1
- package/lib/tile/tmsTileLayer.js +10 -3
- package/lib/tile/tmsTileLayer.js.map +1 -1
- package/package.json +5 -5
|
@@ -80,7 +80,10 @@ var TilePickManager = function (_EventEmitter) {
|
|
|
80
80
|
value: function pickRender(layers, target) {
|
|
81
81
|
var _this3 = this;
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
if (this.parent.type === 'RasterLayer') {
|
|
84
|
+
this.normalRender([this.parent]);
|
|
85
|
+
}
|
|
86
|
+
|
|
84
87
|
var isPicked = layers.filter(function (layer) {
|
|
85
88
|
return _this3.parent.needPick(target.type) && layer.inited && layer.isVisible();
|
|
86
89
|
}).some(function (layer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/tile/manager/tilePickerManager.ts"],"names":["EventEmitter","TilePickManager","parent","rendererService","pickingService","children","layerService","layers","filter","layer","inited","isVisible","map","hooks","beforeRenderData","call","beforeRender","masks","length","clear","stencil","depth","framebuffer","m","render","afterRender","target","normalRender","isPicked","needPick","
|
|
1
|
+
{"version":3,"sources":["../../../src/tile/manager/tilePickerManager.ts"],"names":["EventEmitter","TilePickManager","parent","rendererService","pickingService","children","layerService","layers","filter","layer","inited","isVisible","map","hooks","beforeRenderData","call","beforeRender","masks","length","clear","stencil","depth","framebuffer","m","render","afterRender","target","type","normalRender","isPicked","needPick","some","beforePickingEncode","renderModels","afterPickingEncode","layerPicked","pickFromPickingFBO","emit","pickedColors","pickedTileLayers","isLastPicked","beforeHighlight","child","beforeSelect"],"mappings":"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","sourcesContent":["import {\n IInteractionTarget,\n ILayer,\n ILayerService,\n IPickingService,\n IRendererService,\n ITilePickManager,\n} from '@antv/l7-core';\nimport { EventEmitter } from 'eventemitter3';\nexport default class TilePickManager extends EventEmitter\n implements ITilePickManager {\n public isLastPicked: boolean = false;\n private rendererService: IRendererService;\n private pickingService: IPickingService;\n private layerService: ILayerService;\n private children: ILayer[];\n private parent: ILayer;\n\n constructor(\n parent: ILayer,\n rendererService: IRendererService,\n pickingService: IPickingService,\n children: ILayer[],\n layerService: ILayerService,\n ) {\n super();\n this.parent = parent;\n this.rendererService = rendererService;\n this.pickingService = pickingService;\n this.layerService = layerService;\n this.children = children;\n }\n\n /**\n *\n * @param layers\n */\n public normalRender(layers: ILayer[]) {\n layers\n .filter((layer) => layer.inited)\n .filter((layer) => layer.isVisible())\n .map((layer) => {\n layer.hooks.beforeRenderData.call();\n layer.hooks.beforeRender.call();\n if (layer.masks.length > 0) {\n // 清除上一次的模版缓存\n this.rendererService.clear({\n stencil: 0,\n depth: 1,\n framebuffer: null,\n });\n layer.masks.map((m: ILayer) => {\n m.hooks.beforeRender.call();\n m.render();\n m.hooks.afterRender.call();\n });\n }\n layer.render();\n layer.hooks.afterRender.call();\n });\n }\n\n public pickRender(layers: ILayer[], target: IInteractionTarget) {\n // Tip: 在进行拾取渲染的时候也需要先渲染一遍父组件然后再渲染子组件\n // 如需要在 栅格瓦片存在 Mask 的时候发生的拾取,那么就需要先渲染父组件(渲染父组件的帧缓冲)\n if (this.parent.type === 'RasterLayer') {\n this.normalRender([this.parent]);\n }\n const isPicked = layers\n .filter(\n (layer) =>\n this.parent.needPick(target.type) &&\n layer.inited &&\n layer.isVisible(),\n )\n .some((layer) => {\n layer.hooks.beforePickingEncode.call();\n if (layer.masks.length > 0) {\n // 清除上一次的模版缓存\n this.rendererService.clear({\n stencil: 0,\n depth: 1,\n framebuffer: null,\n });\n\n layer.masks.map((m: ILayer) => {\n m.hooks.beforeRender.call();\n m.render();\n m.hooks.afterRender.call();\n });\n }\n layer.renderModels(true);\n layer.hooks.afterPickingEncode.call();\n const layerPicked = this.pickingService.pickFromPickingFBO(\n layer,\n target,\n );\n if (layerPicked) {\n this.emit('pick', {\n type: target.type,\n pickedColors: this.pickingService.pickedColors,\n layer,\n });\n this.pickingService.pickedTileLayers = [this.parent];\n }\n\n return layerPicked;\n });\n if (!isPicked && this.isLastPicked && target.type !== 'click') {\n // 只有上一次有被高亮选中,本次未选中的时候才需要清除选中状态\n this.pickingService.pickedTileLayers = [];\n this.emit('unpick', {});\n this.beforeHighlight([0, 0, 0]);\n }\n this.isLastPicked = isPicked;\n return isPicked;\n }\n\n public clearPick() {\n this.children\n .filter((child) => child.inited && child.isVisible())\n .map((layer) => {\n layer.hooks.beforeSelect.call([0, 0, 0]);\n });\n this.pickingService.pickedTileLayers = [];\n }\n\n public beforeHighlight(pickedColors: any) {\n this.children\n .filter((child) => child.inited && child.isVisible())\n .map((child) => {\n child.hooks.beforeHighlight.call(pickedColors);\n });\n }\n\n public beforeSelect(pickedColors: any) {\n this.children\n .filter((child) => child.inited && child.isVisible())\n .map((layer) => {\n layer.hooks.beforeSelect.call(pickedColors);\n });\n }\n}\n"],"file":"tilePickerManager.js"}
|
package/es/tile/tmsTileLayer.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
1
2
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
3
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
4
|
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
@@ -60,11 +61,16 @@ export var TMSTileLayer = function (_BaseTileLayer) {
|
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
63
|
|
|
63
|
-
if (!tile.
|
|
64
|
+
if (!tile.parentLayerIDList.includes(_this2.parent.id)) {
|
|
65
|
+
var _tile$layerIDList;
|
|
66
|
+
|
|
64
67
|
var _this2$tileLayerManag = _this2.tileLayerManager.createTile(tile),
|
|
65
|
-
layers = _this2$tileLayerManag.layers
|
|
68
|
+
layers = _this2$tileLayerManag.layers,
|
|
69
|
+
layerIDList = _this2$tileLayerManag.layerIDList;
|
|
70
|
+
|
|
71
|
+
tile.parentLayerIDList.push(_this2.parent.id);
|
|
66
72
|
|
|
67
|
-
tile.layerIDList.push(
|
|
73
|
+
(_tile$layerIDList = tile.layerIDList).push.apply(_tile$layerIDList, _toConsumableArray(layerIDList));
|
|
68
74
|
|
|
69
75
|
_this2.tileLayerManager.addChilds(layers);
|
|
70
76
|
|
|
@@ -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","includes","parent","id","createTile","push","addChilds","setPickState","isVisibleChanged","getChilds","updateLayersConfig","isVisible","renderLayers","emit","currentTiles"],"mappings":"
|
|
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","isVisibleChanged","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,gBAAV,EAA4B;AAC1B;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.isVisibleChanged) {\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"}
|
|
@@ -87,7 +87,10 @@ var TilePickManager = function (_EventEmitter) {
|
|
|
87
87
|
value: function pickRender(layers, target) {
|
|
88
88
|
var _this3 = this;
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
if (this.parent.type === 'RasterLayer') {
|
|
91
|
+
this.normalRender([this.parent]);
|
|
92
|
+
}
|
|
93
|
+
|
|
91
94
|
var isPicked = layers.filter(function (layer) {
|
|
92
95
|
return _this3.parent.needPick(target.type) && layer.inited && layer.isVisible();
|
|
93
96
|
}).some(function (layer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/tile/manager/tilePickerManager.ts"],"names":["TilePickManager","parent","rendererService","pickingService","children","layerService","layers","filter","layer","inited","isVisible","map","hooks","beforeRenderData","call","beforeRender","masks","length","clear","stencil","depth","framebuffer","m","render","afterRender","target","normalRender","isPicked","needPick","
|
|
1
|
+
{"version":3,"sources":["../../../src/tile/manager/tilePickerManager.ts"],"names":["TilePickManager","parent","rendererService","pickingService","children","layerService","layers","filter","layer","inited","isVisible","map","hooks","beforeRenderData","call","beforeRender","masks","length","clear","stencil","depth","framebuffer","m","render","afterRender","target","type","normalRender","isPicked","needPick","some","beforePickingEncode","renderModels","afterPickingEncode","layerPicked","pickFromPickingFBO","emit","pickedColors","pickedTileLayers","isLastPicked","beforeHighlight","child","beforeSelect","EventEmitter"],"mappings":"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","sourcesContent":["import {\n IInteractionTarget,\n ILayer,\n ILayerService,\n IPickingService,\n IRendererService,\n ITilePickManager,\n} from '@antv/l7-core';\nimport { EventEmitter } from 'eventemitter3';\nexport default class TilePickManager extends EventEmitter\n implements ITilePickManager {\n public isLastPicked: boolean = false;\n private rendererService: IRendererService;\n private pickingService: IPickingService;\n private layerService: ILayerService;\n private children: ILayer[];\n private parent: ILayer;\n\n constructor(\n parent: ILayer,\n rendererService: IRendererService,\n pickingService: IPickingService,\n children: ILayer[],\n layerService: ILayerService,\n ) {\n super();\n this.parent = parent;\n this.rendererService = rendererService;\n this.pickingService = pickingService;\n this.layerService = layerService;\n this.children = children;\n }\n\n /**\n *\n * @param layers\n */\n public normalRender(layers: ILayer[]) {\n layers\n .filter((layer) => layer.inited)\n .filter((layer) => layer.isVisible())\n .map((layer) => {\n layer.hooks.beforeRenderData.call();\n layer.hooks.beforeRender.call();\n if (layer.masks.length > 0) {\n // 清除上一次的模版缓存\n this.rendererService.clear({\n stencil: 0,\n depth: 1,\n framebuffer: null,\n });\n layer.masks.map((m: ILayer) => {\n m.hooks.beforeRender.call();\n m.render();\n m.hooks.afterRender.call();\n });\n }\n layer.render();\n layer.hooks.afterRender.call();\n });\n }\n\n public pickRender(layers: ILayer[], target: IInteractionTarget) {\n // Tip: 在进行拾取渲染的时候也需要先渲染一遍父组件然后再渲染子组件\n // 如需要在 栅格瓦片存在 Mask 的时候发生的拾取,那么就需要先渲染父组件(渲染父组件的帧缓冲)\n if (this.parent.type === 'RasterLayer') {\n this.normalRender([this.parent]);\n }\n const isPicked = layers\n .filter(\n (layer) =>\n this.parent.needPick(target.type) &&\n layer.inited &&\n layer.isVisible(),\n )\n .some((layer) => {\n layer.hooks.beforePickingEncode.call();\n if (layer.masks.length > 0) {\n // 清除上一次的模版缓存\n this.rendererService.clear({\n stencil: 0,\n depth: 1,\n framebuffer: null,\n });\n\n layer.masks.map((m: ILayer) => {\n m.hooks.beforeRender.call();\n m.render();\n m.hooks.afterRender.call();\n });\n }\n layer.renderModels(true);\n layer.hooks.afterPickingEncode.call();\n const layerPicked = this.pickingService.pickFromPickingFBO(\n layer,\n target,\n );\n if (layerPicked) {\n this.emit('pick', {\n type: target.type,\n pickedColors: this.pickingService.pickedColors,\n layer,\n });\n this.pickingService.pickedTileLayers = [this.parent];\n }\n\n return layerPicked;\n });\n if (!isPicked && this.isLastPicked && target.type !== 'click') {\n // 只有上一次有被高亮选中,本次未选中的时候才需要清除选中状态\n this.pickingService.pickedTileLayers = [];\n this.emit('unpick', {});\n this.beforeHighlight([0, 0, 0]);\n }\n this.isLastPicked = isPicked;\n return isPicked;\n }\n\n public clearPick() {\n this.children\n .filter((child) => child.inited && child.isVisible())\n .map((layer) => {\n layer.hooks.beforeSelect.call([0, 0, 0]);\n });\n this.pickingService.pickedTileLayers = [];\n }\n\n public beforeHighlight(pickedColors: any) {\n this.children\n .filter((child) => child.inited && child.isVisible())\n .map((child) => {\n child.hooks.beforeHighlight.call(pickedColors);\n });\n }\n\n public beforeSelect(pickedColors: any) {\n this.children\n .filter((child) => child.inited && child.isVisible())\n .map((layer) => {\n layer.hooks.beforeSelect.call(pickedColors);\n });\n }\n}\n"],"file":"tilePickerManager.js"}
|
package/lib/tile/tmsTileLayer.js
CHANGED
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.TMSTileLayer = void 0;
|
|
9
9
|
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
10
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
13
|
|
|
12
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -74,11 +76,16 @@ var TMSTileLayer = function (_BaseTileLayer) {
|
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
78
|
|
|
77
|
-
if (!tile.
|
|
79
|
+
if (!tile.parentLayerIDList.includes(_this2.parent.id)) {
|
|
80
|
+
var _tile$layerIDList;
|
|
81
|
+
|
|
78
82
|
var _this2$tileLayerManag = _this2.tileLayerManager.createTile(tile),
|
|
79
|
-
layers = _this2$tileLayerManag.layers
|
|
83
|
+
layers = _this2$tileLayerManag.layers,
|
|
84
|
+
layerIDList = _this2$tileLayerManag.layerIDList;
|
|
85
|
+
|
|
86
|
+
tile.parentLayerIDList.push(_this2.parent.id);
|
|
80
87
|
|
|
81
|
-
tile.layerIDList.push(
|
|
88
|
+
(_tile$layerIDList = tile.layerIDList).push.apply(_tile$layerIDList, (0, _toConsumableArray2.default)(layerIDList));
|
|
82
89
|
|
|
83
90
|
_this2.tileLayerManager.addChilds(layers);
|
|
84
91
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tile/tmsTileLayer.ts"],"names":["TMSTileLayer","tile","tileLayerManager","removeChilds","layerIDList","tilesetManager","tiles","filter","isLoaded","map","data","layers","sourceLayer","vectorTileLayer","features","Array","isArray","length","includes","parent","id","createTile","push","addChilds","setPickState","isVisibleChanged","getChilds","updateLayersConfig","isVisible","renderLayers","emit","currentTiles","BaseTileLayer"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/tile/tmsTileLayer.ts"],"names":["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","isVisibleChanged","getChilds","updateLayersConfig","isVisible","renderLayers","emit","currentTiles","BaseTileLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;;IAEaA,Y;;;;;;;;;;;;;;;uFACW,K;;;;;;WACtB,oBAAkBC,IAAlB,EAA8B;AAC5B,WAAKC,gBAAL,CAAsBC,YAAtB,CAAmCF,IAAI,CAACG,WAAxC;AACD;;;WACD,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,2DAAyBnB,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,gBAAV,EAA4B;AAC1B;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;;;EAjD+BC,sB","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.isVisibleChanged) {\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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antv/l7-layers",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.1",
|
|
4
4
|
"description": "L7's collection of built-in layers",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"author": "xiaoiver",
|
|
26
26
|
"license": "ISC",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@antv/l7-core": "2.9.
|
|
29
|
-
"@antv/l7-source": "2.9.
|
|
30
|
-
"@antv/l7-utils": "2.9.
|
|
28
|
+
"@antv/l7-core": "2.9.1",
|
|
29
|
+
"@antv/l7-source": "2.9.1",
|
|
30
|
+
"@antv/l7-utils": "2.9.1",
|
|
31
31
|
"@babel/runtime": "^7.7.7",
|
|
32
32
|
"@mapbox/martini": "^0.2.0",
|
|
33
33
|
"@turf/helpers": "^6.1.4",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"@types/gl-matrix": "^2.4.5",
|
|
58
58
|
"@types/lodash": "^4.14.138"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "73039e62f6fb04b0656473e629567bf7856cdf27",
|
|
61
61
|
"publishConfig": {
|
|
62
62
|
"access": "public"
|
|
63
63
|
}
|