@antv/l7-layers 2.15.5 → 2.16.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/Geometry/index.js +31 -9
- package/es/Geometry/models/billboard.js +89 -51
- package/es/Geometry/models/plane.js +143 -81
- package/es/Geometry/models/sprite.js +118 -60
- package/es/canvas/index.js +33 -10
- package/es/canvas/models/canvas.js +97 -41
- package/es/citybuliding/building.js +27 -8
- package/es/citybuliding/models/build.js +82 -57
- package/es/core/BaseLayer.js +486 -321
- package/es/core/BaseModel.js +126 -97
- package/es/core/LayerPickService.js +32 -21
- package/es/core/TextureService.js +13 -0
- package/es/core/interface.js +24 -17
- package/es/core/shape/Path.js +20 -13
- package/es/core/shape/extrude.js +31 -10
- package/es/core/triangulation.js +114 -54
- package/es/earth/index.js +33 -9
- package/es/earth/models/atmosphere.js +54 -30
- package/es/earth/models/base.js +85 -47
- package/es/earth/models/bloomsphere.js +54 -30
- package/es/earth/utils.js +13 -9
- package/es/heatmap/index.js +40 -10
- package/es/heatmap/models/grid.js +52 -28
- package/es/heatmap/models/grid3d.js +52 -28
- package/es/heatmap/models/heatmap.js +146 -91
- package/es/heatmap/models/hexagon.js +52 -28
- package/es/heatmap/triangulation.js +4 -0
- package/es/image/index.js +28 -9
- package/es/image/models/image.js +100 -66
- package/es/index.js +17 -9
- package/es/line/index.js +34 -9
- package/es/line/models/arc.js +118 -66
- package/es/line/models/arc_3d.js +108 -60
- package/es/line/models/earthArc_3d.js +111 -63
- package/es/line/models/great_circle.js +100 -56
- package/es/line/models/half.js +77 -46
- package/es/line/models/line.js +148 -94
- package/es/line/models/linearline.js +80 -45
- package/es/line/models/simpleLine.js +74 -41
- package/es/line/models/wall.js +92 -52
- package/es/mask/index.js +28 -9
- package/es/mask/models/fill.js +54 -29
- package/es/plugins/DataMappingPlugin.js +117 -80
- package/es/plugins/DataSourcePlugin.js +68 -45
- package/es/plugins/FeatureScalePlugin.js +122 -67
- package/es/plugins/LayerAnimateStylePlugin.js +5 -0
- package/es/plugins/LayerMaskPlugin.js +11 -3
- package/es/plugins/LayerModelPlugin.js +104 -67
- package/es/plugins/LayerStylePlugin.js +9 -3
- package/es/plugins/LightingPlugin.js +18 -12
- package/es/plugins/MultiPassRendererPlugin.js +16 -11
- package/es/plugins/PixelPickingPlugin.js +21 -12
- package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
- package/es/plugins/ShaderUniformPlugin.js +27 -13
- package/es/plugins/UpdateModelPlugin.js +5 -0
- package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
- package/es/point/index.js +77 -26
- package/es/point/models/earthExtrude.js +102 -61
- package/es/point/models/earthFill.js +87 -57
- package/es/point/models/extrude.js +101 -60
- package/es/point/models/fill.js +100 -70
- package/es/point/models/fillmage.js +107 -63
- package/es/point/models/image.js +88 -48
- package/es/point/models/index.js +2 -2
- package/es/point/models/normal.js +54 -30
- package/es/point/models/radar.js +64 -40
- package/es/point/models/simplePoint.js +69 -41
- package/es/point/models/text.d.ts +2 -1
- package/es/point/models/text.js +305 -201
- package/es/point/shape/extrude.js +13 -4
- package/es/polygon/index.js +40 -11
- package/es/polygon/models/extrude.js +92 -48
- package/es/polygon/models/fill.js +88 -54
- package/es/polygon/models/index.js +2 -3
- package/es/polygon/models/ocean.js +76 -42
- package/es/polygon/models/water.js +71 -37
- package/es/raster/buffers/triangulation.js +4 -2
- package/es/raster/index.js +32 -9
- package/es/raster/models/raster.js +116 -80
- package/es/raster/models/rasterRgb.js +127 -84
- package/es/raster/models/rasterTerrainRgb.js +84 -56
- package/es/tile/interaction/getRasterData.js +20 -14
- package/es/tile/interaction/utils.js +9 -7
- package/es/tile/manager/base.js +96 -63
- package/es/tile/service/TileLayerService.js +55 -33
- package/es/tile/service/TilePickService.js +40 -26
- package/es/tile/service/TileSourceService.js +7 -3
- package/es/tile/tileFactory/DebugTile.js +46 -29
- package/es/tile/tileFactory/ImageTile.js +38 -20
- package/es/tile/tileFactory/MaskTile.js +43 -22
- package/es/tile/tileFactory/RasterRGBTile.js +42 -22
- package/es/tile/tileFactory/RasterTerrainRGBTile.js +38 -20
- package/es/tile/tileFactory/RasterTile.js +53 -30
- package/es/tile/tileFactory/Tile.js +97 -63
- package/es/tile/tileFactory/VectorTile.js +68 -41
- package/es/tile/tileFactory/index.js +11 -0
- package/es/tile/tileFactory/layers/TileDebugLayer.js +27 -6
- package/es/tile/tileFactory/util.js +3 -0
- package/es/tile/tileLayer/BaseLayer.js +146 -105
- package/es/tile/utils.js +1 -1
- package/es/utils/blend.js +2 -0
- package/es/utils/collision-index.js +16 -9
- package/es/utils/dataMappingStyle.js +18 -8
- package/es/utils/extrude_polyline.js +149 -101
- package/es/utils/grid-index.js +27 -2
- package/es/utils/identityScale.js +8 -0
- package/es/utils/layerData.js +44 -30
- package/es/utils/multiPassRender.js +13 -11
- package/es/utils/polylineNormal.js +37 -31
- package/es/utils/simpleLine.js +16 -2
- package/es/utils/stencil.js +3 -2
- package/es/utils/symbol-layout.js +53 -27
- package/es/wind/index.js +29 -9
- package/es/wind/models/utils.js +51 -26
- package/es/wind/models/wind.js +147 -101
- package/es/wind/models/windRender.js +66 -53
- package/lib/Geometry/index.js +38 -9
- package/lib/Geometry/models/billboard.js +97 -51
- package/lib/Geometry/models/index.js +5 -0
- package/lib/Geometry/models/plane.js +151 -79
- package/lib/Geometry/models/sprite.js +127 -60
- package/lib/canvas/index.js +40 -10
- package/lib/canvas/models/canvas.js +101 -41
- package/lib/canvas/models/index.js +3 -0
- package/lib/citybuliding/building.js +35 -8
- package/lib/citybuliding/models/build.js +92 -57
- package/lib/core/BaseLayer.js +480 -321
- package/lib/core/BaseModel.js +139 -97
- package/lib/core/LayerPickService.js +37 -21
- package/lib/core/TextureService.js +16 -0
- package/lib/core/interface.js +31 -21
- package/lib/core/schema.js +1 -0
- package/lib/core/shape/Path.js +31 -14
- package/lib/core/shape/extrude.js +54 -10
- package/lib/core/triangulation.js +153 -53
- package/lib/earth/index.js +43 -9
- package/lib/earth/models/atmosphere.js +63 -30
- package/lib/earth/models/base.js +90 -47
- package/lib/earth/models/bloomsphere.js +63 -30
- package/lib/earth/utils.js +31 -7
- package/lib/heatmap/index.js +48 -10
- package/lib/heatmap/models/grid.js +60 -28
- package/lib/heatmap/models/grid3d.js +60 -28
- package/lib/heatmap/models/heatmap.js +162 -91
- package/lib/heatmap/models/hexagon.js +60 -28
- package/lib/heatmap/models/index.js +6 -0
- package/lib/heatmap/triangulation.js +5 -0
- package/lib/image/index.js +36 -9
- package/lib/image/models/image.js +109 -66
- package/lib/image/models/index.js +3 -0
- package/lib/index.js +61 -7
- package/lib/line/index.js +40 -9
- package/lib/line/models/arc.js +128 -64
- package/lib/line/models/arc_3d.js +119 -58
- package/lib/line/models/earthArc_3d.js +122 -61
- package/lib/line/models/great_circle.js +111 -56
- package/lib/line/models/half.js +87 -46
- package/lib/line/models/index.js +11 -0
- package/lib/line/models/line.js +156 -92
- package/lib/line/models/linearline.js +92 -45
- package/lib/line/models/simpleLine.js +84 -41
- package/lib/line/models/wall.js +103 -52
- package/lib/mask/index.js +36 -9
- package/lib/mask/models/fill.js +63 -29
- package/lib/mask/models/index.js +3 -0
- package/lib/plugins/DataMappingPlugin.js +128 -80
- package/lib/plugins/DataSourcePlugin.js +76 -45
- package/lib/plugins/FeatureScalePlugin.js +138 -67
- package/lib/plugins/LayerAnimateStylePlugin.js +10 -0
- package/lib/plugins/LayerMaskPlugin.js +17 -4
- package/lib/plugins/LayerModelPlugin.js +113 -68
- package/lib/plugins/LayerStylePlugin.js +14 -4
- package/lib/plugins/LightingPlugin.js +25 -12
- package/lib/plugins/MultiPassRendererPlugin.js +22 -11
- package/lib/plugins/PixelPickingPlugin.js +27 -12
- package/lib/plugins/RegisterStyleAttributePlugin.js +19 -5
- package/lib/plugins/ShaderUniformPlugin.js +34 -13
- package/lib/plugins/UpdateModelPlugin.js +10 -1
- package/lib/plugins/UpdateStyleAttributePlugin.js +16 -5
- package/lib/point/index.js +83 -26
- package/lib/point/models/earthExtrude.js +113 -61
- package/lib/point/models/earthFill.js +117 -57
- package/lib/point/models/extrude.js +111 -60
- package/lib/point/models/fill.js +109 -68
- package/lib/point/models/fillmage.js +115 -61
- package/lib/point/models/image.js +98 -48
- package/lib/point/models/index.js +12 -1
- package/lib/point/models/normal.js +64 -30
- package/lib/point/models/radar.js +74 -40
- package/lib/point/models/simplePoint.js +79 -41
- package/lib/point/models/text.js +314 -202
- package/lib/point/shape/extrude.js +20 -4
- package/lib/polygon/index.js +48 -11
- package/lib/polygon/models/extrude.js +103 -48
- package/lib/polygon/models/fill.js +98 -54
- package/lib/polygon/models/index.js +14 -2
- package/lib/polygon/models/ocean.js +88 -42
- package/lib/polygon/models/water.js +82 -37
- package/lib/raster/buffers/triangulation.js +7 -3
- package/lib/raster/index.js +40 -9
- package/lib/raster/models/index.js +5 -0
- package/lib/raster/models/raster.js +125 -80
- package/lib/raster/models/rasterRgb.js +139 -84
- package/lib/raster/models/rasterTerrainRgb.js +93 -56
- package/lib/tile/interaction/getRasterData.js +25 -14
- package/lib/tile/interaction/utils.js +19 -7
- package/lib/tile/manager/base.js +104 -63
- package/lib/tile/service/TileLayerService.js +60 -33
- package/lib/tile/service/TilePickService.js +48 -26
- package/lib/tile/service/TileSourceService.js +16 -2
- package/lib/tile/style/utils.js +3 -0
- package/lib/tile/tileFactory/DebugTile.js +54 -29
- package/lib/tile/tileFactory/ImageTile.js +46 -20
- package/lib/tile/tileFactory/MaskTile.js +51 -22
- package/lib/tile/tileFactory/RasterRGBTile.js +50 -22
- package/lib/tile/tileFactory/RasterTerrainRGBTile.js +46 -20
- package/lib/tile/tileFactory/RasterTile.js +63 -30
- package/lib/tile/tileFactory/Tile.js +102 -63
- package/lib/tile/tileFactory/VectorTile.js +76 -41
- package/lib/tile/tileFactory/index.js +25 -0
- package/lib/tile/tileFactory/layers/TileDebugLayer.js +32 -6
- package/lib/tile/tileFactory/util.js +9 -0
- package/lib/tile/tileLayer/BaseLayer.js +153 -105
- package/lib/tile/utils.js +5 -1
- package/lib/utils/blend.js +5 -0
- package/lib/utils/collision-index.js +25 -9
- package/lib/utils/dataMappingStyle.js +19 -8
- package/lib/utils/extrude_polyline.js +181 -101
- package/lib/utils/grid-index.js +28 -2
- package/lib/utils/identityScale.js +9 -0
- package/lib/utils/layerData.js +49 -30
- package/lib/utils/multiPassRender.js +16 -11
- package/lib/utils/polylineNormal.js +66 -31
- package/lib/utils/simpleLine.js +21 -2
- package/lib/utils/stencil.js +4 -0
- package/lib/utils/symbol-layout.js +55 -27
- package/lib/wind/index.js +37 -9
- package/lib/wind/models/index.js +3 -0
- package/lib/wind/models/utils.js +62 -26
- package/lib/wind/models/wind.js +157 -101
- package/lib/wind/models/windRender.js +71 -53
- package/lib/wind/models/windShader.js +1 -0
- package/package.json +7 -7
|
@@ -1,21 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _initializerDefineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/initializerDefineProperty"));
|
|
11
|
+
|
|
9
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
10
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
11
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
|
|
12
18
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
19
|
+
|
|
13
20
|
var _initializerWarningHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/initializerWarningHelper"));
|
|
21
|
+
|
|
14
22
|
var _l7Core = require("@antv/l7-core");
|
|
23
|
+
|
|
15
24
|
var _l7Utils = require("@antv/l7-utils");
|
|
25
|
+
|
|
16
26
|
var _inversify = require("inversify");
|
|
27
|
+
|
|
17
28
|
require("reflect-metadata");
|
|
29
|
+
|
|
18
30
|
var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;
|
|
31
|
+
|
|
32
|
+
var ShaderUniformPlugin = (
|
|
19
33
|
/**
|
|
20
34
|
* 在渲染之前需要获取当前 Shader 所需 Uniform,例如:
|
|
21
35
|
* 1. 从相机服务中获取 View & ProjectionMatrix,当前缩放等级等等
|
|
@@ -23,7 +37,7 @@ var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2, _descriptor, _descriptor2
|
|
|
23
37
|
* @see https://yuque.antfin-inc.com/yuqi.pyq/fgetpa/doml91
|
|
24
38
|
* 3. 当前 Layer 本身的样式属性
|
|
25
39
|
*/
|
|
26
|
-
|
|
40
|
+
_dec = (0, _inversify.injectable)(), _dec2 = (0, _inversify.inject)(_l7Core.TYPES.ICameraService), _dec3 = (0, _inversify.inject)(_l7Core.TYPES.ICoordinateSystemService), _dec4 = (0, _inversify.inject)(_l7Core.TYPES.IRendererService), _dec5 = (0, _inversify.inject)(_l7Core.TYPES.IMapService), _dec(_class = (_class2 = /*#__PURE__*/function () {
|
|
27
41
|
function ShaderUniformPlugin() {
|
|
28
42
|
(0, _classCallCheck2.default)(this, ShaderUniformPlugin);
|
|
29
43
|
(0, _initializerDefineProperty2.default)(this, "cameraService", _descriptor, this);
|
|
@@ -31,48 +45,55 @@ var ShaderUniformPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inv
|
|
|
31
45
|
(0, _initializerDefineProperty2.default)(this, "rendererService", _descriptor3, this);
|
|
32
46
|
(0, _initializerDefineProperty2.default)(this, "mapService", _descriptor4, this);
|
|
33
47
|
}
|
|
48
|
+
|
|
34
49
|
(0, _createClass2.default)(ShaderUniformPlugin, [{
|
|
35
50
|
key: "apply",
|
|
36
51
|
value: function apply(layer) {
|
|
37
52
|
var _this = this;
|
|
53
|
+
|
|
38
54
|
var version = this.mapService.version;
|
|
39
55
|
var mvp = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; // default matrix (for gaode2.x)
|
|
56
|
+
|
|
40
57
|
var sceneCenterMKT = [0, 0];
|
|
41
58
|
layer.hooks.beforeRender.tap('ShaderUniformPlugin', function () {
|
|
42
59
|
// @ts-ignore
|
|
43
|
-
var offset = layer.getLayerConfig().tileOrigin;
|
|
44
|
-
|
|
60
|
+
var offset = layer.getLayerConfig().tileOrigin; // 重新计算坐标系参数
|
|
61
|
+
|
|
45
62
|
_this.coordinateSystemService.refresh(offset);
|
|
63
|
+
|
|
46
64
|
if (version === 'GAODE2.x') {
|
|
47
|
-
_this.setLayerCenter(layer);
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
// mvp = amapCustomCoords.getMVPMatrix()
|
|
65
|
+
_this.setLayerCenter(layer); // @ts-ignore
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
mvp = _this.mapService.map.customCoords.getMVPMatrix(); // mvp = amapCustomCoords.getMVPMatrix()
|
|
51
69
|
// @ts-ignore
|
|
70
|
+
|
|
52
71
|
sceneCenterMKT = _this.mapService.getCustomCoordCenter();
|
|
53
72
|
}
|
|
73
|
+
|
|
54
74
|
var _this$rendererService = _this.rendererService.getViewportSize(),
|
|
55
|
-
|
|
56
|
-
|
|
75
|
+
width = _this$rendererService.width,
|
|
76
|
+
height = _this$rendererService.height;
|
|
77
|
+
|
|
57
78
|
layer.models.forEach(function (model) {
|
|
58
79
|
var _model$addUniforms;
|
|
59
|
-
model.addUniforms((_model$addUniforms = {}, (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ProjectionMatrix, _this.cameraService.getProjectionMatrix()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ViewMatrix, _this.cameraService.getViewMatrix()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ViewProjectionMatrix, _this.cameraService.getViewProjectionMatrix()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.Zoom, _this.cameraService.getZoom()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ZoomScale, _this.cameraService.getZoomScale()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.FocalDistance, _this.cameraService.getFocalDistance()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.CameraPosition, _this.cameraService.getCameraPosition()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.CoordinateSystem, _this.coordinateSystemService.getCoordinateSystem()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.ViewportCenter, _this.coordinateSystemService.getViewportCenter()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.ViewportCenterProjection, _this.coordinateSystemService.getViewportCenterProjection()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.PixelsPerDegree, _this.coordinateSystemService.getPixelsPerDegree()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.PixelsPerDegree2, _this.coordinateSystemService.getPixelsPerDegree2()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.PixelsPerMeter, _this.coordinateSystemService.getPixelsPerMeter()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.Mvp, mvp), (0, _defineProperty2.default)(_model$addUniforms, "u_SceneCenterMKT", sceneCenterMKT), (0, _defineProperty2.default)(_model$addUniforms, "u_ViewportSize", [width, height]), (0, _defineProperty2.default)(_model$addUniforms, "u_ModelMatrix", _this.cameraService.getModelMatrix()), (0, _defineProperty2.default)(_model$addUniforms, "u_DevicePixelRatio", _l7Utils.$window.devicePixelRatio), (0, _defineProperty2.default)(_model$addUniforms, "u_PickingBuffer", layer.getLayerConfig().pickingBuffer || 0), (0, _defineProperty2.default)(_model$addUniforms, "u_shaderPick", Number(layer.getShaderPickStat())), _model$addUniforms));
|
|
60
|
-
});
|
|
61
80
|
|
|
62
|
-
|
|
81
|
+
model.addUniforms((_model$addUniforms = {}, (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ProjectionMatrix, _this.cameraService.getProjectionMatrix()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ViewMatrix, _this.cameraService.getViewMatrix()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ViewProjectionMatrix, _this.cameraService.getViewProjectionMatrix()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.Zoom, _this.cameraService.getZoom()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ZoomScale, _this.cameraService.getZoomScale()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.FocalDistance, _this.cameraService.getFocalDistance()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.CameraPosition, _this.cameraService.getCameraPosition()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.CoordinateSystem, _this.coordinateSystemService.getCoordinateSystem()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.ViewportCenter, _this.coordinateSystemService.getViewportCenter()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.ViewportCenterProjection, _this.coordinateSystemService.getViewportCenterProjection()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.PixelsPerDegree, _this.coordinateSystemService.getPixelsPerDegree()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.PixelsPerDegree2, _this.coordinateSystemService.getPixelsPerDegree2()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.PixelsPerMeter, _this.coordinateSystemService.getPixelsPerMeter()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.Mvp, mvp), (0, _defineProperty2.default)(_model$addUniforms, "u_SceneCenterMKT", sceneCenterMKT), (0, _defineProperty2.default)(_model$addUniforms, "u_ViewportSize", [width, height]), (0, _defineProperty2.default)(_model$addUniforms, "u_ModelMatrix", _this.cameraService.getModelMatrix()), (0, _defineProperty2.default)(_model$addUniforms, "u_DevicePixelRatio", _l7Utils.$window.devicePixelRatio), (0, _defineProperty2.default)(_model$addUniforms, "u_PickingBuffer", layer.getLayerConfig().pickingBuffer || 0), (0, _defineProperty2.default)(_model$addUniforms, "u_shaderPick", Number(layer.getShaderPickStat())), _model$addUniforms));
|
|
82
|
+
}); // TODO:脏检查,决定是否需要渲染
|
|
63
83
|
});
|
|
64
84
|
}
|
|
65
|
-
|
|
66
85
|
/**
|
|
67
86
|
* 对于每个 layer 都有不同的几何中心点,因此在绘制每个 layer 的时候都需要重新设置
|
|
68
87
|
* @param layer
|
|
69
88
|
*/
|
|
89
|
+
|
|
70
90
|
}, {
|
|
71
91
|
key: "setLayerCenter",
|
|
72
92
|
value: function setLayerCenter(layer) {
|
|
73
93
|
if (layer.coordCenter === undefined) {
|
|
74
94
|
layer.coordCenter = layer.getSource().center;
|
|
75
95
|
}
|
|
96
|
+
|
|
76
97
|
if (this.mapService.setCoordCenter) {
|
|
77
98
|
this.mapService.setCoordCenter(layer.coordCenter);
|
|
78
99
|
}
|
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
9
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
10
14
|
var _inversify = require("inversify");
|
|
15
|
+
|
|
11
16
|
require("reflect-metadata");
|
|
17
|
+
|
|
12
18
|
var _dec, _class;
|
|
19
|
+
|
|
20
|
+
var UpdateModelPlugin = (
|
|
13
21
|
/**
|
|
14
22
|
* Model 更新
|
|
15
23
|
*/
|
|
16
|
-
|
|
24
|
+
_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
|
|
17
25
|
function UpdateModelPlugin() {
|
|
18
26
|
(0, _classCallCheck2.default)(this, UpdateModelPlugin);
|
|
19
27
|
}
|
|
28
|
+
|
|
20
29
|
(0, _createClass2.default)(UpdateModelPlugin, [{
|
|
21
30
|
key: "apply",
|
|
22
31
|
value: function apply(layer) {
|
|
@@ -1,26 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
9
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
10
14
|
var _inversify = require("inversify");
|
|
15
|
+
|
|
11
16
|
require("reflect-metadata");
|
|
17
|
+
|
|
12
18
|
var _dec, _class;
|
|
19
|
+
|
|
20
|
+
var UpdateStyleAttributePlugin = (
|
|
13
21
|
/**
|
|
14
22
|
* 在初始化阶段完成属性的注册,以及首次根据 Layer 指定的三角化方法完成 indices 和 attribute 的创建
|
|
15
23
|
*/
|
|
16
|
-
|
|
24
|
+
_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
|
|
17
25
|
function UpdateStyleAttributePlugin() {
|
|
18
26
|
(0, _classCallCheck2.default)(this, UpdateStyleAttributePlugin);
|
|
19
27
|
}
|
|
28
|
+
|
|
20
29
|
(0, _createClass2.default)(UpdateStyleAttributePlugin, [{
|
|
21
30
|
key: "apply",
|
|
22
31
|
value: function apply(layer, _ref) {
|
|
23
32
|
var _this = this;
|
|
33
|
+
|
|
24
34
|
var styleAttributeService = _ref.styleAttributeService;
|
|
25
35
|
layer.hooks.init.tapPromise('UpdateStyleAttributePlugin', function () {
|
|
26
36
|
_this.initStyleAttribute(layer, {
|
|
@@ -31,6 +41,7 @@ var UpdateStyleAttributePlugin = (_dec = (0, _inversify.injectable)(), _dec(_cla
|
|
|
31
41
|
if (layer.layerModelNeedUpdate) {
|
|
32
42
|
return;
|
|
33
43
|
}
|
|
44
|
+
|
|
34
45
|
if (layer.inited) {
|
|
35
46
|
_this.updateStyleAttribute(layer, {
|
|
36
47
|
styleAttributeService: styleAttributeService
|
|
@@ -44,6 +55,7 @@ var UpdateStyleAttributePlugin = (_dec = (0, _inversify.injectable)(), _dec(_cla
|
|
|
44
55
|
var styleAttributeService = _ref2.styleAttributeService;
|
|
45
56
|
var attributes = styleAttributeService.getLayerStyleAttributes() || [];
|
|
46
57
|
var filter = styleAttributeService.getLayerStyleAttribute('filter');
|
|
58
|
+
|
|
47
59
|
if (filter && filter.needRegenerateVertices) {
|
|
48
60
|
layer.layerModelNeedUpdate = true;
|
|
49
61
|
attributes.forEach(function (attr) {
|
|
@@ -51,12 +63,12 @@ var UpdateStyleAttributePlugin = (_dec = (0, _inversify.injectable)(), _dec(_cla
|
|
|
51
63
|
});
|
|
52
64
|
return;
|
|
53
65
|
}
|
|
66
|
+
|
|
54
67
|
attributes.filter(function (attribute) {
|
|
55
68
|
return attribute.needRegenerateVertices;
|
|
56
69
|
}).forEach(function (attribute) {
|
|
57
70
|
// 精确更新某个/某些 feature(s),需要传入 featureIdx d
|
|
58
|
-
styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(),
|
|
59
|
-
// 获取经过 mapping 最新的数据
|
|
71
|
+
styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(), // 获取经过 mapping 最新的数据
|
|
60
72
|
attribute.featureRange.startIndex, attribute.featureRange.endIndex, layer);
|
|
61
73
|
attribute.needRegenerateVertices = false;
|
|
62
74
|
});
|
|
@@ -70,8 +82,7 @@ var UpdateStyleAttributePlugin = (_dec = (0, _inversify.injectable)(), _dec(_cla
|
|
|
70
82
|
return attribute.needRegenerateVertices;
|
|
71
83
|
}).forEach(function (attribute) {
|
|
72
84
|
// 精确更新某个/某些 feature(s),需要传入 featureIdx d
|
|
73
|
-
styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(),
|
|
74
|
-
// 获取经过 mapping 最新的数据
|
|
85
|
+
styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(), // 获取经过 mapping 最新的数据
|
|
75
86
|
attribute.featureRange.startIndex, attribute.featureRange.endIndex);
|
|
76
87
|
attribute.needRegenerateVertices = false;
|
|
77
88
|
});
|
package/lib/point/index.js
CHANGED
|
@@ -1,35 +1,58 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
9
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
10
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
11
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
12
18
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
+
|
|
13
20
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
+
|
|
14
22
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
+
|
|
15
24
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
+
|
|
16
26
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
+
|
|
17
28
|
var _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
|
|
29
|
+
|
|
18
30
|
var _index = _interopRequireDefault(require("./models/index"));
|
|
31
|
+
|
|
19
32
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
33
|
+
|
|
20
34
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
21
|
-
|
|
35
|
+
|
|
36
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
37
|
+
|
|
22
38
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
39
|
+
|
|
23
40
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
41
|
+
|
|
24
42
|
var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
25
43
|
(0, _inherits2.default)(PointLayer, _BaseLayer);
|
|
44
|
+
|
|
26
45
|
var _super = _createSuper(PointLayer);
|
|
46
|
+
|
|
27
47
|
function PointLayer() {
|
|
28
48
|
var _this;
|
|
49
|
+
|
|
29
50
|
(0, _classCallCheck2.default)(this, PointLayer);
|
|
51
|
+
|
|
30
52
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
31
53
|
args[_key] = arguments[_key];
|
|
32
54
|
}
|
|
55
|
+
|
|
33
56
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
34
57
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'PointLayer');
|
|
35
58
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "defaultSourceConfig", {
|
|
@@ -44,30 +67,38 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
44
67
|
});
|
|
45
68
|
return _this;
|
|
46
69
|
}
|
|
70
|
+
|
|
47
71
|
(0, _createClass2.default)(PointLayer, [{
|
|
48
72
|
key: "buildModels",
|
|
49
73
|
value: function () {
|
|
50
74
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
51
75
|
var modelType;
|
|
52
76
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
53
|
-
while (1)
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
77
|
+
while (1) {
|
|
78
|
+
switch (_context.prev = _context.next) {
|
|
79
|
+
case 0:
|
|
80
|
+
modelType = this.getModelType();
|
|
81
|
+
|
|
82
|
+
if (this.layerModel) {
|
|
83
|
+
this.layerModel.clearModels();
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
this.layerModel = new _index.default[modelType](this);
|
|
87
|
+
_context.next = 5;
|
|
88
|
+
return this.initLayerModels();
|
|
89
|
+
|
|
90
|
+
case 5:
|
|
91
|
+
case "end":
|
|
92
|
+
return _context.stop();
|
|
93
|
+
}
|
|
65
94
|
}
|
|
66
95
|
}, _callee, this);
|
|
67
96
|
}));
|
|
97
|
+
|
|
68
98
|
function buildModels() {
|
|
69
99
|
return _buildModels.apply(this, arguments);
|
|
70
100
|
}
|
|
101
|
+
|
|
71
102
|
return buildModels;
|
|
72
103
|
}()
|
|
73
104
|
}, {
|
|
@@ -75,47 +106,60 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
75
106
|
value: function () {
|
|
76
107
|
var _rebuildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
77
108
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
78
|
-
while (1)
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
109
|
+
while (1) {
|
|
110
|
+
switch (_context2.prev = _context2.next) {
|
|
111
|
+
case 0:
|
|
112
|
+
_context2.next = 2;
|
|
113
|
+
return this.buildModels();
|
|
114
|
+
|
|
115
|
+
case 2:
|
|
116
|
+
case "end":
|
|
117
|
+
return _context2.stop();
|
|
118
|
+
}
|
|
85
119
|
}
|
|
86
120
|
}, _callee2, this);
|
|
87
121
|
}));
|
|
122
|
+
|
|
88
123
|
function rebuildModels() {
|
|
89
124
|
return _rebuildModels.apply(this, arguments);
|
|
90
125
|
}
|
|
126
|
+
|
|
91
127
|
return rebuildModels;
|
|
92
128
|
}()
|
|
93
129
|
/**
|
|
94
130
|
* 在未传入数据的时候判断点图层的 shape 类型
|
|
95
131
|
* @returns
|
|
96
132
|
*/
|
|
133
|
+
|
|
97
134
|
}, {
|
|
98
135
|
key: "getModelTypeWillEmptyData",
|
|
99
136
|
value: function getModelTypeWillEmptyData() {
|
|
100
137
|
if (this.shapeOption) {
|
|
101
138
|
var _this$shapeOption = this.shapeOption,
|
|
102
|
-
|
|
103
|
-
|
|
139
|
+
field = _this$shapeOption.field,
|
|
140
|
+
values = _this$shapeOption.values;
|
|
141
|
+
|
|
104
142
|
var _this$getLayerConfig = this.getLayerConfig(),
|
|
105
|
-
|
|
143
|
+
shape2d = _this$getLayerConfig.shape2d;
|
|
144
|
+
|
|
106
145
|
var iconMap = this.iconService.getIconMap();
|
|
146
|
+
|
|
107
147
|
if (field && (shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(field)) !== -1) {
|
|
108
148
|
return 'fill';
|
|
109
149
|
}
|
|
150
|
+
|
|
110
151
|
if (values === 'text') {
|
|
111
152
|
return 'text';
|
|
112
153
|
}
|
|
154
|
+
|
|
113
155
|
if (values && values instanceof Array) {
|
|
114
156
|
var _iterator = _createForOfIteratorHelper(values),
|
|
115
|
-
|
|
157
|
+
_step;
|
|
158
|
+
|
|
116
159
|
try {
|
|
117
160
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
118
161
|
var v = _step.value;
|
|
162
|
+
|
|
119
163
|
if (typeof v === 'string' && iconMap.hasOwnProperty(v)) {
|
|
120
164
|
return 'image';
|
|
121
165
|
}
|
|
@@ -127,6 +171,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
127
171
|
}
|
|
128
172
|
}
|
|
129
173
|
}
|
|
174
|
+
|
|
130
175
|
return 'normal';
|
|
131
176
|
}
|
|
132
177
|
}, {
|
|
@@ -160,29 +205,37 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
160
205
|
value: function getModelType() {
|
|
161
206
|
// 2D、 3d、 shape、image、text、normal、
|
|
162
207
|
var layerData = this.getEncodedData();
|
|
208
|
+
|
|
163
209
|
var _this$getLayerConfig2 = this.getLayerConfig(),
|
|
164
|
-
|
|
165
|
-
|
|
210
|
+
shape2d = _this$getLayerConfig2.shape2d,
|
|
211
|
+
shape3d = _this$getLayerConfig2.shape3d;
|
|
212
|
+
|
|
166
213
|
var iconMap = this.iconService.getIconMap();
|
|
167
214
|
var item = layerData.find(function (fe) {
|
|
168
215
|
return fe.hasOwnProperty('shape');
|
|
169
216
|
});
|
|
217
|
+
|
|
170
218
|
if (!item) {
|
|
171
219
|
return this.getModelTypeWillEmptyData();
|
|
172
220
|
} else {
|
|
173
221
|
var shape = item.shape;
|
|
222
|
+
|
|
174
223
|
if (shape === 'dot') {
|
|
175
224
|
return 'normal';
|
|
176
225
|
}
|
|
226
|
+
|
|
177
227
|
if (shape === 'simple') {
|
|
178
228
|
return 'simplePoint';
|
|
179
229
|
}
|
|
230
|
+
|
|
180
231
|
if (shape === 'radar') {
|
|
181
232
|
return 'radar';
|
|
182
233
|
}
|
|
234
|
+
|
|
183
235
|
if (this.layerType === 'fillImage') {
|
|
184
236
|
return 'fillImage';
|
|
185
237
|
}
|
|
238
|
+
|
|
186
239
|
if ((shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(shape)) !== -1) {
|
|
187
240
|
if (this.mapService.version === 'GLOBEL') {
|
|
188
241
|
return 'earthFill';
|
|
@@ -190,6 +243,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
190
243
|
return 'fill';
|
|
191
244
|
}
|
|
192
245
|
}
|
|
246
|
+
|
|
193
247
|
if ((shape3d === null || shape3d === void 0 ? void 0 : shape3d.indexOf(shape)) !== -1) {
|
|
194
248
|
if (this.mapService.version === 'GLOBEL') {
|
|
195
249
|
return 'earthExtrude';
|
|
@@ -197,13 +251,16 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
197
251
|
return 'extrude';
|
|
198
252
|
}
|
|
199
253
|
}
|
|
254
|
+
|
|
200
255
|
if (iconMap.hasOwnProperty(shape)) {
|
|
201
256
|
return 'image';
|
|
202
257
|
}
|
|
258
|
+
|
|
203
259
|
return 'text';
|
|
204
260
|
}
|
|
205
261
|
}
|
|
206
262
|
}]);
|
|
207
263
|
return PointLayer;
|
|
208
264
|
}(_BaseLayer2.default);
|
|
265
|
+
|
|
209
266
|
exports.default = PointLayer;
|