@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
|
@@ -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 sceneCenterMKT = [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
|
sceneCenterMKT = _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_SceneCenterMKT", sceneCenterMKT), _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_SceneCenterMKT", sceneCenterMKT), _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,25 +6,40 @@ 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), "defaultSourceConfig", {
|
|
29
44
|
data: [],
|
|
30
45
|
options: {
|
|
@@ -35,32 +50,41 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
35
50
|
}
|
|
36
51
|
}
|
|
37
52
|
});
|
|
53
|
+
|
|
38
54
|
return _this;
|
|
39
55
|
}
|
|
56
|
+
|
|
40
57
|
_createClass(PointLayer, [{
|
|
41
58
|
key: "buildModels",
|
|
42
59
|
value: function () {
|
|
43
60
|
var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
44
61
|
var modelType;
|
|
45
62
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
46
|
-
while (1)
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
63
|
+
while (1) {
|
|
64
|
+
switch (_context.prev = _context.next) {
|
|
65
|
+
case 0:
|
|
66
|
+
modelType = this.getModelType();
|
|
67
|
+
|
|
68
|
+
if (this.layerModel) {
|
|
69
|
+
this.layerModel.clearModels();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
this.layerModel = new PointModels[modelType](this);
|
|
73
|
+
_context.next = 5;
|
|
74
|
+
return this.initLayerModels();
|
|
75
|
+
|
|
76
|
+
case 5:
|
|
77
|
+
case "end":
|
|
78
|
+
return _context.stop();
|
|
79
|
+
}
|
|
58
80
|
}
|
|
59
81
|
}, _callee, this);
|
|
60
82
|
}));
|
|
83
|
+
|
|
61
84
|
function buildModels() {
|
|
62
85
|
return _buildModels.apply(this, arguments);
|
|
63
86
|
}
|
|
87
|
+
|
|
64
88
|
return buildModels;
|
|
65
89
|
}()
|
|
66
90
|
}, {
|
|
@@ -68,47 +92,60 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
68
92
|
value: function () {
|
|
69
93
|
var _rebuildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
70
94
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
71
|
-
while (1)
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
95
|
+
while (1) {
|
|
96
|
+
switch (_context2.prev = _context2.next) {
|
|
97
|
+
case 0:
|
|
98
|
+
_context2.next = 2;
|
|
99
|
+
return this.buildModels();
|
|
100
|
+
|
|
101
|
+
case 2:
|
|
102
|
+
case "end":
|
|
103
|
+
return _context2.stop();
|
|
104
|
+
}
|
|
78
105
|
}
|
|
79
106
|
}, _callee2, this);
|
|
80
107
|
}));
|
|
108
|
+
|
|
81
109
|
function rebuildModels() {
|
|
82
110
|
return _rebuildModels.apply(this, arguments);
|
|
83
111
|
}
|
|
112
|
+
|
|
84
113
|
return rebuildModels;
|
|
85
114
|
}()
|
|
86
115
|
/**
|
|
87
116
|
* 在未传入数据的时候判断点图层的 shape 类型
|
|
88
117
|
* @returns
|
|
89
118
|
*/
|
|
119
|
+
|
|
90
120
|
}, {
|
|
91
121
|
key: "getModelTypeWillEmptyData",
|
|
92
122
|
value: function getModelTypeWillEmptyData() {
|
|
93
123
|
if (this.shapeOption) {
|
|
94
124
|
var _this$shapeOption = this.shapeOption,
|
|
95
|
-
|
|
96
|
-
|
|
125
|
+
field = _this$shapeOption.field,
|
|
126
|
+
values = _this$shapeOption.values;
|
|
127
|
+
|
|
97
128
|
var _this$getLayerConfig = this.getLayerConfig(),
|
|
98
|
-
|
|
129
|
+
shape2d = _this$getLayerConfig.shape2d;
|
|
130
|
+
|
|
99
131
|
var iconMap = this.iconService.getIconMap();
|
|
132
|
+
|
|
100
133
|
if (field && (shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(field)) !== -1) {
|
|
101
134
|
return 'fill';
|
|
102
135
|
}
|
|
136
|
+
|
|
103
137
|
if (values === 'text') {
|
|
104
138
|
return 'text';
|
|
105
139
|
}
|
|
140
|
+
|
|
106
141
|
if (values && values instanceof Array) {
|
|
107
142
|
var _iterator = _createForOfIteratorHelper(values),
|
|
108
|
-
|
|
143
|
+
_step;
|
|
144
|
+
|
|
109
145
|
try {
|
|
110
146
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
111
147
|
var v = _step.value;
|
|
148
|
+
|
|
112
149
|
if (typeof v === 'string' && iconMap.hasOwnProperty(v)) {
|
|
113
150
|
return 'image';
|
|
114
151
|
}
|
|
@@ -120,6 +157,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
120
157
|
}
|
|
121
158
|
}
|
|
122
159
|
}
|
|
160
|
+
|
|
123
161
|
return 'normal';
|
|
124
162
|
}
|
|
125
163
|
}, {
|
|
@@ -153,29 +191,37 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
153
191
|
value: function getModelType() {
|
|
154
192
|
// 2D、 3d、 shape、image、text、normal、
|
|
155
193
|
var layerData = this.getEncodedData();
|
|
194
|
+
|
|
156
195
|
var _this$getLayerConfig2 = this.getLayerConfig(),
|
|
157
|
-
|
|
158
|
-
|
|
196
|
+
shape2d = _this$getLayerConfig2.shape2d,
|
|
197
|
+
shape3d = _this$getLayerConfig2.shape3d;
|
|
198
|
+
|
|
159
199
|
var iconMap = this.iconService.getIconMap();
|
|
160
200
|
var item = layerData.find(function (fe) {
|
|
161
201
|
return fe.hasOwnProperty('shape');
|
|
162
202
|
});
|
|
203
|
+
|
|
163
204
|
if (!item) {
|
|
164
205
|
return this.getModelTypeWillEmptyData();
|
|
165
206
|
} else {
|
|
166
207
|
var shape = item.shape;
|
|
208
|
+
|
|
167
209
|
if (shape === 'dot') {
|
|
168
210
|
return 'normal';
|
|
169
211
|
}
|
|
212
|
+
|
|
170
213
|
if (shape === 'simple') {
|
|
171
214
|
return 'simplePoint';
|
|
172
215
|
}
|
|
216
|
+
|
|
173
217
|
if (shape === 'radar') {
|
|
174
218
|
return 'radar';
|
|
175
219
|
}
|
|
220
|
+
|
|
176
221
|
if (this.layerType === 'fillImage') {
|
|
177
222
|
return 'fillImage';
|
|
178
223
|
}
|
|
224
|
+
|
|
179
225
|
if ((shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(shape)) !== -1) {
|
|
180
226
|
if (this.mapService.version === 'GLOBEL') {
|
|
181
227
|
return 'earthFill';
|
|
@@ -183,6 +229,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
183
229
|
return 'fill';
|
|
184
230
|
}
|
|
185
231
|
}
|
|
232
|
+
|
|
186
233
|
if ((shape3d === null || shape3d === void 0 ? void 0 : shape3d.indexOf(shape)) !== -1) {
|
|
187
234
|
if (this.mapService.version === 'GLOBEL') {
|
|
188
235
|
return 'earthExtrude';
|
|
@@ -190,13 +237,17 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
190
237
|
return 'extrude';
|
|
191
238
|
}
|
|
192
239
|
}
|
|
240
|
+
|
|
193
241
|
if (iconMap.hasOwnProperty(shape)) {
|
|
194
242
|
return 'image';
|
|
195
243
|
}
|
|
244
|
+
|
|
196
245
|
return 'text';
|
|
197
246
|
}
|
|
198
247
|
}
|
|
199
248
|
}]);
|
|
249
|
+
|
|
200
250
|
return PointLayer;
|
|
201
251
|
}(BaseLayer);
|
|
252
|
+
|
|
202
253
|
export { PointLayer as default };
|