@antv/l7-layers 2.9.15 → 2.9.16
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/LICENSE.md +1 -1
- package/es/core/BaseLayer.d.ts +4 -2
- package/es/core/BaseLayer.js +47 -21
- package/es/core/BaseLayer.js.map +1 -1
- package/es/core/BaseModel.d.ts +2 -1
- package/es/core/BaseModel.js +3 -0
- package/es/core/BaseModel.js.map +1 -1
- package/es/core/interface.d.ts +14 -1
- package/es/core/interface.js.map +1 -1
- package/es/image/models/image.js.map +1 -1
- package/es/line/index.d.ts +1 -1
- package/es/line/index.js +13 -1
- package/es/line/index.js.map +1 -1
- package/es/line/models/earthArc_3d.d.ts +17 -0
- package/es/line/models/earthArc_3d.js +311 -0
- package/es/line/models/earthArc_3d.js.map +1 -0
- package/es/line/models/half.d.ts +18 -0
- package/es/line/models/half.js +244 -0
- package/es/line/models/half.js.map +1 -0
- package/es/line/models/index.d.ts +1 -1
- package/es/line/models/index.js +9 -1
- package/es/line/models/index.js.map +1 -1
- package/es/line/models/tile.d.ts +20 -0
- package/es/line/models/tile.js +327 -0
- package/es/line/models/tile.js.map +1 -0
- package/es/plugins/DataMappingPlugin.js +1 -1
- package/es/plugins/DataMappingPlugin.js.map +1 -1
- package/es/plugins/DataSourcePlugin.js +7 -6
- package/es/plugins/DataSourcePlugin.js.map +1 -1
- package/es/plugins/FeatureScalePlugin.js +35 -9
- package/es/plugins/FeatureScalePlugin.js.map +1 -1
- package/es/plugins/ShaderUniformPlugin.js +3 -1
- package/es/plugins/ShaderUniformPlugin.js.map +1 -1
- package/es/point/index.d.ts +1 -1
- package/es/point/index.js +10 -2
- package/es/point/index.js.map +1 -1
- package/es/point/models/earthExtrude.d.ts +24 -0
- package/es/point/models/earthExtrude.js +259 -0
- package/es/point/models/earthExtrude.js.map +1 -0
- package/es/point/models/earthFill.d.ts +20 -0
- package/es/point/models/earthFill.js +255 -0
- package/es/point/models/earthFill.js.map +1 -0
- package/es/point/models/extrude.d.ts +0 -1
- package/es/point/models/extrude.js +2 -10
- package/es/point/models/extrude.js.map +1 -1
- package/es/point/models/fill.d.ts +8 -1
- package/es/point/models/fill.js +55 -75
- package/es/point/models/fill.js.map +1 -1
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +9 -1
- package/es/point/models/index.js.map +1 -1
- package/es/point/models/radar.js +2 -6
- package/es/point/models/radar.js.map +1 -1
- package/es/point/models/tile.d.ts +31 -0
- package/es/point/models/tile.js +291 -0
- package/es/point/models/tile.js.map +1 -0
- package/es/polygon/index.js +6 -0
- package/es/polygon/index.js.map +1 -1
- package/es/polygon/models/index.d.ts +1 -1
- package/es/polygon/models/index.js +5 -1
- package/es/polygon/models/index.js.map +1 -1
- package/es/polygon/models/tile.d.ts +16 -0
- package/es/polygon/models/tile.js +137 -0
- package/es/polygon/models/tile.js.map +1 -0
- package/es/raster/index.d.ts +2 -2
- package/es/raster/index.js +4 -4
- package/es/raster/index.js.map +1 -1
- package/es/raster/models/index.js +1 -1
- package/es/raster/models/index.js.map +1 -1
- package/es/raster/models/raster.d.ts +2 -0
- package/es/raster/models/raster.js +24 -12
- package/es/raster/models/raster.js.map +1 -1
- package/es/tile/interface.d.ts +28 -0
- package/es/tile/interface.js +2 -0
- package/es/tile/interface.js.map +1 -0
- package/es/tile/manager/tileConfigManager.d.ts +17 -0
- package/es/tile/manager/tileConfigManager.js +123 -0
- package/es/tile/manager/tileConfigManager.js.map +1 -0
- package/es/tile/manager/tileLayerManager.d.ts +35 -0
- package/es/tile/manager/tileLayerManager.js +297 -0
- package/es/tile/manager/tileLayerManager.js.map +1 -0
- package/es/tile/manager/tilePickerManager.d.ts +21 -0
- package/es/tile/manager/tilePickerManager.js +189 -0
- package/es/tile/manager/tilePickerManager.js.map +1 -0
- package/es/tile/models/tileModel.d.ts +8 -0
- package/es/tile/models/tileModel.js +61 -0
- package/es/tile/models/tileModel.js.map +1 -0
- package/es/tile/tileFactory/base.d.ts +44 -0
- package/es/tile/tileFactory/base.js +423 -0
- package/es/tile/tileFactory/base.js.map +1 -0
- package/es/tile/tileFactory/index.d.ts +5 -0
- package/es/tile/tileFactory/index.js +30 -0
- package/es/tile/tileFactory/index.js.map +1 -0
- package/es/tile/tileFactory/line.d.ts +12 -0
- package/es/tile/tileFactory/line.js +65 -0
- package/es/tile/tileFactory/line.js.map +1 -0
- package/es/tile/tileFactory/point.d.ts +12 -0
- package/es/tile/tileFactory/point.js +65 -0
- package/es/tile/tileFactory/point.js.map +1 -0
- package/es/tile/tileFactory/polygon.d.ts +12 -0
- package/es/tile/tileFactory/polygon.js +65 -0
- package/es/tile/tileFactory/polygon.js.map +1 -0
- package/es/tile/tileFactory/raster.d.ts +12 -0
- package/es/tile/tileFactory/raster.js +61 -0
- package/es/tile/tileFactory/raster.js.map +1 -0
- package/es/tile/tileFactory/rasterData.d.ts +12 -0
- package/es/tile/tileFactory/rasterData.js +86 -0
- package/es/tile/tileFactory/rasterData.js.map +1 -0
- package/es/tile/tileFactory/rasterDataLayer.d.ts +19 -0
- package/es/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +39 -32
- package/es/tile/tileFactory/rasterDataLayer.js.map +1 -0
- package/es/tile/tileFactory/vectorLayer.d.ts +27 -0
- package/es/tile/tileFactory/vectorLayer.js +131 -0
- package/es/tile/tileFactory/vectorLayer.js.map +1 -0
- package/es/tile/tileLayer/baseTileLayer.d.ts +47 -0
- package/es/tile/tileLayer/baseTileLayer.js +409 -0
- package/es/tile/tileLayer/baseTileLayer.js.map +1 -0
- package/es/tile/tmsTileLayer.d.ts +7 -0
- package/es/tile/tmsTileLayer.js +100 -0
- package/es/tile/tmsTileLayer.js.map +1 -0
- package/es/tile/utils.d.ts +11 -0
- package/es/tile/utils.js +125 -0
- package/es/tile/utils.js.map +1 -0
- package/lib/core/BaseLayer.js +45 -20
- package/lib/core/BaseLayer.js.map +1 -1
- package/lib/core/BaseModel.js +2 -0
- package/lib/core/BaseModel.js.map +1 -1
- package/lib/core/interface.js.map +1 -1
- package/lib/image/models/image.js.map +1 -1
- package/lib/line/index.js +13 -1
- package/lib/line/index.js.map +1 -1
- package/lib/line/models/earthArc_3d.js +328 -0
- package/lib/line/models/earthArc_3d.js.map +1 -0
- package/lib/line/models/half.js +260 -0
- package/lib/line/models/half.js.map +1 -0
- package/lib/line/models/index.js +13 -1
- package/lib/line/models/index.js.map +1 -1
- package/lib/line/models/tile.js +342 -0
- package/lib/line/models/tile.js.map +1 -0
- package/lib/plugins/DataMappingPlugin.js +1 -1
- package/lib/plugins/DataMappingPlugin.js.map +1 -1
- package/lib/plugins/DataSourcePlugin.js +7 -6
- package/lib/plugins/DataSourcePlugin.js.map +1 -1
- package/lib/plugins/FeatureScalePlugin.js +35 -9
- package/lib/plugins/FeatureScalePlugin.js.map +1 -1
- package/lib/plugins/ShaderUniformPlugin.js +3 -1
- package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
- package/lib/point/index.js +10 -2
- package/lib/point/index.js.map +1 -1
- package/lib/point/models/earthExtrude.js +277 -0
- package/lib/point/models/earthExtrude.js.map +1 -0
- package/lib/point/models/earthFill.js +291 -0
- package/lib/point/models/earthFill.js.map +1 -0
- package/lib/point/models/extrude.js +2 -11
- package/lib/point/models/extrude.js.map +1 -1
- package/lib/point/models/fill.js +51 -93
- package/lib/point/models/fill.js.map +1 -1
- package/lib/point/models/index.js +13 -1
- package/lib/point/models/index.js.map +1 -1
- package/lib/point/models/radar.js +1 -5
- package/lib/point/models/radar.js.map +1 -1
- package/lib/point/models/tile.js +308 -0
- package/lib/point/models/tile.js.map +1 -0
- package/lib/polygon/index.js +6 -0
- package/lib/polygon/index.js.map +1 -1
- package/lib/polygon/models/index.js +7 -1
- package/lib/polygon/models/index.js.map +1 -1
- package/lib/polygon/models/tile.js +152 -0
- package/lib/polygon/models/tile.js.map +1 -0
- package/lib/raster/index.js +4 -4
- package/lib/raster/index.js.map +1 -1
- package/lib/raster/models/index.js +2 -2
- package/lib/raster/models/index.js.map +1 -1
- package/lib/raster/models/raster.js +24 -12
- package/lib/raster/models/raster.js.map +1 -1
- package/lib/tile/interface.js +2 -0
- package/lib/tile/interface.js.map +1 -0
- package/lib/tile/manager/tileConfigManager.js +134 -0
- package/lib/tile/manager/tileConfigManager.js.map +1 -0
- package/lib/tile/manager/tileLayerManager.js +305 -0
- package/lib/tile/manager/tileLayerManager.js.map +1 -0
- package/lib/tile/manager/tilePickerManager.js +195 -0
- package/lib/tile/manager/tilePickerManager.js.map +1 -0
- package/lib/tile/models/tileModel.js +73 -0
- package/lib/tile/models/tileModel.js.map +1 -0
- package/lib/tile/tileFactory/base.js +436 -0
- package/lib/tile/tileFactory/base.js.map +1 -0
- package/lib/tile/tileFactory/index.js +60 -0
- package/lib/tile/tileFactory/index.js.map +1 -0
- package/lib/tile/tileFactory/line.js +76 -0
- package/lib/tile/tileFactory/line.js.map +1 -0
- package/lib/tile/tileFactory/point.js +76 -0
- package/lib/tile/tileFactory/point.js.map +1 -0
- package/lib/tile/tileFactory/polygon.js +76 -0
- package/lib/tile/tileFactory/polygon.js.map +1 -0
- package/lib/tile/tileFactory/raster.js +74 -0
- package/lib/tile/tileFactory/raster.js.map +1 -0
- package/lib/tile/tileFactory/rasterData.js +99 -0
- package/lib/tile/tileFactory/rasterData.js.map +1 -0
- package/lib/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +40 -32
- package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -0
- package/lib/tile/tileFactory/vectorLayer.js +145 -0
- package/lib/tile/tileFactory/vectorLayer.js.map +1 -0
- package/lib/tile/tileLayer/baseTileLayer.js +407 -0
- package/lib/tile/tileLayer/baseTileLayer.js.map +1 -0
- package/lib/tile/tmsTileLayer.js +116 -0
- package/lib/tile/tmsTileLayer.js.map +1 -0
- package/lib/tile/utils.js +147 -0
- package/lib/tile/utils.js.map +1 -0
- package/package.json +8 -6
- package/es/core/LayerGroup.d.ts +0 -9
- package/es/core/LayerGroup.js.map +0 -1
- package/es/raster/models/raste-tile.d.ts +0 -23
- package/es/raster/models/raste-tile.js +0 -285
- package/es/raster/models/raste-tile.js.map +0 -1
- package/lib/core/LayerGroup.js.map +0 -1
- package/lib/raster/models/raste-tile.js +0 -294
- package/lib/raster/models/raste-tile.js.map +0 -1
package/es/tile/utils.js
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { createLayerContainer } from '@antv/l7-core';
|
|
3
|
+
import { DOM } from '@antv/l7-utils';
|
|
4
|
+
export function registerLayers(parentLayer, layers) {
|
|
5
|
+
layers.map(function (layer) {
|
|
6
|
+
var container = createLayerContainer(parentLayer.sceneContainer);
|
|
7
|
+
layer.setContainer(container, parentLayer.sceneContainer);
|
|
8
|
+
layer.init();
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
export function getLayerShape(layerType, layer) {
|
|
12
|
+
var _layerShape$scale;
|
|
13
|
+
|
|
14
|
+
var layerShape = layer.getAttribute('shape');
|
|
15
|
+
|
|
16
|
+
if (layerShape && (_layerShape$scale = layerShape.scale) !== null && _layerShape$scale !== void 0 && _layerShape$scale.field) {
|
|
17
|
+
var _layerShape$scale2;
|
|
18
|
+
|
|
19
|
+
if (((_layerShape$scale2 = layerShape.scale) === null || _layerShape$scale2 === void 0 ? void 0 : _layerShape$scale2.values) === 'text') {
|
|
20
|
+
return [layerShape.scale.field, layerShape.scale.values];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return layerShape.scale.field;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
switch (layerType) {
|
|
27
|
+
case 'PolygonLayer':
|
|
28
|
+
return 'fill';
|
|
29
|
+
|
|
30
|
+
case 'LineLayer':
|
|
31
|
+
return 'tileline';
|
|
32
|
+
|
|
33
|
+
case 'PointLayer':
|
|
34
|
+
return 'circle';
|
|
35
|
+
|
|
36
|
+
case 'RasterLayer':
|
|
37
|
+
return 'image';
|
|
38
|
+
|
|
39
|
+
default:
|
|
40
|
+
return '';
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export function getMaskValue(layerType, mask) {
|
|
44
|
+
switch (layerType) {
|
|
45
|
+
case 'PolygonLayer':
|
|
46
|
+
return true;
|
|
47
|
+
|
|
48
|
+
case 'LineLayer':
|
|
49
|
+
return true;
|
|
50
|
+
|
|
51
|
+
case 'PointLayer':
|
|
52
|
+
return false;
|
|
53
|
+
|
|
54
|
+
case 'RasterLayer':
|
|
55
|
+
return mask;
|
|
56
|
+
|
|
57
|
+
default:
|
|
58
|
+
return mask;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export function getContainerSize(container) {
|
|
62
|
+
if (!!container.getContext) {
|
|
63
|
+
return {
|
|
64
|
+
width: container.width / DOM.DPR,
|
|
65
|
+
height: container.height / DOM.DPR
|
|
66
|
+
};
|
|
67
|
+
} else {
|
|
68
|
+
return container.getBoundingClientRect();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export function readRasterValue(tile, mapService, x, y) {
|
|
72
|
+
var _tile$bboxPolygon, _tile$data, _tile$data2, _tile$data3;
|
|
73
|
+
|
|
74
|
+
var bbox = (tile === null || tile === void 0 ? void 0 : (_tile$bboxPolygon = tile.bboxPolygon) === null || _tile$bboxPolygon === void 0 ? void 0 : _tile$bboxPolygon.bbox) || [0, 0, 10, -10];
|
|
75
|
+
|
|
76
|
+
var _bbox = _slicedToArray(bbox, 4),
|
|
77
|
+
_bbox$ = _bbox[0],
|
|
78
|
+
minLng = _bbox$ === void 0 ? 0 : _bbox$,
|
|
79
|
+
_bbox$2 = _bbox[1],
|
|
80
|
+
minLat = _bbox$2 === void 0 ? 0 : _bbox$2,
|
|
81
|
+
_bbox$3 = _bbox[2],
|
|
82
|
+
maxLng = _bbox$3 === void 0 ? 10 : _bbox$3,
|
|
83
|
+
_bbox$4 = _bbox[3],
|
|
84
|
+
maxLat = _bbox$4 === void 0 ? -10 : _bbox$4;
|
|
85
|
+
|
|
86
|
+
var tileXY = mapService.lngLatToContainer([minLng, minLat]);
|
|
87
|
+
var tileMaxXY = mapService.lngLatToContainer([maxLng, maxLat]);
|
|
88
|
+
var tilePixelWidth = tileMaxXY.x - tileXY.x;
|
|
89
|
+
var tilePixelHeight = tileXY.y - tileMaxXY.y;
|
|
90
|
+
var pos = [(x - tileXY.x) / tilePixelWidth, (y - tileMaxXY.y) / tilePixelHeight];
|
|
91
|
+
var tileWidth = (tile === null || tile === void 0 ? void 0 : (_tile$data = tile.data) === null || _tile$data === void 0 ? void 0 : _tile$data.width) || 1;
|
|
92
|
+
var tileHeight = (tile === null || tile === void 0 ? void 0 : (_tile$data2 = tile.data) === null || _tile$data2 === void 0 ? void 0 : _tile$data2.height) || 1;
|
|
93
|
+
var indexX = Math.floor(pos[0] * tileWidth);
|
|
94
|
+
var indexY = Math.floor(pos[1] * tileHeight);
|
|
95
|
+
var index = Math.max(0, indexY - 1) * tileWidth + indexX;
|
|
96
|
+
var data = tile === null || tile === void 0 ? void 0 : (_tile$data3 = tile.data) === null || _tile$data3 === void 0 ? void 0 : _tile$data3.data[index];
|
|
97
|
+
return data;
|
|
98
|
+
}
|
|
99
|
+
export function readPixel(x, y, rendererService) {
|
|
100
|
+
var readPixels = rendererService.readPixels,
|
|
101
|
+
getContainer = rendererService.getContainer;
|
|
102
|
+
var xInDevicePixel = x * DOM.DPR;
|
|
103
|
+
var yInDevicePixel = y * DOM.DPR;
|
|
104
|
+
|
|
105
|
+
var _getContainerSize = getContainerSize(getContainer()),
|
|
106
|
+
width = _getContainerSize.width,
|
|
107
|
+
height = _getContainerSize.height;
|
|
108
|
+
|
|
109
|
+
width *= DOM.DPR;
|
|
110
|
+
height *= DOM.DPR;
|
|
111
|
+
|
|
112
|
+
if (xInDevicePixel > width - 1 * DOM.DPR || xInDevicePixel < 0 || yInDevicePixel > height - 1 * DOM.DPR || yInDevicePixel < 0) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
var pickedColors = readPixels({
|
|
117
|
+
x: Math.floor(xInDevicePixel),
|
|
118
|
+
y: Math.floor(height - (y + 1) * DOM.DPR),
|
|
119
|
+
width: 1,
|
|
120
|
+
height: 1,
|
|
121
|
+
data: new Uint8Array(1 * 1 * 4)
|
|
122
|
+
});
|
|
123
|
+
return pickedColors;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tile/utils.ts"],"names":["createLayerContainer","DOM","registerLayers","parentLayer","layers","map","layer","container","sceneContainer","setContainer","init","getLayerShape","layerType","layerShape","getAttribute","scale","field","values","getMaskValue","mask","getContainerSize","getContext","width","DPR","height","getBoundingClientRect","readRasterValue","tile","mapService","x","y","bbox","bboxPolygon","minLng","minLat","maxLng","maxLat","tileXY","lngLatToContainer","tileMaxXY","tilePixelWidth","tilePixelHeight","pos","tileWidth","data","tileHeight","indexX","Math","floor","indexY","index","max","readPixel","rendererService","readPixels","getContainer","xInDevicePixel","yInDevicePixel","pickedColors","Uint8Array"],"mappings":"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","sourcesContent":["import {\n createLayerContainer,\n ILayer,\n IMapService,\n IRendererService,\n} from '@antv/l7-core';\nimport { DOM, Tile } from '@antv/l7-utils';\nimport { Container } from 'inversify';\nexport function registerLayers(parentLayer: ILayer, layers: ILayer[]) {\n layers.map((layer) => {\n const container = createLayerContainer(\n parentLayer.sceneContainer as Container,\n );\n layer.setContainer(container, parentLayer.sceneContainer as Container);\n layer.init();\n });\n}\n\nexport function getLayerShape(layerType: string, layer: ILayer) {\n const layerShape = layer.getAttribute('shape');\n if (layerShape && layerShape.scale?.field) {\n if (layerShape.scale?.values === 'text') {\n return [layerShape.scale.field, layerShape.scale.values] as string[];\n }\n return layerShape.scale.field as string;\n }\n switch (layerType) {\n case 'PolygonLayer':\n return 'fill';\n case 'LineLayer':\n return 'tileline';\n case 'PointLayer':\n return 'circle';\n case 'RasterLayer':\n return 'image';\n default:\n return '';\n }\n}\n\nexport function getMaskValue(layerType: string, mask: boolean) {\n switch (layerType) {\n case 'PolygonLayer':\n return true;\n case 'LineLayer':\n return true;\n case 'PointLayer':\n return false;\n case 'RasterLayer':\n return mask;\n default:\n return mask;\n }\n}\n\nexport function getContainerSize(container: HTMLCanvasElement | HTMLElement) {\n if (!!(container as HTMLCanvasElement).getContext) {\n return {\n width: (container as HTMLCanvasElement).width / DOM.DPR,\n height: (container as HTMLCanvasElement).height / DOM.DPR,\n };\n } else {\n return container.getBoundingClientRect();\n }\n}\n\nexport function readRasterValue(\n tile: Tile,\n mapService: IMapService,\n x: number,\n y: number,\n) {\n const bbox = tile?.bboxPolygon?.bbox || [0, 0, 10, -10];\n\n const [minLng = 0, minLat = 0, maxLng = 10, maxLat = -10] = bbox;\n\n const tileXY = mapService.lngLatToContainer([minLng, minLat]);\n const tileMaxXY = mapService.lngLatToContainer([maxLng, maxLat]);\n\n const tilePixelWidth = tileMaxXY.x - tileXY.x;\n const tilePixelHeight = tileXY.y - tileMaxXY.y;\n const pos = [\n (x - tileXY.x) / tilePixelWidth, // x\n (y - tileMaxXY.y) / tilePixelHeight, // y\n ];\n\n const tileWidth = tile?.data?.width || 1;\n const tileHeight = tile?.data?.height || 1;\n\n const indexX = Math.floor(pos[0] * tileWidth);\n const indexY = Math.floor(pos[1] * tileHeight);\n const index = Math.max(0, indexY - 1) * tileWidth + indexX;\n\n const data = tile?.data?.data[index];\n\n return data;\n}\n\nexport function readPixel(\n x: number,\n y: number,\n rendererService: IRendererService,\n) {\n const { readPixels, getContainer } = rendererService;\n const xInDevicePixel = x * DOM.DPR;\n const yInDevicePixel = y * DOM.DPR;\n let { width, height } = getContainerSize(\n getContainer() as HTMLCanvasElement | HTMLElement,\n );\n width *= DOM.DPR;\n height *= DOM.DPR;\n if (\n xInDevicePixel > width - 1 * DOM.DPR ||\n xInDevicePixel < 0 ||\n yInDevicePixel > height - 1 * DOM.DPR ||\n yInDevicePixel < 0\n ) {\n return false;\n }\n\n const pickedColors = readPixels({\n x: Math.floor(xInDevicePixel),\n // 视口坐标系原点在左上,而 WebGL 在左下,需要翻转 Y 轴\n y: Math.floor(height - (y + 1) * DOM.DPR),\n width: 1,\n height: 1,\n data: new Uint8Array(1 * 1 * 4),\n });\n return pickedColors;\n}\n"],"file":"utils.js"}
|
package/lib/core/BaseLayer.js
CHANGED
|
@@ -105,7 +105,6 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
105
105
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "rendering", void 0);
|
|
106
106
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "clusterZoom", 0);
|
|
107
107
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "layerType", void 0);
|
|
108
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isLayerGroup", false);
|
|
109
108
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "triangulation", void 0);
|
|
110
109
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "dataState", {
|
|
111
110
|
dataSourceNeedUpdate: false,
|
|
@@ -136,8 +135,10 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
136
135
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "layerModel", void 0);
|
|
137
136
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "shapeOption", void 0);
|
|
138
137
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sceneContainer", void 0);
|
|
138
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "tileLayer", void 0);
|
|
139
139
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "layerChildren", []);
|
|
140
140
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "masks", []);
|
|
141
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isVector", false);
|
|
141
142
|
(0, _initializerDefineProperty2.default)((0, _assertThisInitialized2.default)(_this), "configService", _descriptor, (0, _assertThisInitialized2.default)(_this));
|
|
142
143
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "shaderModuleService", void 0);
|
|
143
144
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "cameraService", void 0);
|
|
@@ -203,6 +204,11 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
203
204
|
|
|
204
205
|
maskLayer.destroy();
|
|
205
206
|
}
|
|
207
|
+
}, {
|
|
208
|
+
key: "getAttribute",
|
|
209
|
+
value: function getAttribute(name) {
|
|
210
|
+
return this.styleAttributeService.getLayerStyleAttribute(name);
|
|
211
|
+
}
|
|
206
212
|
}, {
|
|
207
213
|
key: "getLayerConfig",
|
|
208
214
|
value: function getLayerConfig() {
|
|
@@ -211,6 +217,14 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
211
217
|
}, {
|
|
212
218
|
key: "updateLayerConfig",
|
|
213
219
|
value: function updateLayerConfig(configToUpdate) {
|
|
220
|
+
var _this2 = this;
|
|
221
|
+
|
|
222
|
+
Object.keys(configToUpdate).map(function (key) {
|
|
223
|
+
if (key in _this2.rawConfig) {
|
|
224
|
+
_this2.rawConfig[key] = configToUpdate[key];
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
|
|
214
228
|
if (!this.inited) {
|
|
215
229
|
this.needUpdateConfig = _objectSpread(_objectSpread({}, this.needUpdateConfig), configToUpdate);
|
|
216
230
|
} else {
|
|
@@ -250,7 +264,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
250
264
|
}, {
|
|
251
265
|
key: "init",
|
|
252
266
|
value: function init() {
|
|
253
|
-
var
|
|
267
|
+
var _this3 = this;
|
|
254
268
|
|
|
255
269
|
var sceneId = this.container.get(_l7Core.TYPES.SceneID);
|
|
256
270
|
this.configService.setLayerConfig(sceneId, this.id, this.rawConfig);
|
|
@@ -269,7 +283,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
269
283
|
|
|
270
284
|
if (enableMultiPassRenderer && passes !== null && passes !== void 0 && passes.length && passes.length > 0) {
|
|
271
285
|
this.mapService.on('mapAfterFrameChange', function () {
|
|
272
|
-
|
|
286
|
+
_this3.renderLayers();
|
|
273
287
|
});
|
|
274
288
|
}
|
|
275
289
|
|
|
@@ -287,10 +301,10 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
287
301
|
attributeValues = _ref.attributeValues,
|
|
288
302
|
updateOptions = _ref.updateOptions;
|
|
289
303
|
|
|
290
|
-
|
|
304
|
+
_this3.styleAttributeService.updateStyleAttribute(attributeName, {
|
|
291
305
|
scale: _objectSpread({
|
|
292
306
|
field: attributeField
|
|
293
|
-
},
|
|
307
|
+
}, _this3.splitValuesAndCallbackInAttribute(attributeValues, _this3.getLayerConfig()[attributeName]))
|
|
294
308
|
}, updateOptions);
|
|
295
309
|
});
|
|
296
310
|
this.pendingStyleAttributes = [];
|
|
@@ -424,7 +438,11 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
424
438
|
values: values
|
|
425
439
|
};
|
|
426
440
|
this.updateStyleAttribute('shape', field, values, updateOptions);
|
|
427
|
-
|
|
441
|
+
|
|
442
|
+
if (!this.tileLayer) {
|
|
443
|
+
(0, _updateShape.updateShape)(this, lastShape, currentShape);
|
|
444
|
+
}
|
|
445
|
+
|
|
428
446
|
return this;
|
|
429
447
|
}
|
|
430
448
|
}, {
|
|
@@ -473,20 +491,20 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
473
491
|
}, {
|
|
474
492
|
key: "setData",
|
|
475
493
|
value: function setData(data, options) {
|
|
476
|
-
var
|
|
494
|
+
var _this4 = this;
|
|
477
495
|
|
|
478
496
|
if (this.inited) {
|
|
479
497
|
this.layerSource.setData(data, options);
|
|
480
498
|
} else {
|
|
481
499
|
this.on('inited', function () {
|
|
482
|
-
var currentSource =
|
|
500
|
+
var currentSource = _this4.getSource();
|
|
483
501
|
|
|
484
502
|
if (!currentSource) {
|
|
485
|
-
|
|
503
|
+
_this4.source(new _l7Source.default(data, options));
|
|
486
504
|
|
|
487
|
-
|
|
505
|
+
_this4.sourceEvent();
|
|
488
506
|
} else {
|
|
489
|
-
|
|
507
|
+
_this4.layerSource.setData(data, options);
|
|
490
508
|
}
|
|
491
509
|
});
|
|
492
510
|
}
|
|
@@ -496,7 +514,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
496
514
|
}, {
|
|
497
515
|
key: "style",
|
|
498
516
|
value: function style(options) {
|
|
499
|
-
var
|
|
517
|
+
var _this5 = this;
|
|
500
518
|
|
|
501
519
|
var lastConfig = this.getLayerConfig();
|
|
502
520
|
var passes = options.passes,
|
|
@@ -504,7 +522,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
504
522
|
|
|
505
523
|
if (passes) {
|
|
506
524
|
(0, _multiPassRender.normalizePasses)(passes).forEach(function (pass) {
|
|
507
|
-
var postProcessingPass =
|
|
525
|
+
var postProcessingPass = _this5.multiPassRenderer.getPostProcessor().getPostProcessingPassByName(pass[0]);
|
|
508
526
|
|
|
509
527
|
if (postProcessingPass) {
|
|
510
528
|
postProcessingPass.updateOptions(pass[1]);
|
|
@@ -547,6 +565,11 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
547
565
|
}, {
|
|
548
566
|
key: "render",
|
|
549
567
|
value: function render() {
|
|
568
|
+
if (this.tileLayer !== undefined) {
|
|
569
|
+
this.tileLayer.render();
|
|
570
|
+
return this;
|
|
571
|
+
}
|
|
572
|
+
|
|
550
573
|
if (this.getEncodedData().length !== 0) {
|
|
551
574
|
this.renderModels();
|
|
552
575
|
}
|
|
@@ -625,7 +648,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
625
648
|
}, {
|
|
626
649
|
key: "setActive",
|
|
627
650
|
value: function setActive(id, options) {
|
|
628
|
-
var
|
|
651
|
+
var _this6 = this;
|
|
629
652
|
|
|
630
653
|
if ((0, _isObject2.default)(id)) {
|
|
631
654
|
var _id$x = id.x,
|
|
@@ -648,7 +671,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
648
671
|
});
|
|
649
672
|
this.hooks.beforeSelect.call((0, _l7Utils.encodePickingColor)(id)).then(function () {
|
|
650
673
|
setTimeout(function () {
|
|
651
|
-
|
|
674
|
+
_this6.reRender();
|
|
652
675
|
}, 1);
|
|
653
676
|
});
|
|
654
677
|
}
|
|
@@ -679,7 +702,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
679
702
|
}, {
|
|
680
703
|
key: "setSelect",
|
|
681
704
|
value: function setSelect(id, options) {
|
|
682
|
-
var
|
|
705
|
+
var _this7 = this;
|
|
683
706
|
|
|
684
707
|
if ((0, _isObject2.default)(id)) {
|
|
685
708
|
var _id$x2 = id.x,
|
|
@@ -702,7 +725,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
702
725
|
});
|
|
703
726
|
this.hooks.beforeSelect.call((0, _l7Utils.encodePickingColor)(id)).then(function () {
|
|
704
727
|
setTimeout(function () {
|
|
705
|
-
|
|
728
|
+
_this7.reRender();
|
|
706
729
|
}, 1);
|
|
707
730
|
});
|
|
708
731
|
}
|
|
@@ -885,6 +908,8 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
885
908
|
value: function destroy() {
|
|
886
909
|
var _this$layerModel;
|
|
887
910
|
|
|
911
|
+
var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
912
|
+
|
|
888
913
|
if (this.isDestroied) {
|
|
889
914
|
return;
|
|
890
915
|
}
|
|
@@ -904,7 +929,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
904
929
|
this.hooks.afterDestroy.call();
|
|
905
930
|
(_this$layerModel = this.layerModel) === null || _this$layerModel === void 0 ? void 0 : _this$layerModel.clearModels();
|
|
906
931
|
this.models = [];
|
|
907
|
-
this.layerService.cleanRemove(this);
|
|
932
|
+
this.layerService.cleanRemove(this, refresh);
|
|
908
933
|
this.emit('remove', {
|
|
909
934
|
target: this,
|
|
910
935
|
type: 'remove'
|
|
@@ -1163,7 +1188,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
1163
1188
|
}, {
|
|
1164
1189
|
key: "renderModels",
|
|
1165
1190
|
value: function renderModels(isPicking) {
|
|
1166
|
-
var
|
|
1191
|
+
var _this8 = this;
|
|
1167
1192
|
|
|
1168
1193
|
if (this.getEncodedData().length > 0) {
|
|
1169
1194
|
if (this.layerModelNeedUpdate && this.layerModel) {
|
|
@@ -1178,7 +1203,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
1178
1203
|
|
|
1179
1204
|
this.models.forEach(function (model) {
|
|
1180
1205
|
model.draw({
|
|
1181
|
-
uniforms:
|
|
1206
|
+
uniforms: _this8.layerModel.getUninforms()
|
|
1182
1207
|
}, isPicking);
|
|
1183
1208
|
});
|
|
1184
1209
|
}
|