@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
|
@@ -12,59 +12,66 @@ import { isFunction, isNumber, isString } from 'lodash';
|
|
|
12
12
|
function registerStyleAttribute(fieldName, layer, field, values, updateOptions) {
|
|
13
13
|
layer.updateStyleAttribute(fieldName, field, values, updateOptions);
|
|
14
14
|
}
|
|
15
|
-
|
|
16
15
|
/**
|
|
17
16
|
* 当样式发生变化时判断是否需要进行数据映射
|
|
18
17
|
* @param configToUpdate
|
|
19
18
|
* @param layer
|
|
20
19
|
*/
|
|
20
|
+
|
|
21
|
+
|
|
21
22
|
function styleDataMapping(configToUpdate, layer) {
|
|
22
23
|
// 瓦片图层不需要进行样式数据映射
|
|
23
24
|
if (layer.tileLayer || layer.isTileLayer) {
|
|
24
25
|
return;
|
|
25
26
|
}
|
|
27
|
+
|
|
26
28
|
if (configToUpdate.opacity) {
|
|
27
29
|
// 处理 style 中 opacity 属性的数据映射
|
|
28
30
|
floatStyleMapping('opacity', layer, configToUpdate.opacity);
|
|
29
31
|
}
|
|
32
|
+
|
|
30
33
|
if (configToUpdate.strokeWidth) {
|
|
31
34
|
// 处理 style 中 strokeWidth 属性的数据映射
|
|
32
|
-
|
|
33
35
|
floatStyleMapping('strokeWidth', layer, configToUpdate.strokeWidth);
|
|
34
36
|
}
|
|
37
|
+
|
|
35
38
|
if (configToUpdate.strokeOpacity) {
|
|
36
39
|
// 处理 style 中 strokeOpacity 属性的数据映射
|
|
37
40
|
floatStyleMapping('strokeOpacity', layer, configToUpdate.strokeOpacity);
|
|
38
41
|
}
|
|
42
|
+
|
|
39
43
|
if (configToUpdate.stroke) {
|
|
40
44
|
// 处理 style 中 stroke (strokeColor) 属性的数据映射
|
|
41
45
|
colorStyleMapping('stroke', layer, configToUpdate.stroke);
|
|
42
46
|
}
|
|
47
|
+
|
|
43
48
|
if (configToUpdate.offsets) {
|
|
44
49
|
// 处理 style 中 offsets 属性的数据映射
|
|
45
50
|
offsetStyleMapping('offsets', layer, configToUpdate.offsets);
|
|
46
51
|
}
|
|
52
|
+
|
|
47
53
|
if (configToUpdate.textOffset) {
|
|
48
54
|
// 处理 style 中 textOffset 属性的数据映射
|
|
49
55
|
offsetStyleMapping('textOffset', layer, configToUpdate.textOffset);
|
|
50
56
|
}
|
|
57
|
+
|
|
51
58
|
if (configToUpdate.thetaOffset) {
|
|
52
59
|
// 处理 style 中 thetaOffset 属性的数据映射
|
|
53
60
|
floatStyleMapping('thetaOffset', layer, configToUpdate.thetaOffset);
|
|
54
61
|
}
|
|
55
62
|
}
|
|
56
|
-
|
|
57
63
|
/**
|
|
58
64
|
* 根据传入参数 float 的类型和值做相应的操作
|
|
59
65
|
*/
|
|
66
|
+
|
|
67
|
+
|
|
60
68
|
function floatStyleMapping(fieldName, layer, styleFloat) {
|
|
61
69
|
if (isString(styleFloat)) {
|
|
62
70
|
// 如果传入的 styleFloat 是 string 类型,那么就认为其对应的是传入数据的字段
|
|
63
71
|
registerStyleAttribute(fieldName, layer, styleFloat, function (value) {
|
|
64
72
|
return value;
|
|
65
73
|
});
|
|
66
|
-
} else if (isNumber(styleFloat)) {
|
|
67
|
-
// 传入 number、默认值处理
|
|
74
|
+
} else if (isNumber(styleFloat)) {// 传入 number、默认值处理
|
|
68
75
|
// registerStyleAttribute(fieldName, layer, [styleFloat], undefined);
|
|
69
76
|
} else if (Array.isArray(styleFloat) && styleFloat.length === 2) {
|
|
70
77
|
// 传入的 styleFloat 是长度为 2 的数组
|
|
@@ -89,6 +96,8 @@ function floatStyleMapping(fieldName, layer, styleFloat) {
|
|
|
89
96
|
* @param layer
|
|
90
97
|
* @param styleOffsets
|
|
91
98
|
*/
|
|
99
|
+
|
|
100
|
+
|
|
92
101
|
function offsetStyleMapping(fieldName, layer, styleOffsets) {
|
|
93
102
|
if (isString(styleOffsets)) {
|
|
94
103
|
// 如果传入的 styleOffsets 是 string 类型,那么就认为其对应的是传入数据的字段
|
|
@@ -106,16 +115,16 @@ function offsetStyleMapping(fieldName, layer, styleOffsets) {
|
|
|
106
115
|
registerStyleAttribute(fieldName, layer, [0, 0], undefined);
|
|
107
116
|
}
|
|
108
117
|
}
|
|
109
|
-
|
|
110
118
|
/**
|
|
111
119
|
* 根据传入参数 stroke / color 的类型和值做相应的操作
|
|
112
120
|
* @param fieldName
|
|
113
121
|
* @param layer
|
|
114
122
|
* @param styleColor
|
|
115
123
|
*/
|
|
124
|
+
|
|
125
|
+
|
|
116
126
|
function colorStyleMapping(fieldName, layer, styleColor) {
|
|
117
|
-
if (isString(styleColor)) {
|
|
118
|
-
// 如果传入的 styleColor 是 string 类型,那么就认为其是颜色值
|
|
127
|
+
if (isString(styleColor)) {// 如果传入的 styleColor 是 string 类型,那么就认为其是颜色值
|
|
119
128
|
// registerStyleAttribute(fieldName, layer, styleColor, undefined);
|
|
120
129
|
} else if (Array.isArray(styleColor) && styleColor.length === 2) {
|
|
121
130
|
// 传入的 styleColor 是长度为 2 的数组
|
|
@@ -134,4 +143,5 @@ function colorStyleMapping(fieldName, layer, styleColor) {
|
|
|
134
143
|
registerStyleAttribute(fieldName, layer, '#fff', undefined);
|
|
135
144
|
}
|
|
136
145
|
}
|
|
146
|
+
|
|
137
147
|
export { styleDataMapping, floatStyleMapping, colorStyleMapping };
|