@antv/l7-layers 2.17.3 → 2.17.4
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 +478 -313
- package/es/core/BaseModel.js +80 -51
- package/es/core/CommonStyleAttribute.js +5 -2
- 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 +39 -27
- package/es/core/triangulation.js +136 -99
- 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 +149 -92
- 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 +35 -9
- package/es/line/models/arc.js +112 -63
- package/es/line/models/arc_3d.js +102 -58
- package/es/line/models/earthArc_3d.js +105 -60
- package/es/line/models/flow.js +60 -36
- package/es/line/models/great_circle.js +94 -53
- package/es/line/models/line.js +136 -85
- package/es/line/models/linearline.js +74 -42
- package/es/line/models/simpleLine.js +67 -38
- 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 +114 -78
- 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 +108 -69
- 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 +78 -26
- package/es/point/models/earthExtrude.js +95 -58
- package/es/point/models/earthFill.js +80 -52
- package/es/point/models/extrude.js +94 -57
- package/es/point/models/fill.js +81 -56
- package/es/point/models/fillmage.js +100 -60
- package/es/point/models/image.js +83 -47
- package/es/point/models/index.js +2 -2
- package/es/point/models/normal.js +54 -30
- package/es/point/models/radar.js +63 -38
- package/es/point/models/simplePoint.js +62 -38
- package/es/point/models/text.js +296 -199
- package/es/point/shape/extrude.js +13 -4
- package/es/polygon/index.js +41 -11
- package/es/polygon/models/extrude.js +135 -87
- package/es/polygon/models/fill.js +79 -50
- 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/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 +469 -313
- package/lib/core/BaseModel.js +90 -51
- package/lib/core/CommonStyleAttribute.js +7 -2
- 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 +62 -27
- package/lib/core/triangulation.js +177 -98
- 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 +166 -92
- 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 +122 -61
- package/lib/line/models/arc_3d.js +113 -56
- package/lib/line/models/earthArc_3d.js +115 -58
- package/lib/line/models/flow.js +70 -36
- package/lib/line/models/great_circle.js +104 -53
- package/lib/line/models/index.js +11 -0
- package/lib/line/models/line.js +144 -83
- package/lib/line/models/linearline.js +86 -42
- package/lib/line/models/simpleLine.js +77 -38
- 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 +125 -78
- 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 +117 -70
- 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 +106 -58
- package/lib/point/models/earthFill.js +110 -52
- package/lib/point/models/extrude.js +103 -57
- package/lib/point/models/fill.js +90 -54
- package/lib/point/models/fillmage.js +107 -58
- package/lib/point/models/image.js +92 -47
- package/lib/point/models/index.js +12 -1
- package/lib/point/models/normal.js +64 -30
- package/lib/point/models/radar.js +72 -38
- package/lib/point/models/simplePoint.js +72 -38
- package/lib/point/models/text.js +305 -199
- package/lib/point/shape/extrude.js +20 -4
- package/lib/polygon/index.js +48 -11
- package/lib/polygon/models/extrude.js +146 -87
- package/lib/polygon/models/fill.js +89 -50
- 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/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 sceneCenterMercator = [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
|
sceneCenterMercator = _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_sceneCenterMercator", sceneCenterMercator), (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_sceneCenterMercator", sceneCenterMercator), (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), "enableEncodeStyles", ['opacity', 'offsets', 'stroke']);
|
|
@@ -45,30 +68,38 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
45
68
|
});
|
|
46
69
|
return _this;
|
|
47
70
|
}
|
|
71
|
+
|
|
48
72
|
(0, _createClass2.default)(PointLayer, [{
|
|
49
73
|
key: "buildModels",
|
|
50
74
|
value: function () {
|
|
51
75
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
52
76
|
var modelType;
|
|
53
77
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
54
|
-
while (1)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
78
|
+
while (1) {
|
|
79
|
+
switch (_context.prev = _context.next) {
|
|
80
|
+
case 0:
|
|
81
|
+
modelType = this.getModelType();
|
|
82
|
+
|
|
83
|
+
if (this.layerModel) {
|
|
84
|
+
this.layerModel.clearModels();
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
this.layerModel = new _index.default[modelType](this);
|
|
88
|
+
_context.next = 5;
|
|
89
|
+
return this.initLayerModels();
|
|
90
|
+
|
|
91
|
+
case 5:
|
|
92
|
+
case "end":
|
|
93
|
+
return _context.stop();
|
|
94
|
+
}
|
|
66
95
|
}
|
|
67
96
|
}, _callee, this);
|
|
68
97
|
}));
|
|
98
|
+
|
|
69
99
|
function buildModels() {
|
|
70
100
|
return _buildModels.apply(this, arguments);
|
|
71
101
|
}
|
|
102
|
+
|
|
72
103
|
return buildModels;
|
|
73
104
|
}()
|
|
74
105
|
}, {
|
|
@@ -76,47 +107,60 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
76
107
|
value: function () {
|
|
77
108
|
var _rebuildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
78
109
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
79
|
-
while (1)
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
110
|
+
while (1) {
|
|
111
|
+
switch (_context2.prev = _context2.next) {
|
|
112
|
+
case 0:
|
|
113
|
+
_context2.next = 2;
|
|
114
|
+
return this.buildModels();
|
|
115
|
+
|
|
116
|
+
case 2:
|
|
117
|
+
case "end":
|
|
118
|
+
return _context2.stop();
|
|
119
|
+
}
|
|
86
120
|
}
|
|
87
121
|
}, _callee2, this);
|
|
88
122
|
}));
|
|
123
|
+
|
|
89
124
|
function rebuildModels() {
|
|
90
125
|
return _rebuildModels.apply(this, arguments);
|
|
91
126
|
}
|
|
127
|
+
|
|
92
128
|
return rebuildModels;
|
|
93
129
|
}()
|
|
94
130
|
/**
|
|
95
131
|
* 在未传入数据的时候判断点图层的 shape 类型
|
|
96
132
|
* @returns
|
|
97
133
|
*/
|
|
134
|
+
|
|
98
135
|
}, {
|
|
99
136
|
key: "getModelTypeWillEmptyData",
|
|
100
137
|
value: function getModelTypeWillEmptyData() {
|
|
101
138
|
if (this.shapeOption) {
|
|
102
139
|
var _this$shapeOption = this.shapeOption,
|
|
103
|
-
|
|
104
|
-
|
|
140
|
+
field = _this$shapeOption.field,
|
|
141
|
+
values = _this$shapeOption.values;
|
|
142
|
+
|
|
105
143
|
var _this$getLayerConfig = this.getLayerConfig(),
|
|
106
|
-
|
|
144
|
+
shape2d = _this$getLayerConfig.shape2d;
|
|
145
|
+
|
|
107
146
|
var iconMap = this.iconService.getIconMap();
|
|
147
|
+
|
|
108
148
|
if (field && (shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(field)) !== -1) {
|
|
109
149
|
return 'fill';
|
|
110
150
|
}
|
|
151
|
+
|
|
111
152
|
if (values === 'text') {
|
|
112
153
|
return 'text';
|
|
113
154
|
}
|
|
155
|
+
|
|
114
156
|
if (values && values instanceof Array) {
|
|
115
157
|
var _iterator = _createForOfIteratorHelper(values),
|
|
116
|
-
|
|
158
|
+
_step;
|
|
159
|
+
|
|
117
160
|
try {
|
|
118
161
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
119
162
|
var v = _step.value;
|
|
163
|
+
|
|
120
164
|
if (typeof v === 'string' && iconMap.hasOwnProperty(v)) {
|
|
121
165
|
return 'image';
|
|
122
166
|
}
|
|
@@ -128,6 +172,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
128
172
|
}
|
|
129
173
|
}
|
|
130
174
|
}
|
|
175
|
+
|
|
131
176
|
return 'normal';
|
|
132
177
|
}
|
|
133
178
|
}, {
|
|
@@ -161,29 +206,37 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
161
206
|
value: function getModelType() {
|
|
162
207
|
// 2D、 3d、 shape、image、text、normal、
|
|
163
208
|
var layerData = this.getEncodedData();
|
|
209
|
+
|
|
164
210
|
var _this$getLayerConfig2 = this.getLayerConfig(),
|
|
165
|
-
|
|
166
|
-
|
|
211
|
+
shape2d = _this$getLayerConfig2.shape2d,
|
|
212
|
+
shape3d = _this$getLayerConfig2.shape3d;
|
|
213
|
+
|
|
167
214
|
var iconMap = this.iconService.getIconMap();
|
|
168
215
|
var item = layerData.find(function (fe) {
|
|
169
216
|
return fe.hasOwnProperty('shape');
|
|
170
217
|
});
|
|
218
|
+
|
|
171
219
|
if (!item) {
|
|
172
220
|
return this.getModelTypeWillEmptyData();
|
|
173
221
|
} else {
|
|
174
222
|
var shape = item.shape;
|
|
223
|
+
|
|
175
224
|
if (shape === 'dot') {
|
|
176
225
|
return 'normal';
|
|
177
226
|
}
|
|
227
|
+
|
|
178
228
|
if (shape === 'simple') {
|
|
179
229
|
return 'simplePoint';
|
|
180
230
|
}
|
|
231
|
+
|
|
181
232
|
if (shape === 'radar') {
|
|
182
233
|
return 'radar';
|
|
183
234
|
}
|
|
235
|
+
|
|
184
236
|
if (this.layerType === 'fillImage') {
|
|
185
237
|
return 'fillImage';
|
|
186
238
|
}
|
|
239
|
+
|
|
187
240
|
if ((shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(shape)) !== -1) {
|
|
188
241
|
if (this.mapService.version === 'GLOBEL') {
|
|
189
242
|
return 'earthFill';
|
|
@@ -191,6 +244,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
191
244
|
return 'fill';
|
|
192
245
|
}
|
|
193
246
|
}
|
|
247
|
+
|
|
194
248
|
if ((shape3d === null || shape3d === void 0 ? void 0 : shape3d.indexOf(shape)) !== -1) {
|
|
195
249
|
if (this.mapService.version === 'GLOBEL') {
|
|
196
250
|
return 'earthExtrude';
|
|
@@ -198,13 +252,16 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
198
252
|
return 'extrude';
|
|
199
253
|
}
|
|
200
254
|
}
|
|
255
|
+
|
|
201
256
|
if (iconMap.hasOwnProperty(shape)) {
|
|
202
257
|
return 'image';
|
|
203
258
|
}
|
|
259
|
+
|
|
204
260
|
return 'text';
|
|
205
261
|
}
|
|
206
262
|
}
|
|
207
263
|
}]);
|
|
208
264
|
return PointLayer;
|
|
209
265
|
}(_BaseLayer2.default);
|
|
266
|
+
|
|
210
267
|
exports.default = PointLayer;
|