@antv/l7-layers 2.9.27-alpha.1 → 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.d.ts +13 -0
- package/es/Geometry/index.js +20 -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 +17 -6
- package/es/core/BaseLayer.js +89 -94
- 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.d.ts +5 -0
- package/es/earth/index.js +12 -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 +19 -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 +86 -94
- package/lib/core/BaseModel.js +7 -3
- package/lib/core/triangulation.js +66 -2
- package/lib/earth/index.js +11 -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
|
@@ -5,8 +5,6 @@ uniform float u_opacity: 1.0;
|
|
|
5
5
|
|
|
6
6
|
varying vec4 v_Color;
|
|
7
7
|
varying vec2 v_uv;
|
|
8
|
-
varying mat4 styleMappingMat; // 传递从片元中传递的映射数据
|
|
9
|
-
|
|
10
8
|
|
|
11
9
|
float rand(vec2 n) { return 0.5 + 0.5 * fract(sin(dot(n.xy, vec2(12.9898, 78.233)))* 43758.5453); }
|
|
12
10
|
|
|
@@ -64,7 +62,7 @@ float calSpc() {
|
|
|
64
62
|
}
|
|
65
63
|
|
|
66
64
|
void main() {
|
|
67
|
-
float opacity =
|
|
65
|
+
float opacity = u_opacity;
|
|
68
66
|
gl_FragColor = v_Color;
|
|
69
67
|
gl_FragColor.a *= opacity;
|
|
70
68
|
|
|
@@ -7,44 +7,15 @@ uniform mat4 u_Mvp;
|
|
|
7
7
|
varying vec4 v_Color;
|
|
8
8
|
varying vec2 v_uv;
|
|
9
9
|
uniform float u_opacity: 1.0;
|
|
10
|
-
varying mat4 styleMappingMat; // 用于将在顶点着色器中计算好的样式值传递给片元
|
|
11
10
|
|
|
12
|
-
#pragma include "styleMapping"
|
|
13
|
-
#pragma include "styleMappingCalOpacity"
|
|
14
11
|
|
|
15
12
|
#pragma include "projection"
|
|
16
13
|
|
|
17
14
|
void main() {
|
|
18
15
|
v_uv = a_uv;
|
|
19
|
-
// cal style mapping - 数据纹理映射部分的计算
|
|
20
|
-
styleMappingMat = mat4(
|
|
21
|
-
0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty
|
|
22
|
-
0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA
|
|
23
|
-
0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]
|
|
24
|
-
0.0, 0.0, 0.0, 0.0
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
float rowCount = u_cellTypeLayout[0][0]; // 当前的数据纹理有几行
|
|
28
|
-
float columnCount = u_cellTypeLayout[0][1]; // 当看到数据纹理有几列
|
|
29
|
-
float columnWidth = 1.0/columnCount; // 列宽
|
|
30
|
-
float rowHeight = 1.0/rowCount; // 行高
|
|
31
|
-
float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets
|
|
32
|
-
float id = a_vertexId; // 第n个顶点
|
|
33
|
-
float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // 起始点在第几行
|
|
34
|
-
float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // 起始点在第几列
|
|
35
|
-
|
|
36
|
-
// cell 固定顺序 opacity -> strokeOpacity -> strokeWidth -> stroke ...
|
|
37
|
-
// 按顺序从 cell 中取值、若没有则自动往下取值
|
|
38
|
-
float textureOffset = 0.0; // 在 cell 中取值的偏移量
|
|
39
|
-
|
|
40
|
-
vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);
|
|
41
|
-
styleMappingMat[0][0] = opacityAndOffset.r;
|
|
42
|
-
textureOffset = opacityAndOffset.g;
|
|
43
|
-
// cal style mapping - 数据纹理映射部分的计算
|
|
44
16
|
|
|
45
17
|
v_Color = a_Color;
|
|
46
18
|
vec4 project_pos = project_position(vec4(a_Position, 1.0));
|
|
47
|
-
// gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
|
|
48
19
|
|
|
49
20
|
if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
|
|
50
21
|
gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));
|
|
@@ -11,10 +11,7 @@ var _martini = _interopRequireDefault(require("@mapbox/martini"));
|
|
|
11
11
|
|
|
12
12
|
// @ts-ignore
|
|
13
13
|
function RasterTriangulation(parserData) {
|
|
14
|
-
var
|
|
15
|
-
data = parserData.data,
|
|
16
|
-
min = parserData.min,
|
|
17
|
-
max = parserData.max,
|
|
14
|
+
var data = parserData.data,
|
|
18
15
|
width = parserData.width,
|
|
19
16
|
height = parserData.height;
|
|
20
17
|
var maxlength = Math.max(width, height);
|
package/lib/raster/index.js
CHANGED
|
@@ -58,7 +58,9 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
58
58
|
this.layerModel.initModels(function (models) {
|
|
59
59
|
_this2.models = models;
|
|
60
60
|
|
|
61
|
-
_this2.
|
|
61
|
+
_this2.emit('modelLoaded', null);
|
|
62
|
+
|
|
63
|
+
_this2.layerService.throttleRenderLayers();
|
|
62
64
|
});
|
|
63
65
|
}
|
|
64
66
|
}, {
|
|
@@ -67,7 +69,9 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
67
69
|
var _this3 = this;
|
|
68
70
|
|
|
69
71
|
this.layerModel.buildModels(function (models) {
|
|
70
|
-
|
|
72
|
+
_this3.models = models;
|
|
73
|
+
|
|
74
|
+
_this3.emit('modelLoaded', null);
|
|
71
75
|
});
|
|
72
76
|
}
|
|
73
77
|
}, {
|
|
@@ -116,7 +116,8 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
116
116
|
depth: {
|
|
117
117
|
enable: false
|
|
118
118
|
},
|
|
119
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
119
|
+
stencil: (0, _l7Utils.getMask)(mask, maskInside),
|
|
120
|
+
pick: false
|
|
120
121
|
}).then(function (model) {
|
|
121
122
|
callbackModel([model]);
|
|
122
123
|
}).catch(function (err) {
|
|
@@ -153,7 +154,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
153
154
|
type: _l7Core.gl.FLOAT
|
|
154
155
|
},
|
|
155
156
|
size: 2,
|
|
156
|
-
update: function update(feature, featureIdx, vertex
|
|
157
|
+
update: function update(feature, featureIdx, vertex) {
|
|
157
158
|
return [vertex[3], vertex[4]];
|
|
158
159
|
}
|
|
159
160
|
}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.BaseMapTileLayerManager = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
18
|
+
var _tileFactory = require("../tileFactory");
|
|
19
|
+
|
|
20
|
+
var _utils = require("../utils");
|
|
21
|
+
|
|
22
|
+
var BaseMapTileLayerManager = /*#__PURE__*/function () {
|
|
23
|
+
// only support vector layer
|
|
24
|
+
function BaseMapTileLayerManager(parent, mapService, rendererService) {
|
|
25
|
+
(0, _classCallCheck2.default)(this, BaseMapTileLayerManager);
|
|
26
|
+
this.parent = parent;
|
|
27
|
+
this.children = parent.layerChildren;
|
|
28
|
+
this.mapService = mapService;
|
|
29
|
+
this.rendererService = rendererService;
|
|
30
|
+
this.setSubLayerInitOptipn();
|
|
31
|
+
this.initTileFactory();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
(0, _createClass2.default)(BaseMapTileLayerManager, [{
|
|
35
|
+
key: "createTile",
|
|
36
|
+
value: function createTile(tile) {
|
|
37
|
+
return this.tileFactory.createTile(tile, this.initOptions);
|
|
38
|
+
}
|
|
39
|
+
}, {
|
|
40
|
+
key: "updateLayersConfig",
|
|
41
|
+
value: function updateLayersConfig(layers, key, value) {
|
|
42
|
+
layers.map(function (layer) {
|
|
43
|
+
if (key === 'mask') {
|
|
44
|
+
// Tip: 栅格瓦片生效、设置全局的 mask、瓦片被全局的 mask 影响
|
|
45
|
+
layer.style({
|
|
46
|
+
mask: value
|
|
47
|
+
});
|
|
48
|
+
} else {
|
|
49
|
+
layer.updateLayerConfig((0, _defineProperty2.default)({}, key, value));
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}, {
|
|
54
|
+
key: "addChild",
|
|
55
|
+
value: function addChild(layer) {
|
|
56
|
+
this.children.push(layer);
|
|
57
|
+
}
|
|
58
|
+
}, {
|
|
59
|
+
key: "addChilds",
|
|
60
|
+
value: function addChilds(layers) {
|
|
61
|
+
var _this$children;
|
|
62
|
+
|
|
63
|
+
(_this$children = this.children).push.apply(_this$children, (0, _toConsumableArray2.default)(layers));
|
|
64
|
+
}
|
|
65
|
+
}, {
|
|
66
|
+
key: "removeChilds",
|
|
67
|
+
value: function removeChilds(layerIDList) {
|
|
68
|
+
var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
69
|
+
var remveLayerList = [];
|
|
70
|
+
var cacheLayerList = [];
|
|
71
|
+
this.children.filter(function (child) {
|
|
72
|
+
layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
|
|
73
|
+
});
|
|
74
|
+
remveLayerList.map(function (layer) {
|
|
75
|
+
return layer.destroy(refresh);
|
|
76
|
+
});
|
|
77
|
+
this.children = cacheLayerList;
|
|
78
|
+
}
|
|
79
|
+
}, {
|
|
80
|
+
key: "removeChild",
|
|
81
|
+
value: function removeChild(layer) {
|
|
82
|
+
var layerIndex = this.children.indexOf(layer);
|
|
83
|
+
|
|
84
|
+
if (layerIndex > -1) {
|
|
85
|
+
this.children.splice(layerIndex, 1);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
layer.destroy();
|
|
89
|
+
}
|
|
90
|
+
}, {
|
|
91
|
+
key: "getChilds",
|
|
92
|
+
value: function getChilds(layerIDList) {
|
|
93
|
+
return this.children.filter(function (child) {
|
|
94
|
+
return layerIDList.includes(child.id);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}, {
|
|
98
|
+
key: "getChild",
|
|
99
|
+
value: function getChild(layerID) {
|
|
100
|
+
return this.children.filter(function (child) {
|
|
101
|
+
return child.id === layerID;
|
|
102
|
+
})[0];
|
|
103
|
+
}
|
|
104
|
+
}, {
|
|
105
|
+
key: "clearChild",
|
|
106
|
+
value: function clearChild() {
|
|
107
|
+
this.children.forEach(function (layer) {
|
|
108
|
+
layer.destroy();
|
|
109
|
+
});
|
|
110
|
+
this.children.slice(0, this.children.length);
|
|
111
|
+
}
|
|
112
|
+
}, {
|
|
113
|
+
key: "hasChild",
|
|
114
|
+
value: function hasChild(layer) {
|
|
115
|
+
return this.children.includes(layer);
|
|
116
|
+
}
|
|
117
|
+
}, {
|
|
118
|
+
key: "render",
|
|
119
|
+
value: function render() {
|
|
120
|
+
var _this = this;
|
|
121
|
+
|
|
122
|
+
this.children.filter(function (layer) {
|
|
123
|
+
return layer.inited;
|
|
124
|
+
}).filter(function (layer) {
|
|
125
|
+
return layer.isVisible();
|
|
126
|
+
}).map(function (layer) {
|
|
127
|
+
layer.hooks.beforeRenderData.call();
|
|
128
|
+
layer.hooks.beforeRender.call();
|
|
129
|
+
|
|
130
|
+
if (layer.masks.length > 0) {
|
|
131
|
+
// 清除上一次的模版缓存
|
|
132
|
+
_this.rendererService.clear({
|
|
133
|
+
stencil: 0,
|
|
134
|
+
depth: 1,
|
|
135
|
+
framebuffer: null
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
layer.masks.map(function (m) {
|
|
139
|
+
m.hooks.beforeRenderData.call();
|
|
140
|
+
m.hooks.beforeRender.call();
|
|
141
|
+
m.render();
|
|
142
|
+
m.hooks.afterRender.call();
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
layer.render();
|
|
147
|
+
layer.hooks.afterRender.call();
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}, {
|
|
151
|
+
key: "setSubLayerInitOptipn",
|
|
152
|
+
value: function setSubLayerInitOptipn() {
|
|
153
|
+
var _colorAttribute$scale, _sizeAttribute$scale;
|
|
154
|
+
|
|
155
|
+
var _ref = this.parent.getLayerConfig(),
|
|
156
|
+
_ref$zIndex = _ref.zIndex,
|
|
157
|
+
zIndex = _ref$zIndex === void 0 ? 0 : _ref$zIndex,
|
|
158
|
+
_ref$opacity = _ref.opacity,
|
|
159
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
160
|
+
_ref$mask = _ref.mask,
|
|
161
|
+
mask = _ref$mask === void 0 ? false : _ref$mask,
|
|
162
|
+
_ref$stroke = _ref.stroke,
|
|
163
|
+
stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke,
|
|
164
|
+
_ref$strokeWidth = _ref.strokeWidth,
|
|
165
|
+
strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
|
|
166
|
+
_ref$strokeOpacity = _ref.strokeOpacity,
|
|
167
|
+
strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
|
|
168
|
+
_ref$workerEnabled = _ref.workerEnabled,
|
|
169
|
+
workerEnabled = _ref$workerEnabled === void 0 ? false : _ref$workerEnabled,
|
|
170
|
+
sourceLayer = _ref.sourceLayer;
|
|
171
|
+
|
|
172
|
+
var source = this.parent.getSource();
|
|
173
|
+
var parentParserType = source.getParserType();
|
|
174
|
+
var colorAttribute = this.parent.getAttribute('color');
|
|
175
|
+
var basemapColor = (colorAttribute === null || colorAttribute === void 0 ? void 0 : (_colorAttribute$scale = colorAttribute.scale) === null || _colorAttribute$scale === void 0 ? void 0 : _colorAttribute$scale.field) || '#fff';
|
|
176
|
+
var sizeAttribute = this.parent.getAttribute('size');
|
|
177
|
+
var basemapSize = (sizeAttribute === null || sizeAttribute === void 0 ? void 0 : (_sizeAttribute$scale = sizeAttribute.scale) === null || _sizeAttribute$scale === void 0 ? void 0 : _sizeAttribute$scale.field) || 1;
|
|
178
|
+
var layerShape = (0, _utils.getLayerShape)(this.parent.type, this.parent);
|
|
179
|
+
this.initOptions = {
|
|
180
|
+
usage: 'basemap',
|
|
181
|
+
layerType: this.parent.type,
|
|
182
|
+
shape: layerShape,
|
|
183
|
+
zIndex: zIndex,
|
|
184
|
+
opacity: opacity,
|
|
185
|
+
sourceLayer: this.getSourceLayer(parentParserType, sourceLayer),
|
|
186
|
+
basemapColor: basemapColor,
|
|
187
|
+
basemapSize: basemapSize,
|
|
188
|
+
mask: (0, _utils.getMaskValue)(this.parent.type, mask),
|
|
189
|
+
stroke: stroke,
|
|
190
|
+
strokeWidth: strokeWidth,
|
|
191
|
+
strokeOpacity: strokeOpacity,
|
|
192
|
+
// worker
|
|
193
|
+
workerEnabled: workerEnabled
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
}, {
|
|
197
|
+
key: "getSourceLayer",
|
|
198
|
+
value: function getSourceLayer(parentParserType, sourceLayer) {
|
|
199
|
+
if (parentParserType === 'geojsonvt') {
|
|
200
|
+
return 'geojsonvt';
|
|
201
|
+
} else if (parentParserType === 'testTile') {
|
|
202
|
+
return 'testTile';
|
|
203
|
+
} else {
|
|
204
|
+
return sourceLayer;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}, {
|
|
208
|
+
key: "initTileFactory",
|
|
209
|
+
value: function initTileFactory() {
|
|
210
|
+
var source = this.parent.getSource();
|
|
211
|
+
var TileFactory = (0, _tileFactory.getTileFactory)(this.parent.type, source.parser);
|
|
212
|
+
this.tileFactory = new TileFactory({
|
|
213
|
+
parent: this.parent,
|
|
214
|
+
mapService: this.mapService,
|
|
215
|
+
rendererService: this.rendererService
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}]);
|
|
219
|
+
return BaseMapTileLayerManager;
|
|
220
|
+
}();
|
|
221
|
+
|
|
222
|
+
exports.BaseMapTileLayerManager = BaseMapTileLayerManager;
|
|
@@ -26,14 +26,14 @@ var _tileConfigManager = _interopRequireDefault(require("./tileConfigManager"));
|
|
|
26
26
|
var _tilePickerManager = _interopRequireDefault(require("./tilePickerManager"));
|
|
27
27
|
|
|
28
28
|
var TileLayerManager = /*#__PURE__*/function () {
|
|
29
|
-
function TileLayerManager(parent, mapService, rendererService, pickingService,
|
|
29
|
+
function TileLayerManager(parent, mapService, rendererService, pickingService, transforms) {
|
|
30
30
|
(0, _classCallCheck2.default)(this, TileLayerManager);
|
|
31
31
|
this.parent = parent;
|
|
32
32
|
this.children = parent.layerChildren;
|
|
33
33
|
this.mapService = mapService;
|
|
34
34
|
this.rendererService = rendererService;
|
|
35
35
|
this.transforms = transforms;
|
|
36
|
-
this.tilePickManager = new _tilePickerManager.default(parent, rendererService, pickingService, this.children
|
|
36
|
+
this.tilePickManager = new _tilePickerManager.default(parent, rendererService, pickingService, this.children);
|
|
37
37
|
this.tileConfigManager = new _tileConfigManager.default();
|
|
38
38
|
this.setSubLayerInitOptipn();
|
|
39
39
|
this.setConfigListener();
|
|
@@ -32,7 +32,7 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
|
|
|
32
32
|
|
|
33
33
|
var _super = _createSuper(TilePickManager);
|
|
34
34
|
|
|
35
|
-
function TilePickManager(parent, rendererService, pickingService, children
|
|
35
|
+
function TilePickManager(parent, rendererService, pickingService, children) {
|
|
36
36
|
var _this;
|
|
37
37
|
|
|
38
38
|
(0, _classCallCheck2.default)(this, TilePickManager);
|
|
@@ -41,7 +41,6 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
|
|
|
41
41
|
_this.parent = parent;
|
|
42
42
|
_this.rendererService = rendererService;
|
|
43
43
|
_this.pickingService = pickingService;
|
|
44
|
-
_this.layerService = layerService;
|
|
45
44
|
_this.children = children;
|
|
46
45
|
return _this;
|
|
47
46
|
}
|
|
@@ -21,6 +21,8 @@ var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
|
21
21
|
|
|
22
22
|
var _tmsTileLayer = require("../tmsTileLayer");
|
|
23
23
|
|
|
24
|
+
var _tmsMapTileLayer = require("../tmsMapTileLayer");
|
|
25
|
+
|
|
24
26
|
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); }; }
|
|
25
27
|
|
|
26
28
|
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; } }
|
|
@@ -40,13 +42,28 @@ var TileModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
40
42
|
value: function getUninforms() {
|
|
41
43
|
return {};
|
|
42
44
|
}
|
|
45
|
+
}, {
|
|
46
|
+
key: "getTileLayer",
|
|
47
|
+
value: function getTileLayer(usage) {
|
|
48
|
+
switch (usage) {
|
|
49
|
+
case 'basemap':
|
|
50
|
+
return _tmsMapTileLayer.TMSBaseMapTileLayer;
|
|
51
|
+
|
|
52
|
+
default:
|
|
53
|
+
return _tmsTileLayer.TMSTileLayer;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
43
56
|
}, {
|
|
44
57
|
key: "initModels",
|
|
45
58
|
value: function initModels() {
|
|
46
59
|
var source = this.layer.getSource();
|
|
47
60
|
|
|
48
|
-
|
|
49
|
-
|
|
61
|
+
var _this$layer$getLayerC = this.layer.getLayerConfig(),
|
|
62
|
+
usage = _this$layer$getLayerC.usage;
|
|
63
|
+
|
|
64
|
+
if (source !== null && source !== void 0 && source.data.isTile && !this.layer.tileLayer) {
|
|
65
|
+
var tileLayer = this.getTileLayer(usage);
|
|
66
|
+
this.layer.tileLayer = new tileLayer({
|
|
50
67
|
parent: this.layer,
|
|
51
68
|
rendererService: this.rendererService,
|
|
52
69
|
mapService: this.mapService,
|
|
@@ -33,12 +33,21 @@ var turf = _interopRequireWildcard(require("@turf/helpers"));
|
|
|
33
33
|
|
|
34
34
|
var _union = _interopRequireDefault(require("@turf/union"));
|
|
35
35
|
|
|
36
|
+
var _clone = _interopRequireDefault(require("@turf/clone"));
|
|
37
|
+
|
|
36
38
|
var _polygonToLine = _interopRequireDefault(require("@turf/polygon-to-line"));
|
|
37
39
|
|
|
38
40
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
41
|
|
|
40
42
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
41
43
|
|
|
44
|
+
var EMPTY_FEATURE_DATA = {
|
|
45
|
+
features: [],
|
|
46
|
+
featureId: null,
|
|
47
|
+
vectorTileLayer: null,
|
|
48
|
+
source: null
|
|
49
|
+
};
|
|
50
|
+
|
|
42
51
|
var TileFactory = /*#__PURE__*/function () {
|
|
43
52
|
// 用于记录图层内事件,辅助判断图层外事件逻辑
|
|
44
53
|
function TileFactory(option) {
|
|
@@ -57,7 +66,8 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
57
66
|
var source = this.parentLayer.getSource();
|
|
58
67
|
this.zoomOffset = source.parser.zoomOffset || 0;
|
|
59
68
|
this.tilesetManager = source.tileset;
|
|
60
|
-
}
|
|
69
|
+
} // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
70
|
+
|
|
61
71
|
|
|
62
72
|
(0, _createClass2.default)(TileFactory, [{
|
|
63
73
|
key: "createTile",
|
|
@@ -70,44 +80,41 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
70
80
|
}, {
|
|
71
81
|
key: "getFeatureData",
|
|
72
82
|
value: function getFeatureData(tile, initOptions) {
|
|
73
|
-
var emptyData = {
|
|
74
|
-
features: [],
|
|
75
|
-
featureId: null,
|
|
76
|
-
vectorTileLayer: null,
|
|
77
|
-
source: null
|
|
78
|
-
};
|
|
79
83
|
var sourceLayer = initOptions.sourceLayer,
|
|
80
84
|
featureId = initOptions.featureId,
|
|
81
|
-
|
|
85
|
+
_initOptions$transfor = initOptions.transforms,
|
|
86
|
+
transforms = _initOptions$transfor === void 0 ? [] : _initOptions$transfor,
|
|
82
87
|
layerType = initOptions.layerType,
|
|
83
88
|
shape = initOptions.shape;
|
|
84
89
|
|
|
85
90
|
if (!sourceLayer) {
|
|
86
|
-
return
|
|
91
|
+
return EMPTY_FEATURE_DATA;
|
|
87
92
|
}
|
|
88
93
|
|
|
89
94
|
var vectorTileLayer = tile.data.layers[sourceLayer];
|
|
90
95
|
var features = vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.features;
|
|
91
96
|
|
|
92
97
|
if (!(Array.isArray(features) && features.length > 0)) {
|
|
93
|
-
return
|
|
98
|
+
return EMPTY_FEATURE_DATA;
|
|
94
99
|
} else {
|
|
95
100
|
var geofeatures = [];
|
|
96
101
|
|
|
97
102
|
if (layerType === 'LineLayer' && shape === 'simple') {
|
|
98
103
|
features.map(function (feature) {
|
|
99
|
-
|
|
104
|
+
var cloneFeature = (0, _clone.default)(feature);
|
|
105
|
+
|
|
106
|
+
if (cloneFeature.geometry.type === 'MultiPolygon') {
|
|
100
107
|
var _geofeatures;
|
|
101
108
|
|
|
102
109
|
// @ts-ignore
|
|
103
|
-
var linefeatures = (0, _polygonToLine.default)(
|
|
110
|
+
var linefeatures = (0, _polygonToLine.default)(cloneFeature).features;
|
|
104
111
|
|
|
105
112
|
(_geofeatures = geofeatures).push.apply(_geofeatures, (0, _toConsumableArray2.default)(linefeatures));
|
|
106
|
-
} else if (
|
|
107
|
-
|
|
108
|
-
geofeatures.push(
|
|
113
|
+
} else if (cloneFeature.geometry.type === 'Polygon') {
|
|
114
|
+
cloneFeature.geometry.type = 'MultiLineString';
|
|
115
|
+
geofeatures.push(cloneFeature);
|
|
109
116
|
} else {
|
|
110
|
-
geofeatures.push(
|
|
117
|
+
geofeatures.push(cloneFeature);
|
|
111
118
|
}
|
|
112
119
|
});
|
|
113
120
|
} else {
|
|
@@ -120,7 +127,8 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
120
127
|
}, {
|
|
121
128
|
parser: {
|
|
122
129
|
type: 'geojson',
|
|
123
|
-
featureId: featureId
|
|
130
|
+
featureId: featureId,
|
|
131
|
+
cancelExtent: true
|
|
124
132
|
},
|
|
125
133
|
transforms: transforms
|
|
126
134
|
});
|
|
@@ -144,28 +152,43 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
144
152
|
color = initOptions.color,
|
|
145
153
|
layerType = initOptions.layerType,
|
|
146
154
|
size = initOptions.size,
|
|
147
|
-
shape = initOptions.shape
|
|
155
|
+
shape = initOptions.shape,
|
|
156
|
+
usage = initOptions.usage,
|
|
157
|
+
basemapColor = initOptions.basemapColor,
|
|
158
|
+
basemapSize = initOptions.basemapSize;
|
|
148
159
|
var FactoryTileLayer = L7Layer ? L7Layer : _vectorLayer.default;
|
|
149
160
|
var layer = new FactoryTileLayer((0, _objectSpread2.default)({
|
|
150
161
|
visible: tile.isVisible,
|
|
151
162
|
tileOrigin: vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.l7TileOrigin,
|
|
152
163
|
coord: vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.l7TileCoord
|
|
153
|
-
}, this.getLayerInitOption(initOptions)));
|
|
164
|
+
}, this.getLayerInitOption(initOptions)));
|
|
165
|
+
if (layerType) layer.type = layerType; // Tip: sign tile layer
|
|
166
|
+
|
|
167
|
+
layer.isTileLayer = true; // vector 、raster
|
|
168
|
+
// vector layer set event
|
|
154
169
|
|
|
155
|
-
if (layer.isVector) {
|
|
170
|
+
if (layer.isVector && usage !== 'basemap') {
|
|
156
171
|
this.emitEvent([layer]);
|
|
157
|
-
layer.type = layerType;
|
|
158
172
|
layer.select(true);
|
|
159
173
|
} // set source
|
|
160
174
|
|
|
161
175
|
|
|
162
|
-
layer.source(source); // set scale
|
|
163
|
-
|
|
164
|
-
this.setScale(layer); // set scale attribute field
|
|
176
|
+
layer.source(source); // set scale attribute field
|
|
165
177
|
|
|
166
178
|
this.setStyleAttributeField(layer, 'shape', shape);
|
|
167
|
-
|
|
168
|
-
|
|
179
|
+
|
|
180
|
+
if (usage !== 'basemap') {
|
|
181
|
+
// set scale
|
|
182
|
+
this.setScale(layer);
|
|
183
|
+
this.setStyleAttributeField(layer, 'color', color);
|
|
184
|
+
this.setStyleAttributeField(layer, 'size', size);
|
|
185
|
+
} else {
|
|
186
|
+
layer.style({
|
|
187
|
+
color: basemapColor,
|
|
188
|
+
size: basemapSize
|
|
189
|
+
});
|
|
190
|
+
} // set mask
|
|
191
|
+
|
|
169
192
|
|
|
170
193
|
var layers = [layer];
|
|
171
194
|
|
|
@@ -173,7 +196,12 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
173
196
|
var masklayer = new _mask.default().source({
|
|
174
197
|
type: 'FeatureCollection',
|
|
175
198
|
features: [tile.bboxPolygon]
|
|
176
|
-
}
|
|
199
|
+
}, {
|
|
200
|
+
parser: {
|
|
201
|
+
type: 'geojson',
|
|
202
|
+
cancelExtent: true
|
|
203
|
+
}
|
|
204
|
+
});
|
|
177
205
|
layers.push(masklayer);
|
|
178
206
|
layer.addMaskLayer(masklayer);
|
|
179
207
|
} // regist layer
|
|
@@ -193,7 +221,7 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
193
221
|
value: function getDefautStyleAttributeField(layer, type) {
|
|
194
222
|
switch (type) {
|
|
195
223
|
case 'size':
|
|
196
|
-
return
|
|
224
|
+
return 1;
|
|
197
225
|
|
|
198
226
|
case 'color':
|
|
199
227
|
return '#fff';
|
|
@@ -272,8 +300,7 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
272
300
|
var tiles = this.tilesetManager.tiles.filter(function (t) {
|
|
273
301
|
return t.key === "".concat(xy[0], ",").concat(xy[1], ",").concat(z);
|
|
274
302
|
});
|
|
275
|
-
|
|
276
|
-
return tile;
|
|
303
|
+
return tiles[0];
|
|
277
304
|
}
|
|
278
305
|
}, {
|
|
279
306
|
key: "emitEvent",
|
|
@@ -292,7 +319,7 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
292
319
|
|
|
293
320
|
var tile = _this.getTile(lng, lat);
|
|
294
321
|
|
|
295
|
-
_this.getFeatureAndEmitEvent(layer, 'subLayerClick', e, isVector, tile);
|
|
322
|
+
tile && _this.getFeatureAndEmitEvent(layer, 'subLayerClick', e, isVector, tile);
|
|
296
323
|
} else {
|
|
297
324
|
_this.getFeatureAndEmitEvent(layer, 'subLayerClick', e);
|
|
298
325
|
}
|
|
@@ -307,7 +334,7 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
307
334
|
|
|
308
335
|
var tile = _this.getTile(lng, lat);
|
|
309
336
|
|
|
310
|
-
_this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
|
|
337
|
+
tile && _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
|
|
311
338
|
} else {
|
|
312
339
|
_this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e);
|
|
313
340
|
}
|
|
@@ -325,7 +352,7 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
325
352
|
|
|
326
353
|
var tile = _this.getTile(lng, lat);
|
|
327
354
|
|
|
328
|
-
_this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
|
|
355
|
+
tile && _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
|
|
329
356
|
} else {
|
|
330
357
|
_this.getFeatureAndEmitEvent(layer, 'subLayerMouseEnter', e);
|
|
331
358
|
}
|