@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
|
@@ -4,12 +4,13 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
|
4
4
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
5
|
import _applyDecoratedDescriptor from "@babel/runtime/helpers/esm/applyDecoratedDescriptor";
|
|
6
6
|
import _initializerWarningHelper from "@babel/runtime/helpers/esm/initializerWarningHelper";
|
|
7
|
+
|
|
7
8
|
var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;
|
|
9
|
+
|
|
8
10
|
import { CameraUniform, CoordinateUniform, TYPES } from '@antv/l7-core';
|
|
9
11
|
import { $window } from '@antv/l7-utils';
|
|
10
12
|
import { inject, injectable } from 'inversify';
|
|
11
13
|
import 'reflect-metadata';
|
|
12
|
-
|
|
13
14
|
/**
|
|
14
15
|
* 在渲染之前需要获取当前 Shader 所需 Uniform,例如:
|
|
15
16
|
* 1. 从相机服务中获取 View & ProjectionMatrix,当前缩放等级等等
|
|
@@ -17,61 +18,74 @@ import 'reflect-metadata';
|
|
|
17
18
|
* @see https://yuque.antfin-inc.com/yuqi.pyq/fgetpa/doml91
|
|
18
19
|
* 3. 当前 Layer 本身的样式属性
|
|
19
20
|
*/
|
|
21
|
+
|
|
20
22
|
var ShaderUniformPlugin = (_dec = injectable(), _dec2 = inject(TYPES.ICameraService), _dec3 = inject(TYPES.ICoordinateSystemService), _dec4 = inject(TYPES.IRendererService), _dec5 = inject(TYPES.IMapService), _dec(_class = (_class2 = /*#__PURE__*/function () {
|
|
21
23
|
function ShaderUniformPlugin() {
|
|
22
24
|
_classCallCheck(this, ShaderUniformPlugin);
|
|
25
|
+
|
|
23
26
|
_initializerDefineProperty(this, "cameraService", _descriptor, this);
|
|
27
|
+
|
|
24
28
|
_initializerDefineProperty(this, "coordinateSystemService", _descriptor2, this);
|
|
29
|
+
|
|
25
30
|
_initializerDefineProperty(this, "rendererService", _descriptor3, this);
|
|
31
|
+
|
|
26
32
|
_initializerDefineProperty(this, "mapService", _descriptor4, this);
|
|
27
33
|
}
|
|
34
|
+
|
|
28
35
|
_createClass(ShaderUniformPlugin, [{
|
|
29
36
|
key: "apply",
|
|
30
37
|
value: function apply(layer) {
|
|
31
38
|
var _this = this;
|
|
39
|
+
|
|
32
40
|
var version = this.mapService.version;
|
|
33
41
|
var mvp = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; // default matrix (for gaode2.x)
|
|
42
|
+
|
|
34
43
|
var sceneCenterMercator = [0, 0];
|
|
35
44
|
layer.hooks.beforeRender.tap('ShaderUniformPlugin', function () {
|
|
36
45
|
// @ts-ignore
|
|
37
|
-
var offset = layer.getLayerConfig().tileOrigin;
|
|
38
|
-
|
|
46
|
+
var offset = layer.getLayerConfig().tileOrigin; // 重新计算坐标系参数
|
|
47
|
+
|
|
39
48
|
_this.coordinateSystemService.refresh(offset);
|
|
49
|
+
|
|
40
50
|
if (version === 'GAODE2.x') {
|
|
41
|
-
_this.setLayerCenter(layer);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
// mvp = amapCustomCoords.getMVPMatrix()
|
|
51
|
+
_this.setLayerCenter(layer); // @ts-ignore
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
mvp = _this.mapService.map.customCoords.getMVPMatrix(); // mvp = amapCustomCoords.getMVPMatrix()
|
|
45
55
|
// @ts-ignore
|
|
56
|
+
|
|
46
57
|
sceneCenterMercator = _this.mapService.getCustomCoordCenter();
|
|
47
58
|
}
|
|
59
|
+
|
|
48
60
|
var _this$rendererService = _this.rendererService.getViewportSize(),
|
|
49
|
-
|
|
50
|
-
|
|
61
|
+
width = _this$rendererService.width,
|
|
62
|
+
height = _this$rendererService.height;
|
|
63
|
+
|
|
51
64
|
layer.models.forEach(function (model) {
|
|
52
65
|
var _model$addUniforms;
|
|
53
|
-
model.addUniforms((_model$addUniforms = {}, _defineProperty(_model$addUniforms, CameraUniform.ProjectionMatrix, _this.cameraService.getProjectionMatrix()), _defineProperty(_model$addUniforms, CameraUniform.ViewMatrix, _this.cameraService.getViewMatrix()), _defineProperty(_model$addUniforms, CameraUniform.ViewProjectionMatrix, _this.cameraService.getViewProjectionMatrix()), _defineProperty(_model$addUniforms, CameraUniform.Zoom, _this.cameraService.getZoom()), _defineProperty(_model$addUniforms, CameraUniform.ZoomScale, _this.cameraService.getZoomScale()), _defineProperty(_model$addUniforms, CameraUniform.FocalDistance, _this.cameraService.getFocalDistance()), _defineProperty(_model$addUniforms, CameraUniform.CameraPosition, _this.cameraService.getCameraPosition()), _defineProperty(_model$addUniforms, CoordinateUniform.CoordinateSystem, _this.coordinateSystemService.getCoordinateSystem()), _defineProperty(_model$addUniforms, CoordinateUniform.ViewportCenter, _this.coordinateSystemService.getViewportCenter()), _defineProperty(_model$addUniforms, CoordinateUniform.ViewportCenterProjection, _this.coordinateSystemService.getViewportCenterProjection()), _defineProperty(_model$addUniforms, CoordinateUniform.PixelsPerDegree, _this.coordinateSystemService.getPixelsPerDegree()), _defineProperty(_model$addUniforms, CoordinateUniform.PixelsPerDegree2, _this.coordinateSystemService.getPixelsPerDegree2()), _defineProperty(_model$addUniforms, CoordinateUniform.PixelsPerMeter, _this.coordinateSystemService.getPixelsPerMeter()), _defineProperty(_model$addUniforms, CoordinateUniform.Mvp, mvp), _defineProperty(_model$addUniforms, "u_sceneCenterMercator", sceneCenterMercator), _defineProperty(_model$addUniforms, "u_ViewportSize", [width, height]), _defineProperty(_model$addUniforms, "u_ModelMatrix", _this.cameraService.getModelMatrix()), _defineProperty(_model$addUniforms, "u_DevicePixelRatio", $window.devicePixelRatio), _defineProperty(_model$addUniforms, "u_PickingBuffer", layer.getLayerConfig().pickingBuffer || 0), _defineProperty(_model$addUniforms, "u_shaderPick", Number(layer.getShaderPickStat())), _model$addUniforms));
|
|
54
|
-
});
|
|
55
66
|
|
|
56
|
-
|
|
67
|
+
model.addUniforms((_model$addUniforms = {}, _defineProperty(_model$addUniforms, CameraUniform.ProjectionMatrix, _this.cameraService.getProjectionMatrix()), _defineProperty(_model$addUniforms, CameraUniform.ViewMatrix, _this.cameraService.getViewMatrix()), _defineProperty(_model$addUniforms, CameraUniform.ViewProjectionMatrix, _this.cameraService.getViewProjectionMatrix()), _defineProperty(_model$addUniforms, CameraUniform.Zoom, _this.cameraService.getZoom()), _defineProperty(_model$addUniforms, CameraUniform.ZoomScale, _this.cameraService.getZoomScale()), _defineProperty(_model$addUniforms, CameraUniform.FocalDistance, _this.cameraService.getFocalDistance()), _defineProperty(_model$addUniforms, CameraUniform.CameraPosition, _this.cameraService.getCameraPosition()), _defineProperty(_model$addUniforms, CoordinateUniform.CoordinateSystem, _this.coordinateSystemService.getCoordinateSystem()), _defineProperty(_model$addUniforms, CoordinateUniform.ViewportCenter, _this.coordinateSystemService.getViewportCenter()), _defineProperty(_model$addUniforms, CoordinateUniform.ViewportCenterProjection, _this.coordinateSystemService.getViewportCenterProjection()), _defineProperty(_model$addUniforms, CoordinateUniform.PixelsPerDegree, _this.coordinateSystemService.getPixelsPerDegree()), _defineProperty(_model$addUniforms, CoordinateUniform.PixelsPerDegree2, _this.coordinateSystemService.getPixelsPerDegree2()), _defineProperty(_model$addUniforms, CoordinateUniform.PixelsPerMeter, _this.coordinateSystemService.getPixelsPerMeter()), _defineProperty(_model$addUniforms, CoordinateUniform.Mvp, mvp), _defineProperty(_model$addUniforms, "u_sceneCenterMercator", sceneCenterMercator), _defineProperty(_model$addUniforms, "u_ViewportSize", [width, height]), _defineProperty(_model$addUniforms, "u_ModelMatrix", _this.cameraService.getModelMatrix()), _defineProperty(_model$addUniforms, "u_DevicePixelRatio", $window.devicePixelRatio), _defineProperty(_model$addUniforms, "u_PickingBuffer", layer.getLayerConfig().pickingBuffer || 0), _defineProperty(_model$addUniforms, "u_shaderPick", Number(layer.getShaderPickStat())), _model$addUniforms));
|
|
68
|
+
}); // TODO:脏检查,决定是否需要渲染
|
|
57
69
|
});
|
|
58
70
|
}
|
|
59
|
-
|
|
60
71
|
/**
|
|
61
72
|
* 对于每个 layer 都有不同的几何中心点,因此在绘制每个 layer 的时候都需要重新设置
|
|
62
73
|
* @param layer
|
|
63
74
|
*/
|
|
75
|
+
|
|
64
76
|
}, {
|
|
65
77
|
key: "setLayerCenter",
|
|
66
78
|
value: function setLayerCenter(layer) {
|
|
67
79
|
if (layer.coordCenter === undefined) {
|
|
68
80
|
layer.coordCenter = layer.getSource().center;
|
|
69
81
|
}
|
|
82
|
+
|
|
70
83
|
if (this.mapService.setCoordCenter) {
|
|
71
84
|
this.mapService.setCoordCenter(layer.coordCenter);
|
|
72
85
|
}
|
|
73
86
|
}
|
|
74
87
|
}]);
|
|
88
|
+
|
|
75
89
|
return ShaderUniformPlugin;
|
|
76
90
|
}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "cameraService", [_dec2], {
|
|
77
91
|
configurable: true,
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
2
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
|
+
|
|
3
4
|
var _dec, _class;
|
|
5
|
+
|
|
4
6
|
import { injectable } from 'inversify';
|
|
5
7
|
import 'reflect-metadata';
|
|
6
8
|
/**
|
|
7
9
|
* Model 更新
|
|
8
10
|
*/
|
|
11
|
+
|
|
9
12
|
var UpdateModelPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function () {
|
|
10
13
|
function UpdateModelPlugin() {
|
|
11
14
|
_classCallCheck(this, UpdateModelPlugin);
|
|
12
15
|
}
|
|
16
|
+
|
|
13
17
|
_createClass(UpdateModelPlugin, [{
|
|
14
18
|
key: "apply",
|
|
15
19
|
value: function apply(layer) {
|
|
@@ -28,6 +32,7 @@ var UpdateModelPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/functio
|
|
|
28
32
|
});
|
|
29
33
|
}
|
|
30
34
|
}]);
|
|
35
|
+
|
|
31
36
|
return UpdateModelPlugin;
|
|
32
37
|
}()) || _class);
|
|
33
38
|
export { UpdateModelPlugin as default };
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
2
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
|
+
|
|
3
4
|
var _dec, _class;
|
|
5
|
+
|
|
4
6
|
import { injectable } from 'inversify';
|
|
5
7
|
import 'reflect-metadata';
|
|
6
|
-
|
|
7
8
|
/**
|
|
8
9
|
* 在初始化阶段完成属性的注册,以及首次根据 Layer 指定的三角化方法完成 indices 和 attribute 的创建
|
|
9
10
|
*/
|
|
11
|
+
|
|
10
12
|
var UpdateStyleAttributePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function () {
|
|
11
13
|
function UpdateStyleAttributePlugin() {
|
|
12
14
|
_classCallCheck(this, UpdateStyleAttributePlugin);
|
|
13
15
|
}
|
|
16
|
+
|
|
14
17
|
_createClass(UpdateStyleAttributePlugin, [{
|
|
15
18
|
key: "apply",
|
|
16
19
|
value: function apply(layer, _ref) {
|
|
17
20
|
var _this = this;
|
|
21
|
+
|
|
18
22
|
var styleAttributeService = _ref.styleAttributeService;
|
|
19
23
|
layer.hooks.init.tapPromise('UpdateStyleAttributePlugin', function () {
|
|
20
24
|
_this.initStyleAttribute(layer, {
|
|
@@ -25,6 +29,7 @@ var UpdateStyleAttributePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__
|
|
|
25
29
|
if (layer.layerModelNeedUpdate) {
|
|
26
30
|
return;
|
|
27
31
|
}
|
|
32
|
+
|
|
28
33
|
if (layer.inited) {
|
|
29
34
|
_this.updateStyleAttribute(layer, {
|
|
30
35
|
styleAttributeService: styleAttributeService
|
|
@@ -38,6 +43,7 @@ var UpdateStyleAttributePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__
|
|
|
38
43
|
var styleAttributeService = _ref2.styleAttributeService;
|
|
39
44
|
var attributes = styleAttributeService.getLayerStyleAttributes() || [];
|
|
40
45
|
var filter = styleAttributeService.getLayerStyleAttribute('filter');
|
|
46
|
+
|
|
41
47
|
if (filter && filter.needRegenerateVertices) {
|
|
42
48
|
layer.layerModelNeedUpdate = true;
|
|
43
49
|
attributes.forEach(function (attr) {
|
|
@@ -45,12 +51,12 @@ var UpdateStyleAttributePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__
|
|
|
45
51
|
});
|
|
46
52
|
return;
|
|
47
53
|
}
|
|
54
|
+
|
|
48
55
|
attributes.filter(function (attribute) {
|
|
49
56
|
return attribute.needRegenerateVertices;
|
|
50
57
|
}).forEach(function (attribute) {
|
|
51
58
|
// 精确更新某个/某些 feature(s),需要传入 featureIdx d
|
|
52
|
-
styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(),
|
|
53
|
-
// 获取经过 mapping 最新的数据
|
|
59
|
+
styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(), // 获取经过 mapping 最新的数据
|
|
54
60
|
attribute.featureRange.startIndex, attribute.featureRange.endIndex, layer);
|
|
55
61
|
attribute.needRegenerateVertices = false;
|
|
56
62
|
});
|
|
@@ -64,13 +70,13 @@ var UpdateStyleAttributePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__
|
|
|
64
70
|
return attribute.needRegenerateVertices;
|
|
65
71
|
}).forEach(function (attribute) {
|
|
66
72
|
// 精确更新某个/某些 feature(s),需要传入 featureIdx d
|
|
67
|
-
styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(),
|
|
68
|
-
// 获取经过 mapping 最新的数据
|
|
73
|
+
styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(), // 获取经过 mapping 最新的数据
|
|
69
74
|
attribute.featureRange.startIndex, attribute.featureRange.endIndex);
|
|
70
75
|
attribute.needRegenerateVertices = false;
|
|
71
76
|
});
|
|
72
77
|
}
|
|
73
78
|
}]);
|
|
79
|
+
|
|
74
80
|
return UpdateStyleAttributePlugin;
|
|
75
81
|
}()) || _class);
|
|
76
82
|
export { UpdateStyleAttributePlugin as default };
|
package/es/point/index.js
CHANGED
|
@@ -6,26 +6,42 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
|
6
6
|
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
7
7
|
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
8
8
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
9
|
+
|
|
9
10
|
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; } } }; }
|
|
11
|
+
|
|
10
12
|
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); }
|
|
11
|
-
|
|
13
|
+
|
|
14
|
+
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; }
|
|
15
|
+
|
|
12
16
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
17
|
+
|
|
13
18
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
19
|
+
|
|
14
20
|
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; } }
|
|
21
|
+
|
|
15
22
|
import BaseLayer from "../core/BaseLayer";
|
|
16
23
|
import PointModels from "./models/index";
|
|
24
|
+
|
|
17
25
|
var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
18
26
|
_inherits(PointLayer, _BaseLayer);
|
|
27
|
+
|
|
19
28
|
var _super = _createSuper(PointLayer);
|
|
29
|
+
|
|
20
30
|
function PointLayer() {
|
|
21
31
|
var _this;
|
|
32
|
+
|
|
22
33
|
_classCallCheck(this, PointLayer);
|
|
34
|
+
|
|
23
35
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
24
36
|
args[_key] = arguments[_key];
|
|
25
37
|
}
|
|
38
|
+
|
|
26
39
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
40
|
+
|
|
27
41
|
_defineProperty(_assertThisInitialized(_this), "type", 'PointLayer');
|
|
42
|
+
|
|
28
43
|
_defineProperty(_assertThisInitialized(_this), "enableEncodeStyles", ['opacity', 'offsets', 'stroke']);
|
|
44
|
+
|
|
29
45
|
_defineProperty(_assertThisInitialized(_this), "defaultSourceConfig", {
|
|
30
46
|
data: [],
|
|
31
47
|
options: {
|
|
@@ -36,32 +52,41 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
36
52
|
}
|
|
37
53
|
}
|
|
38
54
|
});
|
|
55
|
+
|
|
39
56
|
return _this;
|
|
40
57
|
}
|
|
58
|
+
|
|
41
59
|
_createClass(PointLayer, [{
|
|
42
60
|
key: "buildModels",
|
|
43
61
|
value: function () {
|
|
44
62
|
var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
45
63
|
var modelType;
|
|
46
64
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
47
|
-
while (1)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
65
|
+
while (1) {
|
|
66
|
+
switch (_context.prev = _context.next) {
|
|
67
|
+
case 0:
|
|
68
|
+
modelType = this.getModelType();
|
|
69
|
+
|
|
70
|
+
if (this.layerModel) {
|
|
71
|
+
this.layerModel.clearModels();
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
this.layerModel = new PointModels[modelType](this);
|
|
75
|
+
_context.next = 5;
|
|
76
|
+
return this.initLayerModels();
|
|
77
|
+
|
|
78
|
+
case 5:
|
|
79
|
+
case "end":
|
|
80
|
+
return _context.stop();
|
|
81
|
+
}
|
|
59
82
|
}
|
|
60
83
|
}, _callee, this);
|
|
61
84
|
}));
|
|
85
|
+
|
|
62
86
|
function buildModels() {
|
|
63
87
|
return _buildModels.apply(this, arguments);
|
|
64
88
|
}
|
|
89
|
+
|
|
65
90
|
return buildModels;
|
|
66
91
|
}()
|
|
67
92
|
}, {
|
|
@@ -69,47 +94,60 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
69
94
|
value: function () {
|
|
70
95
|
var _rebuildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
71
96
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
72
|
-
while (1)
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
97
|
+
while (1) {
|
|
98
|
+
switch (_context2.prev = _context2.next) {
|
|
99
|
+
case 0:
|
|
100
|
+
_context2.next = 2;
|
|
101
|
+
return this.buildModels();
|
|
102
|
+
|
|
103
|
+
case 2:
|
|
104
|
+
case "end":
|
|
105
|
+
return _context2.stop();
|
|
106
|
+
}
|
|
79
107
|
}
|
|
80
108
|
}, _callee2, this);
|
|
81
109
|
}));
|
|
110
|
+
|
|
82
111
|
function rebuildModels() {
|
|
83
112
|
return _rebuildModels.apply(this, arguments);
|
|
84
113
|
}
|
|
114
|
+
|
|
85
115
|
return rebuildModels;
|
|
86
116
|
}()
|
|
87
117
|
/**
|
|
88
118
|
* 在未传入数据的时候判断点图层的 shape 类型
|
|
89
119
|
* @returns
|
|
90
120
|
*/
|
|
121
|
+
|
|
91
122
|
}, {
|
|
92
123
|
key: "getModelTypeWillEmptyData",
|
|
93
124
|
value: function getModelTypeWillEmptyData() {
|
|
94
125
|
if (this.shapeOption) {
|
|
95
126
|
var _this$shapeOption = this.shapeOption,
|
|
96
|
-
|
|
97
|
-
|
|
127
|
+
field = _this$shapeOption.field,
|
|
128
|
+
values = _this$shapeOption.values;
|
|
129
|
+
|
|
98
130
|
var _this$getLayerConfig = this.getLayerConfig(),
|
|
99
|
-
|
|
131
|
+
shape2d = _this$getLayerConfig.shape2d;
|
|
132
|
+
|
|
100
133
|
var iconMap = this.iconService.getIconMap();
|
|
134
|
+
|
|
101
135
|
if (field && (shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(field)) !== -1) {
|
|
102
136
|
return 'fill';
|
|
103
137
|
}
|
|
138
|
+
|
|
104
139
|
if (values === 'text') {
|
|
105
140
|
return 'text';
|
|
106
141
|
}
|
|
142
|
+
|
|
107
143
|
if (values && values instanceof Array) {
|
|
108
144
|
var _iterator = _createForOfIteratorHelper(values),
|
|
109
|
-
|
|
145
|
+
_step;
|
|
146
|
+
|
|
110
147
|
try {
|
|
111
148
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
112
149
|
var v = _step.value;
|
|
150
|
+
|
|
113
151
|
if (typeof v === 'string' && iconMap.hasOwnProperty(v)) {
|
|
114
152
|
return 'image';
|
|
115
153
|
}
|
|
@@ -121,6 +159,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
121
159
|
}
|
|
122
160
|
}
|
|
123
161
|
}
|
|
162
|
+
|
|
124
163
|
return 'normal';
|
|
125
164
|
}
|
|
126
165
|
}, {
|
|
@@ -154,29 +193,37 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
154
193
|
value: function getModelType() {
|
|
155
194
|
// 2D、 3d、 shape、image、text、normal、
|
|
156
195
|
var layerData = this.getEncodedData();
|
|
196
|
+
|
|
157
197
|
var _this$getLayerConfig2 = this.getLayerConfig(),
|
|
158
|
-
|
|
159
|
-
|
|
198
|
+
shape2d = _this$getLayerConfig2.shape2d,
|
|
199
|
+
shape3d = _this$getLayerConfig2.shape3d;
|
|
200
|
+
|
|
160
201
|
var iconMap = this.iconService.getIconMap();
|
|
161
202
|
var item = layerData.find(function (fe) {
|
|
162
203
|
return fe.hasOwnProperty('shape');
|
|
163
204
|
});
|
|
205
|
+
|
|
164
206
|
if (!item) {
|
|
165
207
|
return this.getModelTypeWillEmptyData();
|
|
166
208
|
} else {
|
|
167
209
|
var shape = item.shape;
|
|
210
|
+
|
|
168
211
|
if (shape === 'dot') {
|
|
169
212
|
return 'normal';
|
|
170
213
|
}
|
|
214
|
+
|
|
171
215
|
if (shape === 'simple') {
|
|
172
216
|
return 'simplePoint';
|
|
173
217
|
}
|
|
218
|
+
|
|
174
219
|
if (shape === 'radar') {
|
|
175
220
|
return 'radar';
|
|
176
221
|
}
|
|
222
|
+
|
|
177
223
|
if (this.layerType === 'fillImage') {
|
|
178
224
|
return 'fillImage';
|
|
179
225
|
}
|
|
226
|
+
|
|
180
227
|
if ((shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(shape)) !== -1) {
|
|
181
228
|
if (this.mapService.version === 'GLOBEL') {
|
|
182
229
|
return 'earthFill';
|
|
@@ -184,6 +231,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
184
231
|
return 'fill';
|
|
185
232
|
}
|
|
186
233
|
}
|
|
234
|
+
|
|
187
235
|
if ((shape3d === null || shape3d === void 0 ? void 0 : shape3d.indexOf(shape)) !== -1) {
|
|
188
236
|
if (this.mapService.version === 'GLOBEL') {
|
|
189
237
|
return 'earthExtrude';
|
|
@@ -191,13 +239,17 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
191
239
|
return 'extrude';
|
|
192
240
|
}
|
|
193
241
|
}
|
|
242
|
+
|
|
194
243
|
if (iconMap.hasOwnProperty(shape)) {
|
|
195
244
|
return 'image';
|
|
196
245
|
}
|
|
246
|
+
|
|
197
247
|
return 'text';
|
|
198
248
|
}
|
|
199
249
|
}
|
|
200
250
|
}]);
|
|
251
|
+
|
|
201
252
|
return PointLayer;
|
|
202
253
|
}(BaseLayer);
|
|
254
|
+
|
|
203
255
|
export { PointLayer as default };
|