@antv/l7-layers 2.9.27-alpha.2 → 2.9.27-alpha.3
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 +6 -2
- package/es/Geometry/models/billboard.js +1 -2
- package/es/Geometry/models/plane.js +2 -4
- package/es/Geometry/models/sprite.js +2 -4
- package/es/canvas/index.d.ts +4 -0
- package/es/canvas/index.js +38 -2
- package/es/citybuliding/building.js +6 -2
- package/es/citybuliding/models/build.js +2 -3
- package/es/core/BaseLayer.d.ts +15 -6
- package/es/core/BaseLayer.js +51 -69
- package/es/core/BaseModel.d.ts +1 -1
- package/es/core/BaseModel.js +7 -3
- package/es/core/interface.d.ts +18 -0
- package/es/core/triangulation.d.ts +6 -0
- package/es/core/triangulation.js +64 -2
- package/es/earth/index.js +3 -1
- package/es/earth/models/base.js +2 -4
- package/es/earth/shaders/atmosphere_frag.glsl +1 -1
- package/es/earth/shaders/bloomsphere_frag.glsl +1 -1
- package/es/heatmap/index.js +6 -2
- package/es/heatmap/models/heatmap.js +5 -3
- package/es/image/index.js +6 -2
- package/es/image/models/dataImage.js +4 -7
- package/es/image/models/image.js +4 -7
- package/es/line/index.d.ts +1 -0
- package/es/line/index.js +8 -2
- package/es/line/models/arc.js +6 -5
- package/es/line/models/half.js +3 -4
- package/es/line/models/line.js +9 -8
- package/es/line/models/simpleLine.js +2 -1
- package/es/line/models/simpleTileLine.d.ts +9 -0
- package/es/line/models/simpleTileLine.js +100 -0
- package/es/line/models/tile.d.ts +1 -4
- package/es/line/models/tile.js +49 -222
- package/es/line/models/wall.js +10 -46
- package/es/line/shaders/dash/arc_dash_vert.glsl +2 -0
- package/es/line/shaders/dash/line_dash_frag.glsl +1 -1
- package/es/line/shaders/line_arc2d_vert.glsl +1 -1
- package/es/line/shaders/line_arc_3d_frag.glsl +1 -1
- package/es/line/shaders/line_arc_3d_vert.glsl +3 -3
- package/es/line/shaders/line_arc_frag.glsl +1 -1
- package/es/line/shaders/line_arc_great_circle_frag.glsl +1 -1
- package/es/line/shaders/line_arc_great_circle_vert.glsl +1 -1
- package/es/line/shaders/line_arc_vert.glsl +5 -3
- package/es/line/shaders/line_bezier_vert.glsl +1 -1
- package/es/line/shaders/line_frag.glsl +1 -2
- package/es/line/shaders/line_vert.glsl +1 -1
- package/es/line/shaders/linear/arc3d_linear_frag.glsl +1 -1
- package/es/line/shaders/linear/arc3d_linear_vert.glsl +3 -3
- package/es/line/shaders/linear/arc_linear_frag.glsl +1 -1
- package/es/line/shaders/tile/line_tile_map_vert.glsl +25 -0
- package/es/line/shaders/tile/line_tile_vert.glsl +19 -177
- package/es/line/shaders/tile/simpleline_map_vert.glsl +15 -0
- package/es/line/shaders/tile/simpleline_vert.glsl +21 -0
- package/es/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +17 -21
- package/es/line/shaders/wall/wall_vert.glsl +77 -0
- package/es/mask/index.d.ts +1 -0
- package/es/mask/index.js +80 -5
- package/es/mask/models/fill.d.ts +2 -1
- package/es/mask/models/fill.js +13 -10
- package/es/mask/shaders/mask_vert.glsl +0 -6
- package/es/plugins/DataMappingPlugin.d.ts +4 -3
- package/es/plugins/DataMappingPlugin.js +129 -58
- package/es/plugins/DataSourcePlugin.js +3 -2
- package/es/plugins/FeatureScalePlugin.d.ts +0 -2
- package/es/plugins/FeatureScalePlugin.js +8 -51
- package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -2
- package/es/plugins/LayerAnimateStylePlugin.js +7 -27
- package/es/plugins/LayerModelPlugin.js +2 -6
- package/es/plugins/LightingPlugin.js +1 -7
- package/es/plugins/MultiPassRendererPlugin.d.ts +0 -1
- package/es/plugins/MultiPassRendererPlugin.js +4 -16
- package/es/plugins/PixelPickingPlugin.d.ts +1 -1
- package/es/plugins/PixelPickingPlugin.js +8 -28
- package/es/plugins/RegisterStyleAttributePlugin.d.ts +4 -0
- package/es/plugins/RegisterStyleAttributePlugin.js +56 -5
- package/es/plugins/UpdateStyleAttributePlugin.js +2 -9
- package/es/point/index.js +6 -2
- package/es/point/models/fill.js +2 -2
- package/es/point/models/fillmage.js +1 -1
- package/es/point/models/image.js +1 -1
- package/es/point/models/normal.d.ts +0 -1
- package/es/point/models/normal.js +9 -60
- package/es/point/models/radar.js +4 -69
- package/es/point/models/simplePoint.d.ts +0 -1
- package/es/point/models/simplePoint.js +2 -11
- package/es/point/models/text.js +6 -7
- package/es/point/models/tile.d.ts +0 -7
- package/es/point/models/tile.js +22 -155
- package/es/point/models/tileText.d.ts +0 -4
- package/es/point/models/tileText.js +98 -185
- package/es/point/shaders/animate/wave_frag.glsl +3 -3
- package/es/point/shaders/earth/fill_vert.glsl +0 -1
- package/es/point/shaders/fill_vert.glsl +0 -1
- package/es/point/shaders/normal_frag.glsl +1 -10
- package/es/point/shaders/normal_vert.glsl +5 -60
- package/es/point/shaders/radar/radar_frag.glsl +4 -15
- package/es/point/shaders/radar/radar_vert.glsl +4 -54
- package/es/point/shaders/tile/fill_tile_frag.glsl +10 -17
- package/es/point/shaders/tile/fill_tile_vert.glsl +20 -123
- package/es/point/shaders/tile/text_frag.glsl +33 -0
- package/es/point/shaders/tile/text_map_frag.glsl +31 -0
- package/es/point/shaders/tile/text_map_vert.glsl +38 -0
- package/es/point/shaders/tile/text_vert.glsl +48 -0
- package/es/polygon/index.js +6 -2
- package/es/polygon/models/extrude.js +1 -3
- package/es/polygon/models/fill.js +3 -4
- package/es/polygon/models/ocean.d.ts +0 -2
- package/es/polygon/models/ocean.js +13 -47
- package/es/polygon/models/tile.d.ts +1 -4
- package/es/polygon/models/tile.js +25 -57
- package/es/polygon/models/water.d.ts +0 -2
- package/es/polygon/models/water.js +13 -47
- package/es/polygon/shaders/polygon_frag.glsl +2 -2
- package/es/polygon/shaders/polygon_vert.glsl +2 -2
- package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
- package/es/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
- package/es/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
- package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
- package/es/polygon/shaders/water/polygon_water_frag.glsl +1 -3
- package/es/polygon/shaders/water/polygon_water_vert.glsl +0 -29
- package/es/raster/buffers/triangulation.js +1 -4
- package/es/raster/index.js +6 -2
- package/es/raster/models/raster.js +3 -2
- package/es/shader/minify_frag.glsl +7 -0
- package/es/shader/minify_picking_frag.glsl +10 -0
- package/es/tile/manager/baseMapTileLayerManager.d.ts +29 -0
- package/es/tile/manager/baseMapTileLayerManager.js +207 -0
- package/es/tile/manager/tileLayerManager.d.ts +2 -2
- package/es/tile/manager/tileLayerManager.js +2 -2
- package/es/tile/manager/tilePickerManager.d.ts +2 -3
- package/es/tile/manager/tilePickerManager.js +1 -2
- package/es/tile/models/tileModel.d.ts +1 -0
- package/es/tile/models/tileModel.js +18 -2
- package/es/tile/tileFactory/base.d.ts +1 -1
- package/es/tile/tileFactory/base.js +58 -33
- package/es/tile/tileFactory/line.js +3 -0
- package/es/tile/tileFactory/point.js +3 -0
- package/es/tile/tileFactory/polygon.js +3 -0
- package/es/tile/tileFactory/raster.js +3 -0
- package/es/tile/tileFactory/rasterData.js +3 -0
- package/es/tile/tileFactory/rasterDataLayer.js +6 -2
- package/es/tile/tileFactory/test.js +26 -5
- package/es/tile/tileFactory/vectorLayer.d.ts +4 -1
- package/es/tile/tileFactory/vectorLayer.js +110 -7
- package/es/tile/tileLayer/baseMapTileLayer.d.ts +29 -0
- package/es/tile/tileLayer/baseMapTileLayer.js +188 -0
- package/es/tile/tileLayer/baseTileLayer.d.ts +4 -4
- package/es/tile/tileLayer/baseTileLayer.js +46 -75
- package/es/tile/tileTest.d.ts +1 -0
- package/es/tile/tileTest.js +3 -2
- package/es/tile/tmsMapTileLayer.d.ts +9 -0
- package/es/tile/tmsMapTileLayer.js +119 -0
- package/es/tile/tmsTileLayer.d.ts +2 -0
- package/es/tile/tmsTileLayer.js +24 -2
- package/es/tile/utils.d.ts +4 -0
- package/es/tile/utils.js +30 -0
- package/es/utils/dataMappingStyle.js +3 -0
- package/es/utils/layerData.js +2 -2
- package/es/utils/updateShape.js +2 -2
- package/es/wind/index.js +6 -2
- package/es/wind/models/wind.js +8 -8
- package/es/wind/shaders/wind_vert.glsl +1 -1
- package/lib/Geometry/index.js +6 -2
- package/lib/Geometry/models/billboard.js +1 -2
- package/lib/Geometry/models/plane.js +2 -4
- package/lib/Geometry/models/sprite.js +2 -4
- package/lib/canvas/index.js +37 -2
- package/lib/citybuliding/building.js +6 -2
- package/lib/citybuliding/models/build.js +2 -3
- package/lib/core/BaseLayer.js +51 -69
- package/lib/core/BaseModel.js +7 -3
- package/lib/core/triangulation.js +66 -2
- package/lib/earth/index.js +3 -1
- package/lib/earth/models/base.js +2 -4
- package/lib/earth/shaders/atmosphere_frag.glsl +1 -1
- package/lib/earth/shaders/bloomsphere_frag.glsl +1 -1
- package/lib/heatmap/index.js +6 -2
- package/lib/heatmap/models/heatmap.js +5 -3
- package/lib/image/index.js +6 -2
- package/lib/image/models/dataImage.js +4 -7
- package/lib/image/models/image.js +4 -7
- package/lib/line/index.js +7 -2
- package/lib/line/models/arc.js +6 -5
- package/lib/line/models/half.js +3 -4
- package/lib/line/models/line.js +9 -8
- package/lib/line/models/simpleLine.js +2 -1
- package/lib/line/models/simpleTileLine.js +115 -0
- package/lib/line/models/tile.js +49 -223
- package/lib/line/models/wall.js +10 -46
- package/lib/line/shaders/dash/arc_dash_vert.glsl +2 -0
- package/lib/line/shaders/dash/line_dash_frag.glsl +1 -1
- package/lib/line/shaders/line_arc2d_vert.glsl +1 -1
- package/lib/line/shaders/line_arc_3d_frag.glsl +1 -1
- package/lib/line/shaders/line_arc_3d_vert.glsl +3 -3
- package/lib/line/shaders/line_arc_frag.glsl +1 -1
- package/lib/line/shaders/line_arc_great_circle_frag.glsl +1 -1
- package/lib/line/shaders/line_arc_great_circle_vert.glsl +1 -1
- package/lib/line/shaders/line_arc_vert.glsl +5 -3
- package/lib/line/shaders/line_bezier_vert.glsl +1 -1
- package/lib/line/shaders/line_frag.glsl +1 -2
- package/lib/line/shaders/line_vert.glsl +1 -1
- package/lib/line/shaders/linear/arc3d_linear_frag.glsl +1 -1
- package/lib/line/shaders/linear/arc3d_linear_vert.glsl +3 -3
- package/lib/line/shaders/linear/arc_linear_frag.glsl +1 -1
- package/lib/line/shaders/tile/line_tile_map_vert.glsl +25 -0
- package/lib/line/shaders/tile/line_tile_vert.glsl +19 -177
- package/lib/line/shaders/tile/simpleline_map_vert.glsl +15 -0
- package/lib/line/shaders/tile/simpleline_vert.glsl +21 -0
- package/lib/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +17 -21
- package/lib/line/shaders/wall/wall_vert.glsl +77 -0
- package/lib/mask/index.js +82 -5
- package/lib/mask/models/fill.js +14 -10
- package/lib/mask/shaders/mask_vert.glsl +0 -6
- package/lib/plugins/DataMappingPlugin.js +127 -57
- package/lib/plugins/DataSourcePlugin.js +3 -2
- package/lib/plugins/FeatureScalePlugin.js +6 -50
- package/lib/plugins/LayerAnimateStylePlugin.js +6 -29
- package/lib/plugins/LayerModelPlugin.js +2 -6
- package/lib/plugins/LightingPlugin.js +1 -7
- package/lib/plugins/MultiPassRendererPlugin.js +3 -19
- package/lib/plugins/PixelPickingPlugin.js +8 -28
- package/lib/plugins/RegisterStyleAttributePlugin.js +56 -5
- package/lib/plugins/UpdateStyleAttributePlugin.js +2 -9
- package/lib/point/index.js +6 -2
- package/lib/point/models/fill.js +2 -2
- package/lib/point/models/fillmage.js +1 -1
- package/lib/point/models/image.js +1 -1
- package/lib/point/models/normal.js +8 -59
- package/lib/point/models/radar.js +4 -69
- package/lib/point/models/simplePoint.js +1 -10
- package/lib/point/models/text.js +6 -7
- package/lib/point/models/tile.js +21 -156
- package/lib/point/models/tileText.js +97 -184
- package/lib/point/shaders/animate/wave_frag.glsl +3 -3
- package/lib/point/shaders/earth/fill_vert.glsl +0 -1
- package/lib/point/shaders/fill_vert.glsl +0 -1
- package/lib/point/shaders/normal_frag.glsl +1 -10
- package/lib/point/shaders/normal_vert.glsl +5 -60
- package/lib/point/shaders/radar/radar_frag.glsl +4 -15
- package/lib/point/shaders/radar/radar_vert.glsl +4 -54
- package/lib/point/shaders/tile/fill_tile_frag.glsl +10 -17
- package/lib/point/shaders/tile/fill_tile_vert.glsl +20 -123
- package/lib/point/shaders/tile/text_frag.glsl +33 -0
- package/lib/point/shaders/tile/text_map_frag.glsl +31 -0
- package/lib/point/shaders/tile/text_map_vert.glsl +38 -0
- package/lib/point/shaders/tile/text_vert.glsl +48 -0
- package/lib/polygon/index.js +6 -2
- package/lib/polygon/models/extrude.js +1 -3
- package/lib/polygon/models/fill.js +3 -4
- package/lib/polygon/models/ocean.js +14 -47
- package/lib/polygon/models/tile.js +24 -57
- package/lib/polygon/models/water.js +14 -47
- package/lib/polygon/shaders/polygon_frag.glsl +2 -2
- package/lib/polygon/shaders/polygon_vert.glsl +2 -2
- package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
- package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
- package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
- package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
- package/lib/polygon/shaders/water/polygon_water_frag.glsl +1 -3
- package/lib/polygon/shaders/water/polygon_water_vert.glsl +0 -29
- package/lib/raster/buffers/triangulation.js +1 -4
- package/lib/raster/index.js +6 -2
- package/lib/raster/models/raster.js +3 -2
- package/lib/shader/minify_frag.glsl +7 -0
- package/lib/shader/minify_picking_frag.glsl +10 -0
- package/lib/tile/manager/baseMapTileLayerManager.js +222 -0
- package/lib/tile/manager/tileLayerManager.js +2 -2
- package/lib/tile/manager/tilePickerManager.js +1 -2
- package/lib/tile/models/tileModel.js +19 -2
- package/lib/tile/tileFactory/base.js +60 -33
- package/lib/tile/tileFactory/line.js +3 -0
- package/lib/tile/tileFactory/point.js +3 -0
- package/lib/tile/tileFactory/polygon.js +3 -0
- package/lib/tile/tileFactory/raster.js +3 -0
- package/lib/tile/tileFactory/rasterData.js +3 -0
- package/lib/tile/tileFactory/rasterDataLayer.js +6 -2
- package/lib/tile/tileFactory/test.js +26 -5
- package/lib/tile/tileFactory/vectorLayer.js +112 -8
- package/lib/tile/tileLayer/baseMapTileLayer.js +195 -0
- package/lib/tile/tileLayer/baseTileLayer.js +46 -75
- package/lib/tile/tileTest.js +3 -2
- package/lib/tile/tmsMapTileLayer.js +136 -0
- package/lib/tile/tmsTileLayer.js +25 -2
- package/lib/tile/utils.js +38 -0
- package/lib/utils/dataMappingStyle.js +3 -0
- package/lib/utils/layerData.js +2 -2
- package/lib/utils/updateShape.js +2 -2
- package/lib/wind/index.js +6 -2
- package/lib/wind/models/wind.js +7 -7
- package/lib/wind/shaders/wind_vert.glsl +1 -1
- package/package.json +8 -7
- package/es/line/shaders/tile/line_tile_frag.glsl +0 -79
- package/es/line/shaders/wall_vert.glsl +0 -111
- package/es/mask/shaders/mask_frag.glsl +0 -7
- package/es/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
- package/lib/line/shaders/tile/line_tile_frag.glsl +0 -79
- package/lib/line/shaders/wall_vert.glsl +0 -111
- package/lib/mask/shaders/mask_frag.glsl +0 -7
- package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
|
@@ -1,36 +1,32 @@
|
|
|
1
1
|
#define Animate 0.0
|
|
2
2
|
#define LineTexture 1.0
|
|
3
3
|
|
|
4
|
-
uniform float u_opacity : 1.0;
|
|
5
|
-
uniform float u_textureBlend;
|
|
6
|
-
uniform float u_iconStepCount;
|
|
7
|
-
|
|
8
|
-
varying vec4 v_color;
|
|
9
|
-
|
|
10
4
|
// line texture
|
|
11
5
|
uniform float u_line_texture;
|
|
12
6
|
uniform sampler2D u_texture;
|
|
13
7
|
uniform vec2 u_textSize;
|
|
14
|
-
|
|
15
|
-
varying vec2 v_iconMapUV;
|
|
16
|
-
varying float v_blur;
|
|
17
|
-
|
|
18
8
|
uniform float u_linearColor: 0;
|
|
19
9
|
uniform vec4 u_sourceColor;
|
|
20
10
|
uniform vec4 u_targetColor;
|
|
11
|
+
uniform float u_opacity : 1.0;
|
|
12
|
+
uniform float u_textureBlend;
|
|
13
|
+
uniform float u_iconStepCount;
|
|
14
|
+
uniform float u_time;
|
|
15
|
+
uniform vec4 u_aimate: [ 1., 2., 1.0, 0.2 ]; // 控制运动
|
|
21
16
|
|
|
22
|
-
|
|
17
|
+
varying vec2 v_iconMapUV;
|
|
18
|
+
varying float v_blur;
|
|
19
|
+
varying float v_radio;
|
|
20
|
+
varying vec4 v_color;
|
|
21
|
+
varying vec4 v_dataset;
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
uniform vec4 u_aimate: [ 0, 2., 1.0, 0.2 ]; // 控制运动
|
|
23
|
+
#pragma include "picking"
|
|
26
24
|
|
|
27
|
-
varying mat4 styleMappingMat;
|
|
28
|
-
// [animate, duration, interval, trailLength],
|
|
29
25
|
void main() {
|
|
30
|
-
float opacity =
|
|
26
|
+
float opacity = u_opacity;
|
|
31
27
|
float animateSpeed = 0.0; // 运动速度
|
|
32
|
-
float d_distance_ratio =
|
|
33
|
-
float v =
|
|
28
|
+
float d_distance_ratio = v_dataset.r; // 当前点位距离占线总长的比例
|
|
29
|
+
float v = v_dataset.a;
|
|
34
30
|
|
|
35
31
|
if(u_linearColor == 1.0) { // 使用渐变颜色
|
|
36
32
|
gl_FragColor = mix(u_sourceColor, u_targetColor, v);
|
|
@@ -48,10 +44,10 @@ void main() {
|
|
|
48
44
|
}
|
|
49
45
|
|
|
50
46
|
if(u_line_texture == LineTexture) { // while load texture
|
|
51
|
-
float aDistance =
|
|
52
|
-
float d_texPixelLen =
|
|
47
|
+
float aDistance = v_dataset.g; // 当前顶点的距离
|
|
48
|
+
float d_texPixelLen = v_dataset.b; // 贴图的像素长度,根据地图层级缩放
|
|
53
49
|
float u = fract(mod(aDistance, d_texPixelLen)/d_texPixelLen - animateSpeed);
|
|
54
|
-
float v =
|
|
50
|
+
float v = v_dataset.a; // 线图层贴图部分的 v 坐标值
|
|
55
51
|
|
|
56
52
|
// 计算纹理间隔 start
|
|
57
53
|
float flag = 0.0;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
#define Animate 0.0
|
|
2
|
+
|
|
3
|
+
attribute float a_Miter;
|
|
4
|
+
attribute vec4 a_Color;
|
|
5
|
+
attribute vec2 a_Size;
|
|
6
|
+
attribute vec3 a_Normal;
|
|
7
|
+
attribute vec3 a_Position;
|
|
8
|
+
attribute vec2 a_iconMapUV;
|
|
9
|
+
attribute float a_Total_Distance;
|
|
10
|
+
attribute float a_Distance;
|
|
11
|
+
|
|
12
|
+
uniform mat4 u_ModelMatrix;
|
|
13
|
+
uniform mat4 u_Mvp;
|
|
14
|
+
uniform vec4 u_aimate: [ 1., 2., 1.0, 0.2 ];
|
|
15
|
+
uniform float u_icon_step: 100;
|
|
16
|
+
uniform float u_heightfixed;
|
|
17
|
+
uniform float u_linearColor: 0;
|
|
18
|
+
|
|
19
|
+
#pragma include "projection"
|
|
20
|
+
#pragma include "light"
|
|
21
|
+
#pragma include "picking"
|
|
22
|
+
|
|
23
|
+
// texV 线图层 - 贴图部分的 v 坐标(线的宽度方向)
|
|
24
|
+
varying vec2 v_iconMapUV;
|
|
25
|
+
varying vec4 v_color;
|
|
26
|
+
varying float v_blur;
|
|
27
|
+
varying float v_radio;
|
|
28
|
+
varying vec4 v_dataset;
|
|
29
|
+
|
|
30
|
+
void main() {
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
float d_distance_ratio; // 当前点位距离占线总长的比例
|
|
34
|
+
float d_texPixelLen; // 贴图的像素长度,根据地图层级缩放
|
|
35
|
+
|
|
36
|
+
v_iconMapUV = a_iconMapUV;
|
|
37
|
+
if(u_heightfixed < 1.0) { // 高度随 zoom 调整
|
|
38
|
+
d_texPixelLen = project_pixel(u_icon_step);
|
|
39
|
+
} else {
|
|
40
|
+
d_texPixelLen = u_icon_step;
|
|
41
|
+
}
|
|
42
|
+
if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) {
|
|
43
|
+
d_texPixelLen *= 10.0;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if(u_aimate.x == Animate || u_linearColor == 1.0) {
|
|
47
|
+
d_distance_ratio = a_Distance / a_Total_Distance;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
float miter = (a_Miter + 1.0)/2.0;
|
|
51
|
+
// 设置数据集的参数
|
|
52
|
+
v_dataset[0] = d_distance_ratio; // 当前点位距离占线总长的比例
|
|
53
|
+
v_dataset[1] = a_Distance; // 当前顶点的距离
|
|
54
|
+
v_dataset[2] = d_texPixelLen; // 贴图的像素长度,根据地图层级缩放
|
|
55
|
+
v_dataset[3] = miter; // 线图层贴图部分的 v 坐标值 0 - 1
|
|
56
|
+
|
|
57
|
+
vec4 project_pos = project_position(vec4(a_Position.xy, 0, 1.0));
|
|
58
|
+
|
|
59
|
+
float originSize = a_Size.x; // 固定高度
|
|
60
|
+
if(u_heightfixed < 1.0) { // 高度随 zoom 调整
|
|
61
|
+
originSize = project_float_pixel(a_Size.x);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
float wallHeight = originSize * miter;
|
|
65
|
+
float lightWeight = calc_lighting(vec4(project_pos.xy, wallHeight, 1.0));
|
|
66
|
+
|
|
67
|
+
v_blur = min(project_float_pixel(2.0) / originSize, 0.05);
|
|
68
|
+
v_color = vec4(a_Color.rgb * lightWeight, a_Color.w);
|
|
69
|
+
|
|
70
|
+
if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
|
|
71
|
+
gl_Position = u_Mvp * (vec4(project_pos.xy, wallHeight, 1.0));
|
|
72
|
+
} else {
|
|
73
|
+
gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, wallHeight, 1.0));
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
setPickingColor(a_PickingColor);
|
|
77
|
+
}
|
package/lib/mask/index.js
CHANGED
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
+
|
|
10
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
13
|
|
|
12
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -25,6 +27,14 @@ var _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
|
|
|
25
27
|
|
|
26
28
|
var _models = _interopRequireDefault(require("./models"));
|
|
27
29
|
|
|
30
|
+
var _l7Core = require("@antv/l7-core");
|
|
31
|
+
|
|
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
|
+
|
|
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); }
|
|
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
|
+
|
|
28
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); }; }
|
|
29
39
|
|
|
30
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; } }
|
|
@@ -49,25 +59,92 @@ var MaskLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
49
59
|
}
|
|
50
60
|
|
|
51
61
|
(0, _createClass2.default)(MaskLayer, [{
|
|
62
|
+
key: "init",
|
|
63
|
+
value: function init() {
|
|
64
|
+
var _this2 = this;
|
|
65
|
+
|
|
66
|
+
// 设置配置项
|
|
67
|
+
var sceneId = this.container.get(_l7Core.TYPES.SceneID);
|
|
68
|
+
this.configService.setLayerConfig(sceneId, this.id, this.rawConfig);
|
|
69
|
+
this.layerType = this.rawConfig.layerType;
|
|
70
|
+
this.rendererService = this.container.get(_l7Core.TYPES.IRendererService);
|
|
71
|
+
this.layerService = this.container.get(_l7Core.TYPES.ILayerService);
|
|
72
|
+
this.mapService = this.container.get(_l7Core.TYPES.IMapService);
|
|
73
|
+
this.cameraService = this.container.get(_l7Core.TYPES.ICameraService);
|
|
74
|
+
this.coordinateService = this.container.get(_l7Core.TYPES.ICoordinateSystemService);
|
|
75
|
+
this.shaderModuleService = this.container.get(_l7Core.TYPES.IShaderModuleService);
|
|
76
|
+
this.postProcessingPassFactory = this.container.get(_l7Core.TYPES.IFactoryPostProcessingPass);
|
|
77
|
+
this.normalPassFactory = this.container.get(_l7Core.TYPES.IFactoryNormalPass); // 图层容器服务
|
|
78
|
+
|
|
79
|
+
this.styleAttributeService = this.container.get(_l7Core.TYPES.IStyleAttributeService); // 完成样式服务注册完成前添加的属性
|
|
80
|
+
|
|
81
|
+
this.pendingStyleAttributes.forEach(function (_ref) {
|
|
82
|
+
var attributeName = _ref.attributeName,
|
|
83
|
+
attributeField = _ref.attributeField,
|
|
84
|
+
attributeValues = _ref.attributeValues,
|
|
85
|
+
updateOptions = _ref.updateOptions;
|
|
86
|
+
|
|
87
|
+
_this2.styleAttributeService.updateStyleAttribute(attributeName, {
|
|
88
|
+
// @ts-ignore
|
|
89
|
+
scale: (0, _objectSpread2.default)({
|
|
90
|
+
field: attributeField
|
|
91
|
+
}, _this2.splitValuesAndCallbackInAttribute( // @ts-ignore
|
|
92
|
+
attributeValues, // @ts-ignore
|
|
93
|
+
_this2.getLayerConfig()[attributeName]))
|
|
94
|
+
}, // @ts-ignore
|
|
95
|
+
updateOptions);
|
|
96
|
+
});
|
|
97
|
+
this.pendingStyleAttributes = []; // 获取插件集
|
|
98
|
+
|
|
99
|
+
this.plugins = this.container.getAll(_l7Core.TYPES.ILayerPlugin); // 完成插件注册,传入场景和图层容器内的服务
|
|
100
|
+
|
|
101
|
+
var _iterator = _createForOfIteratorHelper(this.plugins),
|
|
102
|
+
_step;
|
|
103
|
+
|
|
104
|
+
try {
|
|
105
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
106
|
+
var plugin = _step.value;
|
|
107
|
+
plugin.apply(this, {
|
|
108
|
+
rendererService: this.rendererService,
|
|
109
|
+
mapService: this.mapService,
|
|
110
|
+
styleAttributeService: this.styleAttributeService,
|
|
111
|
+
normalPassFactory: this.normalPassFactory,
|
|
112
|
+
postProcessingPassFactory: this.postProcessingPassFactory
|
|
113
|
+
});
|
|
114
|
+
} // 触发 init 生命周期插件
|
|
115
|
+
|
|
116
|
+
} catch (err) {
|
|
117
|
+
_iterator.e(err);
|
|
118
|
+
} finally {
|
|
119
|
+
_iterator.f();
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
this.hooks.init.call();
|
|
123
|
+
this.hooks.afterInit.call();
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
}, {
|
|
52
127
|
key: "buildModels",
|
|
53
128
|
value: function buildModels() {
|
|
54
|
-
var
|
|
129
|
+
var _this3 = this;
|
|
55
130
|
|
|
56
131
|
var shape = this.getModelType();
|
|
57
132
|
this.layerModel = new _models.default[shape](this);
|
|
58
133
|
this.layerModel.initModels(function (models) {
|
|
59
|
-
|
|
134
|
+
_this3.models = models;
|
|
60
135
|
|
|
61
|
-
|
|
136
|
+
_this3.emit('modelLoaded', null);
|
|
62
137
|
});
|
|
63
138
|
}
|
|
64
139
|
}, {
|
|
65
140
|
key: "rebuildModels",
|
|
66
141
|
value: function rebuildModels() {
|
|
67
|
-
var
|
|
142
|
+
var _this4 = this;
|
|
68
143
|
|
|
69
144
|
this.layerModel.buildModels(function (models) {
|
|
70
|
-
|
|
145
|
+
_this4.models = models;
|
|
146
|
+
|
|
147
|
+
_this4.emit('modelLoaded', null);
|
|
71
148
|
});
|
|
72
149
|
}
|
|
73
150
|
}, {
|
package/lib/mask/models/fill.js
CHANGED
|
@@ -23,6 +23,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
23
23
|
|
|
24
24
|
var _l7Core = require("@antv/l7-core");
|
|
25
25
|
|
|
26
|
+
var _l7Utils = require("@antv/l7-utils");
|
|
27
|
+
|
|
26
28
|
var _lodash = require("lodash");
|
|
27
29
|
|
|
28
30
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
@@ -33,11 +35,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
33
35
|
|
|
34
36
|
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; } }
|
|
35
37
|
|
|
36
|
-
/* babel-plugin-inline-import '
|
|
37
|
-
var mask_frag = "uniform float u_opacity;\
|
|
38
|
+
/* babel-plugin-inline-import '../../shader/minify_frag.glsl' */
|
|
39
|
+
var mask_frag = "uniform float u_opacity : 1.0;\nuniform vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n gl_FragColor.a *= u_opacity;\n}\n";
|
|
38
40
|
|
|
39
41
|
/* babel-plugin-inline-import '../shaders/mask_vert.glsl' */
|
|
40
|
-
var mask_vert = "attribute
|
|
42
|
+
var mask_vert = "attribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\n#pragma include \"projection\"\n\nvoid main() {\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n}\n\n";
|
|
41
43
|
|
|
42
44
|
var MaskModel = /*#__PURE__*/function (_BaseModel) {
|
|
43
45
|
(0, _inherits2.default)(MaskModel, _BaseModel);
|
|
@@ -54,10 +56,13 @@ var MaskModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
54
56
|
value: function getUninforms() {
|
|
55
57
|
var _ref = this.layer.getLayerConfig(),
|
|
56
58
|
_ref$opacity = _ref.opacity,
|
|
57
|
-
opacity = _ref$opacity === void 0 ? 0 : _ref$opacity
|
|
59
|
+
opacity = _ref$opacity === void 0 ? 0 : _ref$opacity,
|
|
60
|
+
_ref$color = _ref.color,
|
|
61
|
+
color = _ref$color === void 0 ? '#000' : _ref$color;
|
|
58
62
|
|
|
59
63
|
return {
|
|
60
|
-
u_opacity: (0, _lodash.isNumber)(opacity) ? opacity : 0.0
|
|
64
|
+
u_opacity: (0, _lodash.isNumber)(opacity) ? opacity : 0.0,
|
|
65
|
+
u_color: (0, _l7Utils.rgb2arr)(color)
|
|
61
66
|
};
|
|
62
67
|
}
|
|
63
68
|
}, {
|
|
@@ -95,7 +100,8 @@ var MaskModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
95
100
|
zfail: _l7Core.gl.REPLACE,
|
|
96
101
|
zpass: _l7Core.gl.REPLACE
|
|
97
102
|
}
|
|
98
|
-
}
|
|
103
|
+
},
|
|
104
|
+
pick: false
|
|
99
105
|
}).then(function (model) {
|
|
100
106
|
callbackModel([model]);
|
|
101
107
|
}).catch(function (err) {
|
|
@@ -120,10 +126,8 @@ var MaskModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
120
126
|
}, {
|
|
121
127
|
key: "clearModels",
|
|
122
128
|
value: function clearModels() {
|
|
123
|
-
var
|
|
124
|
-
|
|
125
|
-
(_this$dataTexture = this.dataTexture) === null || _this$dataTexture === void 0 ? void 0 : _this$dataTexture.destroy();
|
|
126
|
-
this.layerService.clear();
|
|
129
|
+
var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
130
|
+
refresh && this.layerService.clear();
|
|
127
131
|
}
|
|
128
132
|
}, {
|
|
129
133
|
key: "registerBuiltinAttributes",
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
attribute vec4 a_Color;
|
|
2
1
|
attribute vec3 a_Position;
|
|
3
2
|
uniform mat4 u_ModelMatrix;
|
|
4
3
|
uniform mat4 u_Mvp;
|
|
5
4
|
|
|
6
|
-
varying vec4 v_Color;
|
|
7
|
-
|
|
8
5
|
#pragma include "projection"
|
|
9
6
|
|
|
10
7
|
void main() {
|
|
11
|
-
|
|
12
|
-
v_Color = a_Color;
|
|
13
8
|
vec4 project_pos = project_position(vec4(a_Position, 1.0));
|
|
14
|
-
// gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
|
|
15
9
|
|
|
16
10
|
if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
|
|
17
11
|
gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));
|
|
@@ -33,14 +33,13 @@ var _lodash = require("lodash");
|
|
|
33
33
|
|
|
34
34
|
require("reflect-metadata");
|
|
35
35
|
|
|
36
|
-
var _dec, _dec2, _dec3,
|
|
36
|
+
var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
|
|
37
37
|
|
|
38
|
-
var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inversify.inject)(_l7Core.TYPES.
|
|
38
|
+
var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inversify.inject)(_l7Core.TYPES.IMapService), _dec3 = (0, _inversify.inject)(_l7Core.TYPES.IFontService), _dec(_class = (_class2 = /*#__PURE__*/function () {
|
|
39
39
|
function DataMappingPlugin() {
|
|
40
40
|
(0, _classCallCheck2.default)(this, DataMappingPlugin);
|
|
41
|
-
(0, _initializerDefineProperty2.default)(this, "
|
|
42
|
-
(0, _initializerDefineProperty2.default)(this, "
|
|
43
|
-
(0, _initializerDefineProperty2.default)(this, "fontService", _descriptor3, this);
|
|
41
|
+
(0, _initializerDefineProperty2.default)(this, "mapService", _descriptor, this);
|
|
42
|
+
(0, _initializerDefineProperty2.default)(this, "fontService", _descriptor2, this);
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
(0, _createClass2.default)(DataMappingPlugin, [{
|
|
@@ -63,8 +62,7 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
63
62
|
styleAttributeService: styleAttributeService
|
|
64
63
|
});
|
|
65
64
|
});
|
|
66
|
-
}
|
|
67
|
-
|
|
65
|
+
}
|
|
68
66
|
});
|
|
69
67
|
layer.hooks.beforeRenderData.tap('DataMappingPlugin', function () {
|
|
70
68
|
layer.dataState.dataMappingNeedUpdate = false;
|
|
@@ -80,8 +78,7 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
80
78
|
styleAttributeService: styleAttributeService
|
|
81
79
|
});
|
|
82
80
|
});
|
|
83
|
-
}
|
|
84
|
-
|
|
81
|
+
}
|
|
85
82
|
|
|
86
83
|
return true;
|
|
87
84
|
}); // remapping before render
|
|
@@ -112,10 +109,14 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
112
109
|
if (attributesToRemapping.length) {
|
|
113
110
|
// 过滤数据
|
|
114
111
|
if (filter !== null && filter !== void 0 && filter.needRemapping) {
|
|
115
|
-
|
|
112
|
+
var encodeData = _this.mapping(layer, attributes, filterData, undefined, bottomColor);
|
|
113
|
+
|
|
114
|
+
layer.setEncodedData(encodeData);
|
|
116
115
|
filter.needRemapping = false;
|
|
117
116
|
} else {
|
|
118
|
-
|
|
117
|
+
var _encodeData = _this.mapping(layer, attributesToRemapping, filterData, layer.getEncodedData(), bottomColor);
|
|
118
|
+
|
|
119
|
+
layer.setEncodedData(_encodeData);
|
|
119
120
|
} // 处理文本更新
|
|
120
121
|
|
|
121
122
|
|
|
@@ -141,18 +142,11 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
141
142
|
});
|
|
142
143
|
}
|
|
143
144
|
|
|
144
|
-
|
|
145
|
+
var encodeData = this.mapping(layer, attributes, filterData, undefined, bottomColor);
|
|
146
|
+
layer.setEncodedData(encodeData); // 对外暴露事件
|
|
145
147
|
|
|
146
148
|
layer.emit('dataUpdate', null);
|
|
147
149
|
}
|
|
148
|
-
}, {
|
|
149
|
-
key: "getArrowPoints",
|
|
150
|
-
value: function getArrowPoints(p1, p2) {
|
|
151
|
-
var dir = [p2[0] - p1[0], p2[1] - p1[1]];
|
|
152
|
-
var normalizeDir = (0, _l7Utils.normalize)(dir);
|
|
153
|
-
var arrowPoint = [p1[0] + normalizeDir[0] * 0.0001, p1[1] + normalizeDir[1] * 0.0001];
|
|
154
|
-
return arrowPoint;
|
|
155
|
-
}
|
|
156
150
|
}, {
|
|
157
151
|
key: "mapping",
|
|
158
152
|
value: function mapping(layer, attributes, data, predata, minimumColor) {
|
|
@@ -162,25 +156,28 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
162
156
|
_ref3$arrow = _ref3.arrow,
|
|
163
157
|
arrow = _ref3$arrow === void 0 ? {
|
|
164
158
|
enable: false
|
|
165
|
-
} : _ref3$arrow
|
|
159
|
+
} : _ref3$arrow,
|
|
160
|
+
usage = _ref3.usage;
|
|
161
|
+
|
|
162
|
+
if (usage === 'basemap') {
|
|
163
|
+
return this.mapLayerMapping(layer, attributes, data, predata);
|
|
164
|
+
}
|
|
166
165
|
|
|
166
|
+
var usedAttributes = attributes.filter(function (attribute) {
|
|
167
|
+
return attribute.scale !== undefined;
|
|
168
|
+
});
|
|
167
169
|
var mappedData = data.map(function (record, i) {
|
|
168
170
|
var preRecord = predata ? predata[i] : {};
|
|
169
171
|
var encodeRecord = (0, _objectSpread2.default)({
|
|
170
172
|
id: record._id,
|
|
171
173
|
coordinates: record.coordinates
|
|
172
174
|
}, preRecord);
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}).forEach(function (attribute) {
|
|
176
|
-
// console.log('record', record)
|
|
177
|
-
var values = _this3.applyAttributeMapping(attribute, record, minimumColor); // console.log('values', values)
|
|
178
|
-
|
|
175
|
+
usedAttributes.forEach(function (attribute) {
|
|
176
|
+
var values = _this3.applyAttributeMapping(attribute, record, minimumColor);
|
|
179
177
|
|
|
180
178
|
attribute.needRemapping = false; // TODO: 支持每个属性配置 postprocess
|
|
181
179
|
|
|
182
180
|
if (attribute.name === 'color') {
|
|
183
|
-
// console.log('attribute', attribute)
|
|
184
181
|
values = values.map(function (c) {
|
|
185
182
|
return (0, _l7Utils.rgb2arr)(c);
|
|
186
183
|
});
|
|
@@ -196,26 +193,75 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
196
193
|
|
|
197
194
|
if (arrow.enable && (encodeRecord.shape === 'line' || encodeRecord.shape === 'halfLine')) {
|
|
198
195
|
// 只有在线图层且支持配置箭头的时候进行插入顶点的处理
|
|
199
|
-
var coords = encodeRecord.coordinates;
|
|
196
|
+
var coords = encodeRecord.coordinates; // @ts-ignore
|
|
200
197
|
|
|
201
|
-
|
|
198
|
+
if (layer.arrowInsertCount < layer.encodeDataLength) {
|
|
199
|
+
// Tip: arrowInsert 的判断用于确保每一条线数据 arrow 的属性点只会被植入一次
|
|
200
|
+
var arrowPoint = _this3.getArrowPoints(coords[0], coords[1]);
|
|
202
201
|
|
|
203
|
-
|
|
202
|
+
encodeRecord.coordinates.splice(1, 0, arrowPoint, arrowPoint); // @ts-ignore
|
|
203
|
+
|
|
204
|
+
layer.arrowInsertCount++;
|
|
205
|
+
}
|
|
204
206
|
}
|
|
205
207
|
|
|
206
208
|
return encodeRecord;
|
|
207
|
-
}); //
|
|
208
|
-
// 调整数据兼容 Amap2.0
|
|
209
|
+
}); // 调整数据兼容 Amap2.0
|
|
209
210
|
|
|
210
211
|
this.adjustData2Amap2Coordinates(mappedData, layer); // 调整数据兼容 SimpleCoordinates
|
|
211
212
|
|
|
212
213
|
this.adjustData2SimpleCoordinates(mappedData);
|
|
213
214
|
return mappedData;
|
|
214
215
|
}
|
|
216
|
+
}, {
|
|
217
|
+
key: "mapLayerMapping",
|
|
218
|
+
value: function mapLayerMapping(layer, attributes, data, predata) {
|
|
219
|
+
var _this4 = this;
|
|
220
|
+
|
|
221
|
+
var usedAttributes = attributes.filter(function (attribute) {
|
|
222
|
+
return attribute.scale !== undefined;
|
|
223
|
+
});
|
|
224
|
+
var mappedData = data.map(function (record, i) {
|
|
225
|
+
var preRecord = predata ? predata[i] : {};
|
|
226
|
+
var encodeRecord = (0, _objectSpread2.default)({
|
|
227
|
+
id: record._id,
|
|
228
|
+
coordinates: record.coordinates
|
|
229
|
+
}, preRecord);
|
|
230
|
+
usedAttributes.forEach(function (attribute) {
|
|
231
|
+
var _layer$shapeOption;
|
|
232
|
+
|
|
233
|
+
if (attribute.name === 'shape' && // @ts-ignore
|
|
234
|
+
((_layer$shapeOption = layer.shapeOption) === null || _layer$shapeOption === void 0 ? void 0 : _layer$shapeOption.field) === 'simple') {
|
|
235
|
+
encodeRecord[attribute.name] = 'simple';
|
|
236
|
+
attribute.needRemapping = false;
|
|
237
|
+
} else {
|
|
238
|
+
var values = _this4.applyMapLayerAttributeMapping(attribute, record);
|
|
239
|
+
|
|
240
|
+
attribute.needRemapping = false; // @ts-ignore
|
|
241
|
+
|
|
242
|
+
encodeRecord[attribute.name] = Array.isArray(values) && values.length === 1 ? values[0] : values; // 增加对 layer/text/iconfont unicode 映射的解析
|
|
243
|
+
|
|
244
|
+
if (attribute.name === 'shape') {
|
|
245
|
+
encodeRecord.shape = _this4.fontService.getIconFontKey(encodeRecord[attribute.name]);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
|
|
250
|
+
if (encodeRecord.size === undefined) {
|
|
251
|
+
// in case not set size
|
|
252
|
+
encodeRecord.size = 1;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
return encodeRecord;
|
|
256
|
+
}); // 调整数据兼容 Amap2.0
|
|
257
|
+
|
|
258
|
+
this.adjustData2Amap2Coordinates(mappedData, layer);
|
|
259
|
+
return mappedData;
|
|
260
|
+
}
|
|
215
261
|
}, {
|
|
216
262
|
key: "adjustData2Amap2Coordinates",
|
|
217
263
|
value: function adjustData2Amap2Coordinates(mappedData, layer) {
|
|
218
|
-
var
|
|
264
|
+
var _this5 = this;
|
|
219
265
|
|
|
220
266
|
// 根据地图的类型判断是否需要对点位数据进行处理, 若是高德2.0则需要对坐标进行相对偏移
|
|
221
267
|
if (mappedData.length > 0 && this.mapService.version === _l7Maps.Version['GAODE2.x']) {
|
|
@@ -234,7 +280,7 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
234
280
|
// @ts-ignore
|
|
235
281
|
// d.coordinates = this.mapService.lngLatToCoord(d.coordinates);
|
|
236
282
|
|
|
237
|
-
d.coordinates =
|
|
283
|
+
d.coordinates = _this5.mapService.lngLatToCoordByLayer(d.coordinates, layerCenter);
|
|
238
284
|
});
|
|
239
285
|
} else {
|
|
240
286
|
// 连续的线、面数据
|
|
@@ -249,35 +295,35 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
249
295
|
// @ts-ignore
|
|
250
296
|
// d.coordinates = this.mapService.lngLatToCoords(d.coordinates);
|
|
251
297
|
|
|
252
|
-
d.coordinates =
|
|
298
|
+
d.coordinates = _this5.mapService.lngLatToCoordsByLayer(d.coordinates, layerCenter);
|
|
253
299
|
});
|
|
254
300
|
}
|
|
255
301
|
}
|
|
256
302
|
}
|
|
257
|
-
}, {
|
|
258
|
-
key: "getLayerCenter",
|
|
259
|
-
value: function getLayerCenter(layer) {
|
|
260
|
-
var source = layer.getSource();
|
|
261
|
-
return source.center;
|
|
262
|
-
}
|
|
263
303
|
}, {
|
|
264
304
|
key: "adjustData2SimpleCoordinates",
|
|
265
305
|
value: function adjustData2SimpleCoordinates(mappedData) {
|
|
266
|
-
var
|
|
306
|
+
var _this6 = this;
|
|
267
307
|
|
|
268
308
|
if (mappedData.length > 0 && this.mapService.version === _l7Maps.Version.SIMPLE) {
|
|
269
309
|
mappedData.map(function (d) {
|
|
270
310
|
if (!d.simpleCoordinate) {
|
|
271
|
-
d.coordinates =
|
|
311
|
+
d.coordinates = _this6.unProjectCoordinates(d.coordinates);
|
|
272
312
|
d.simpleCoordinate = true;
|
|
273
313
|
}
|
|
274
314
|
});
|
|
275
315
|
}
|
|
276
316
|
}
|
|
317
|
+
}, {
|
|
318
|
+
key: "getLayerCenter",
|
|
319
|
+
value: function getLayerCenter(layer) {
|
|
320
|
+
var source = layer.getSource();
|
|
321
|
+
return source.center;
|
|
322
|
+
}
|
|
277
323
|
}, {
|
|
278
324
|
key: "unProjectCoordinates",
|
|
279
325
|
value: function unProjectCoordinates(coordinates) {
|
|
280
|
-
var
|
|
326
|
+
var _this7 = this;
|
|
281
327
|
|
|
282
328
|
if (typeof coordinates[0] === 'number') {
|
|
283
329
|
return this.mapService.simpleMapCoord.unproject(coordinates);
|
|
@@ -290,7 +336,7 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
290
336
|
// @ts-ignore
|
|
291
337
|
var c1 = [];
|
|
292
338
|
coord.map(function (co) {
|
|
293
|
-
c1.push(
|
|
339
|
+
c1.push(_this7.mapService.simpleMapCoord.unproject(co));
|
|
294
340
|
}); // @ts-ignore
|
|
295
341
|
|
|
296
342
|
coords.push(c1);
|
|
@@ -302,7 +348,7 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
302
348
|
var _coords = []; // @ts-ignore
|
|
303
349
|
|
|
304
350
|
coordinates.map(function (coord) {
|
|
305
|
-
_coords.push(
|
|
351
|
+
_coords.push(_this7.mapService.simpleMapCoord.unproject(coord));
|
|
306
352
|
}); // @ts-ignore
|
|
307
353
|
|
|
308
354
|
return _coords;
|
|
@@ -328,9 +374,7 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
328
374
|
// TODO:多字段,常量
|
|
329
375
|
params.push(record[field]);
|
|
330
376
|
}
|
|
331
|
-
});
|
|
332
|
-
// console.log('attribute', attribute)
|
|
333
|
-
|
|
377
|
+
});
|
|
334
378
|
var mappingResult = attribute.mapping ? attribute.mapping(params) : [];
|
|
335
379
|
|
|
336
380
|
if (attribute.name === 'color' && !(0, _l7Utils.isColor)(mappingResult[0])) {
|
|
@@ -339,19 +383,45 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
339
383
|
|
|
340
384
|
return mappingResult; // return attribute.mapping ? attribute.mapping(params) : [];
|
|
341
385
|
}
|
|
386
|
+
}, {
|
|
387
|
+
key: "applyMapLayerAttributeMapping",
|
|
388
|
+
value: function applyMapLayerAttributeMapping(attribute, record) {
|
|
389
|
+
var _attribute$scale3;
|
|
390
|
+
|
|
391
|
+
if (!attribute.scale) {
|
|
392
|
+
return [];
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
var scalers = (attribute === null || attribute === void 0 ? void 0 : (_attribute$scale3 = attribute.scale) === null || _attribute$scale3 === void 0 ? void 0 : _attribute$scale3.scalers) || [];
|
|
396
|
+
var params = [];
|
|
397
|
+
scalers.forEach(function (_ref5) {
|
|
398
|
+
var _attribute$scale4;
|
|
399
|
+
|
|
400
|
+
var field = _ref5.field;
|
|
401
|
+
|
|
402
|
+
if (record.hasOwnProperty(field) || ((_attribute$scale4 = attribute.scale) === null || _attribute$scale4 === void 0 ? void 0 : _attribute$scale4.type) === 'variable') {
|
|
403
|
+
params.push(record[field]);
|
|
404
|
+
}
|
|
405
|
+
});
|
|
406
|
+
var mappingResult = attribute.mapping ? attribute.mapping(params) : [];
|
|
407
|
+
return mappingResult;
|
|
408
|
+
}
|
|
409
|
+
}, {
|
|
410
|
+
key: "getArrowPoints",
|
|
411
|
+
value: function getArrowPoints(p1, p2) {
|
|
412
|
+
var dir = [p2[0] - p1[0], p2[1] - p1[1]];
|
|
413
|
+
var normalizeDir = (0, _l7Utils.normalize)(dir);
|
|
414
|
+
var arrowPoint = [p1[0] + normalizeDir[0] * 0.0001, p1[1] + normalizeDir[1] * 0.0001];
|
|
415
|
+
return arrowPoint;
|
|
416
|
+
}
|
|
342
417
|
}]);
|
|
343
418
|
return DataMappingPlugin;
|
|
344
|
-
}(), (_descriptor = (0, _applyDecoratedDescriptor2.default)(_class2.prototype, "
|
|
345
|
-
configurable: true,
|
|
346
|
-
enumerable: true,
|
|
347
|
-
writable: true,
|
|
348
|
-
initializer: null
|
|
349
|
-
}), _descriptor2 = (0, _applyDecoratedDescriptor2.default)(_class2.prototype, "mapService", [_dec3], {
|
|
419
|
+
}(), (_descriptor = (0, _applyDecoratedDescriptor2.default)(_class2.prototype, "mapService", [_dec2], {
|
|
350
420
|
configurable: true,
|
|
351
421
|
enumerable: true,
|
|
352
422
|
writable: true,
|
|
353
423
|
initializer: null
|
|
354
|
-
}),
|
|
424
|
+
}), _descriptor2 = (0, _applyDecoratedDescriptor2.default)(_class2.prototype, "fontService", [_dec3], {
|
|
355
425
|
configurable: true,
|
|
356
426
|
enumerable: true,
|
|
357
427
|
writable: true,
|