@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
|
@@ -10,7 +10,14 @@ import { getLayerShape, readRasterValue, registerLayers } from "../utils";
|
|
|
10
10
|
import VectorLayer from "./vectorLayer";
|
|
11
11
|
import * as turf from '@turf/helpers';
|
|
12
12
|
import union from '@turf/union';
|
|
13
|
+
import clone from '@turf/clone';
|
|
13
14
|
import polygonToLineString from '@turf/polygon-to-line';
|
|
15
|
+
var EMPTY_FEATURE_DATA = {
|
|
16
|
+
features: [],
|
|
17
|
+
featureId: null,
|
|
18
|
+
vectorTileLayer: null,
|
|
19
|
+
source: null
|
|
20
|
+
};
|
|
14
21
|
|
|
15
22
|
var TileFactory = /*#__PURE__*/function () {
|
|
16
23
|
// 用于记录图层内事件,辅助判断图层外事件逻辑
|
|
@@ -33,7 +40,8 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
33
40
|
var source = this.parentLayer.getSource();
|
|
34
41
|
this.zoomOffset = source.parser.zoomOffset || 0;
|
|
35
42
|
this.tilesetManager = source.tileset;
|
|
36
|
-
}
|
|
43
|
+
} // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
44
|
+
|
|
37
45
|
|
|
38
46
|
_createClass(TileFactory, [{
|
|
39
47
|
key: "createTile",
|
|
@@ -46,44 +54,41 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
46
54
|
}, {
|
|
47
55
|
key: "getFeatureData",
|
|
48
56
|
value: function getFeatureData(tile, initOptions) {
|
|
49
|
-
var emptyData = {
|
|
50
|
-
features: [],
|
|
51
|
-
featureId: null,
|
|
52
|
-
vectorTileLayer: null,
|
|
53
|
-
source: null
|
|
54
|
-
};
|
|
55
57
|
var sourceLayer = initOptions.sourceLayer,
|
|
56
58
|
featureId = initOptions.featureId,
|
|
57
|
-
|
|
59
|
+
_initOptions$transfor = initOptions.transforms,
|
|
60
|
+
transforms = _initOptions$transfor === void 0 ? [] : _initOptions$transfor,
|
|
58
61
|
layerType = initOptions.layerType,
|
|
59
62
|
shape = initOptions.shape;
|
|
60
63
|
|
|
61
64
|
if (!sourceLayer) {
|
|
62
|
-
return
|
|
65
|
+
return EMPTY_FEATURE_DATA;
|
|
63
66
|
}
|
|
64
67
|
|
|
65
68
|
var vectorTileLayer = tile.data.layers[sourceLayer];
|
|
66
69
|
var features = vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.features;
|
|
67
70
|
|
|
68
71
|
if (!(Array.isArray(features) && features.length > 0)) {
|
|
69
|
-
return
|
|
72
|
+
return EMPTY_FEATURE_DATA;
|
|
70
73
|
} else {
|
|
71
74
|
var geofeatures = [];
|
|
72
75
|
|
|
73
76
|
if (layerType === 'LineLayer' && shape === 'simple') {
|
|
74
77
|
features.map(function (feature) {
|
|
75
|
-
|
|
78
|
+
var cloneFeature = clone(feature);
|
|
79
|
+
|
|
80
|
+
if (cloneFeature.geometry.type === 'MultiPolygon') {
|
|
76
81
|
var _geofeatures;
|
|
77
82
|
|
|
78
83
|
// @ts-ignore
|
|
79
|
-
var linefeatures = polygonToLineString(
|
|
84
|
+
var linefeatures = polygonToLineString(cloneFeature).features;
|
|
80
85
|
|
|
81
86
|
(_geofeatures = geofeatures).push.apply(_geofeatures, _toConsumableArray(linefeatures));
|
|
82
|
-
} else if (
|
|
83
|
-
|
|
84
|
-
geofeatures.push(
|
|
87
|
+
} else if (cloneFeature.geometry.type === 'Polygon') {
|
|
88
|
+
cloneFeature.geometry.type = 'MultiLineString';
|
|
89
|
+
geofeatures.push(cloneFeature);
|
|
85
90
|
} else {
|
|
86
|
-
geofeatures.push(
|
|
91
|
+
geofeatures.push(cloneFeature);
|
|
87
92
|
}
|
|
88
93
|
});
|
|
89
94
|
} else {
|
|
@@ -96,7 +101,8 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
96
101
|
}, {
|
|
97
102
|
parser: {
|
|
98
103
|
type: 'geojson',
|
|
99
|
-
featureId: featureId
|
|
104
|
+
featureId: featureId,
|
|
105
|
+
cancelExtent: true
|
|
100
106
|
},
|
|
101
107
|
transforms: transforms
|
|
102
108
|
});
|
|
@@ -120,28 +126,43 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
120
126
|
color = initOptions.color,
|
|
121
127
|
layerType = initOptions.layerType,
|
|
122
128
|
size = initOptions.size,
|
|
123
|
-
shape = initOptions.shape
|
|
129
|
+
shape = initOptions.shape,
|
|
130
|
+
usage = initOptions.usage,
|
|
131
|
+
basemapColor = initOptions.basemapColor,
|
|
132
|
+
basemapSize = initOptions.basemapSize;
|
|
124
133
|
var FactoryTileLayer = L7Layer ? L7Layer : VectorLayer;
|
|
125
134
|
var layer = new FactoryTileLayer(_objectSpread({
|
|
126
135
|
visible: tile.isVisible,
|
|
127
136
|
tileOrigin: vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.l7TileOrigin,
|
|
128
137
|
coord: vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.l7TileCoord
|
|
129
|
-
}, this.getLayerInitOption(initOptions)));
|
|
138
|
+
}, this.getLayerInitOption(initOptions)));
|
|
139
|
+
if (layerType) layer.type = layerType; // Tip: sign tile layer
|
|
130
140
|
|
|
131
|
-
|
|
141
|
+
layer.isTileLayer = true; // vector 、raster
|
|
142
|
+
// vector layer set event
|
|
143
|
+
|
|
144
|
+
if (layer.isVector && usage !== 'basemap') {
|
|
132
145
|
this.emitEvent([layer]);
|
|
133
|
-
layer.type = layerType;
|
|
134
146
|
layer.select(true);
|
|
135
147
|
} // set source
|
|
136
148
|
|
|
137
149
|
|
|
138
|
-
layer.source(source); // set scale
|
|
139
|
-
|
|
140
|
-
this.setScale(layer); // set scale attribute field
|
|
150
|
+
layer.source(source); // set scale attribute field
|
|
141
151
|
|
|
142
152
|
this.setStyleAttributeField(layer, 'shape', shape);
|
|
143
|
-
|
|
144
|
-
|
|
153
|
+
|
|
154
|
+
if (usage !== 'basemap') {
|
|
155
|
+
// set scale
|
|
156
|
+
this.setScale(layer);
|
|
157
|
+
this.setStyleAttributeField(layer, 'color', color);
|
|
158
|
+
this.setStyleAttributeField(layer, 'size', size);
|
|
159
|
+
} else {
|
|
160
|
+
layer.style({
|
|
161
|
+
color: basemapColor,
|
|
162
|
+
size: basemapSize
|
|
163
|
+
});
|
|
164
|
+
} // set mask
|
|
165
|
+
|
|
145
166
|
|
|
146
167
|
var layers = [layer];
|
|
147
168
|
|
|
@@ -149,7 +170,12 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
149
170
|
var masklayer = new MaskLayer().source({
|
|
150
171
|
type: 'FeatureCollection',
|
|
151
172
|
features: [tile.bboxPolygon]
|
|
152
|
-
}
|
|
173
|
+
}, {
|
|
174
|
+
parser: {
|
|
175
|
+
type: 'geojson',
|
|
176
|
+
cancelExtent: true
|
|
177
|
+
}
|
|
178
|
+
});
|
|
153
179
|
layers.push(masklayer);
|
|
154
180
|
layer.addMaskLayer(masklayer);
|
|
155
181
|
} // regist layer
|
|
@@ -169,7 +195,7 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
169
195
|
value: function getDefautStyleAttributeField(layer, type) {
|
|
170
196
|
switch (type) {
|
|
171
197
|
case 'size':
|
|
172
|
-
return
|
|
198
|
+
return 1;
|
|
173
199
|
|
|
174
200
|
case 'color':
|
|
175
201
|
return '#fff';
|
|
@@ -248,8 +274,7 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
248
274
|
var tiles = this.tilesetManager.tiles.filter(function (t) {
|
|
249
275
|
return t.key === "".concat(xy[0], ",").concat(xy[1], ",").concat(z);
|
|
250
276
|
});
|
|
251
|
-
|
|
252
|
-
return tile;
|
|
277
|
+
return tiles[0];
|
|
253
278
|
}
|
|
254
279
|
}, {
|
|
255
280
|
key: "emitEvent",
|
|
@@ -268,7 +293,7 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
268
293
|
|
|
269
294
|
var tile = _this.getTile(lng, lat);
|
|
270
295
|
|
|
271
|
-
_this.getFeatureAndEmitEvent(layer, 'subLayerClick', e, isVector, tile);
|
|
296
|
+
tile && _this.getFeatureAndEmitEvent(layer, 'subLayerClick', e, isVector, tile);
|
|
272
297
|
} else {
|
|
273
298
|
_this.getFeatureAndEmitEvent(layer, 'subLayerClick', e);
|
|
274
299
|
}
|
|
@@ -283,7 +308,7 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
283
308
|
|
|
284
309
|
var tile = _this.getTile(lng, lat);
|
|
285
310
|
|
|
286
|
-
_this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
|
|
311
|
+
tile && _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
|
|
287
312
|
} else {
|
|
288
313
|
_this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e);
|
|
289
314
|
}
|
|
@@ -301,7 +326,7 @@ var TileFactory = /*#__PURE__*/function () {
|
|
|
301
326
|
|
|
302
327
|
var tile = _this.getTile(lng, lat);
|
|
303
328
|
|
|
304
|
-
_this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
|
|
329
|
+
tile && _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
|
|
305
330
|
} else {
|
|
306
331
|
_this.getFeatureAndEmitEvent(layer, 'subLayerMouseEnter', e);
|
|
307
332
|
}
|
|
@@ -67,6 +67,9 @@ var RasterTiffTile = /*#__PURE__*/function (_TileFactory) {
|
|
|
67
67
|
});
|
|
68
68
|
this.emitEvent([layer], false);
|
|
69
69
|
registerLayers(this.parentLayer, [layer]);
|
|
70
|
+
layer.once('modelLoaded', function () {
|
|
71
|
+
tile.layerLoad();
|
|
72
|
+
});
|
|
70
73
|
return {
|
|
71
74
|
layers: [layer],
|
|
72
75
|
layerIDList: [layer.id]
|
|
@@ -44,7 +44,9 @@ var RasterTiffLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
44
44
|
this.layerModel.initModels(function (models) {
|
|
45
45
|
_this2.models = models;
|
|
46
46
|
|
|
47
|
-
_this2.
|
|
47
|
+
_this2.emit('modelLoaded', null);
|
|
48
|
+
|
|
49
|
+
_this2.layerService.throttleRenderLayers();
|
|
48
50
|
});
|
|
49
51
|
}
|
|
50
52
|
}, {
|
|
@@ -53,7 +55,9 @@ var RasterTiffLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
53
55
|
var _this3 = this;
|
|
54
56
|
|
|
55
57
|
this.layerModel.buildModels(function (models) {
|
|
56
|
-
|
|
58
|
+
_this3.models = models;
|
|
59
|
+
|
|
60
|
+
_this3.emit('modelLoaded', null);
|
|
57
61
|
});
|
|
58
62
|
}
|
|
59
63
|
}, {
|
|
@@ -51,24 +51,45 @@ var TestTile = /*#__PURE__*/function (_TileFactory) {
|
|
|
51
51
|
|
|
52
52
|
var properties = features[0].properties;
|
|
53
53
|
var text = new VectorLayer({
|
|
54
|
-
layerType: 'PointLayer'
|
|
54
|
+
layerType: 'PointLayer',
|
|
55
|
+
usage: 'basemap'
|
|
55
56
|
}).source([properties], {
|
|
56
57
|
parser: {
|
|
57
58
|
type: 'json',
|
|
58
59
|
x: 'textLng',
|
|
59
|
-
y: 'textLat'
|
|
60
|
+
y: 'textLat',
|
|
61
|
+
cancelExtent: true
|
|
60
62
|
}
|
|
61
|
-
}).shape('key', 'text').
|
|
63
|
+
}).shape('key', 'text').style({
|
|
64
|
+
size: 20,
|
|
65
|
+
color: '#000',
|
|
62
66
|
stroke: '#fff',
|
|
63
67
|
strokeWidth: 2
|
|
64
68
|
});
|
|
65
69
|
var line = new VectorLayer({
|
|
66
|
-
layerType: 'LineLayer'
|
|
70
|
+
layerType: 'LineLayer',
|
|
71
|
+
usage: 'basemap'
|
|
67
72
|
}).source({
|
|
68
73
|
type: 'FeatureCollection',
|
|
69
74
|
features: features
|
|
70
|
-
}
|
|
75
|
+
}, {
|
|
76
|
+
parser: {
|
|
77
|
+
type: 'geojson',
|
|
78
|
+
cancelExtent: true
|
|
79
|
+
}
|
|
80
|
+
}).shape('simple').style({
|
|
81
|
+
color: '#000'
|
|
82
|
+
}); // Tip: sign tile layer
|
|
83
|
+
|
|
84
|
+
text.isTileLayer = true;
|
|
85
|
+
line.isTileLayer = true;
|
|
71
86
|
registerLayers(this.parentLayer, [line, text]);
|
|
87
|
+
text.once('modelLoaded', function () {
|
|
88
|
+
tile.layerLoad();
|
|
89
|
+
});
|
|
90
|
+
line.once('modelLoaded', function () {
|
|
91
|
+
tile.layerLoad();
|
|
92
|
+
});
|
|
72
93
|
return {
|
|
73
94
|
layers: [line, text],
|
|
74
95
|
layerIDList: [line.id, text.id]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import BaseLayer from '../../core/BaseLayer';
|
|
2
2
|
import { ILineLayerStyleOptions, IPointLayerStyleOptions, IPolygonLayerStyleOptions } from '../../core/interface';
|
|
3
3
|
import lineFillModel from '../../line/models/tile';
|
|
4
|
-
import lineSimpleModel from '../../line/models/
|
|
4
|
+
import lineSimpleModel from '../../line/models/simpleTileLine';
|
|
5
5
|
import pointTextModel from '../../point/models/tileText';
|
|
6
6
|
import pointFillModel from '../../point/models/tile';
|
|
7
7
|
import polygonFillModel from '../../polygon/models/tile';
|
|
@@ -9,6 +9,9 @@ export default class VectorLayer extends BaseLayer<Partial<IPolygonLayerStyleOpt
|
|
|
9
9
|
isVector: boolean;
|
|
10
10
|
type: string;
|
|
11
11
|
private pickedID;
|
|
12
|
+
init(): this;
|
|
13
|
+
renderModels(isPicking?: boolean): this;
|
|
14
|
+
protected sourceEvent: () => void;
|
|
12
15
|
getPickID(): number | null;
|
|
13
16
|
setPickID(): number | null;
|
|
14
17
|
buildModels(): void;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
1
2
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
3
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
4
|
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
@@ -6,13 +7,20 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstruct
|
|
|
6
7
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
8
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
9
|
|
|
10
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
11
|
+
|
|
12
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
13
|
+
|
|
14
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
15
|
+
|
|
9
16
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
10
17
|
|
|
11
18
|
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; } }
|
|
12
19
|
|
|
20
|
+
import { TYPES } from '@antv/l7-core';
|
|
13
21
|
import BaseLayer from "../../core/BaseLayer";
|
|
14
22
|
import lineFillModel from "../../line/models/tile";
|
|
15
|
-
import lineSimpleModel from "../../line/models/
|
|
23
|
+
import lineSimpleModel from "../../line/models/simpleTileLine";
|
|
16
24
|
import pointTextModel from "../../point/models/tileText";
|
|
17
25
|
import pointFillModel from "../../point/models/tile";
|
|
18
26
|
import polygonFillModel from "../../polygon/models/tile";
|
|
@@ -35,14 +43,105 @@ var VectorLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
35
43
|
|
|
36
44
|
_defineProperty(_assertThisInitialized(_this), "isVector", true);
|
|
37
45
|
|
|
38
|
-
_defineProperty(_assertThisInitialized(_this), "type", _this.layerType);
|
|
46
|
+
_defineProperty(_assertThisInitialized(_this), "type", _this.layerType || 'vectorLayer');
|
|
39
47
|
|
|
40
48
|
_defineProperty(_assertThisInitialized(_this), "pickedID", null);
|
|
41
49
|
|
|
50
|
+
_defineProperty(_assertThisInitialized(_this), "sourceEvent", function () {
|
|
51
|
+
// Tip: vector 不支持 autoFit
|
|
52
|
+
_this.dataState.dataSourceNeedUpdate = true;
|
|
53
|
+
|
|
54
|
+
_this.reRender();
|
|
55
|
+
});
|
|
56
|
+
|
|
42
57
|
return _this;
|
|
43
58
|
}
|
|
44
59
|
|
|
45
60
|
_createClass(VectorLayer, [{
|
|
61
|
+
key: "init",
|
|
62
|
+
value: function init() {
|
|
63
|
+
var _this2 = this;
|
|
64
|
+
|
|
65
|
+
// 设置配置项
|
|
66
|
+
var sceneId = this.container.get(TYPES.SceneID);
|
|
67
|
+
this.configService.setLayerConfig(sceneId, this.id, this.rawConfig);
|
|
68
|
+
this.layerType = this.rawConfig.layerType;
|
|
69
|
+
|
|
70
|
+
if (this.type === 'PointLayer') {
|
|
71
|
+
// Tip: iconService 和 fontService 只有在矢量点图层中才会被使用
|
|
72
|
+
this.iconService = this.container.get(TYPES.IIconService);
|
|
73
|
+
this.fontService = this.container.get(TYPES.IFontService);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
this.rendererService = this.container.get(TYPES.IRendererService);
|
|
77
|
+
this.layerService = this.container.get(TYPES.ILayerService);
|
|
78
|
+
this.mapService = this.container.get(TYPES.IMapService);
|
|
79
|
+
this.cameraService = this.container.get(TYPES.ICameraService);
|
|
80
|
+
this.coordinateService = this.container.get(TYPES.ICoordinateSystemService);
|
|
81
|
+
this.shaderModuleService = this.container.get(TYPES.IShaderModuleService);
|
|
82
|
+
this.postProcessingPassFactory = this.container.get(TYPES.IFactoryPostProcessingPass);
|
|
83
|
+
this.normalPassFactory = this.container.get(TYPES.IFactoryNormalPass); // 图层容器服务
|
|
84
|
+
|
|
85
|
+
this.styleAttributeService = this.container.get(TYPES.IStyleAttributeService); // 完成样式服务注册完成前添加的属性
|
|
86
|
+
|
|
87
|
+
this.pendingStyleAttributes.forEach(function (_ref) {
|
|
88
|
+
var attributeName = _ref.attributeName,
|
|
89
|
+
attributeField = _ref.attributeField,
|
|
90
|
+
attributeValues = _ref.attributeValues,
|
|
91
|
+
updateOptions = _ref.updateOptions;
|
|
92
|
+
|
|
93
|
+
_this2.styleAttributeService.updateStyleAttribute(attributeName, {
|
|
94
|
+
// @ts-ignore
|
|
95
|
+
scale: _objectSpread({
|
|
96
|
+
field: attributeField
|
|
97
|
+
}, _this2.splitValuesAndCallbackInAttribute( // @ts-ignore
|
|
98
|
+
attributeValues, // @ts-ignore
|
|
99
|
+
_this2.getLayerConfig()[attributeName]))
|
|
100
|
+
}, // @ts-ignore
|
|
101
|
+
updateOptions);
|
|
102
|
+
});
|
|
103
|
+
this.pendingStyleAttributes = []; // 获取插件集
|
|
104
|
+
|
|
105
|
+
this.plugins = this.container.getAll(TYPES.ILayerPlugin); // 完成插件注册,传入场景和图层容器内的服务
|
|
106
|
+
|
|
107
|
+
var _iterator = _createForOfIteratorHelper(this.plugins),
|
|
108
|
+
_step;
|
|
109
|
+
|
|
110
|
+
try {
|
|
111
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
112
|
+
var plugin = _step.value;
|
|
113
|
+
plugin.apply(this, {
|
|
114
|
+
rendererService: this.rendererService,
|
|
115
|
+
mapService: this.mapService,
|
|
116
|
+
styleAttributeService: this.styleAttributeService,
|
|
117
|
+
normalPassFactory: this.normalPassFactory,
|
|
118
|
+
postProcessingPassFactory: this.postProcessingPassFactory
|
|
119
|
+
});
|
|
120
|
+
} // 触发 init 生命周期插件
|
|
121
|
+
|
|
122
|
+
} catch (err) {
|
|
123
|
+
_iterator.e(err);
|
|
124
|
+
} finally {
|
|
125
|
+
_iterator.f();
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
this.hooks.init.call();
|
|
129
|
+
this.hooks.afterInit.call();
|
|
130
|
+
return this;
|
|
131
|
+
}
|
|
132
|
+
}, {
|
|
133
|
+
key: "renderModels",
|
|
134
|
+
value: function renderModels(isPicking) {
|
|
135
|
+
var _this3 = this;
|
|
136
|
+
|
|
137
|
+
this.models.forEach(function (model) {
|
|
138
|
+
model.draw({
|
|
139
|
+
uniforms: _this3.layerModel.getUninforms()
|
|
140
|
+
}, isPicking);
|
|
141
|
+
});
|
|
142
|
+
return this;
|
|
143
|
+
}
|
|
144
|
+
}, {
|
|
46
145
|
key: "getPickID",
|
|
47
146
|
value: function getPickID() {
|
|
48
147
|
return this.pickedID;
|
|
@@ -55,23 +154,27 @@ var VectorLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
55
154
|
}, {
|
|
56
155
|
key: "buildModels",
|
|
57
156
|
value: function buildModels() {
|
|
58
|
-
var
|
|
157
|
+
var _this4 = this;
|
|
59
158
|
|
|
60
159
|
var model = this.getModelType();
|
|
61
160
|
this.layerModel = new model(this);
|
|
62
161
|
this.layerModel.initModels(function (models) {
|
|
63
|
-
|
|
162
|
+
_this4.models = models;
|
|
64
163
|
|
|
65
|
-
|
|
164
|
+
_this4.emit('modelLoaded', null);
|
|
165
|
+
|
|
166
|
+
_this4.layerService.throttleRenderLayers();
|
|
66
167
|
});
|
|
67
168
|
}
|
|
68
169
|
}, {
|
|
69
170
|
key: "rebuildModels",
|
|
70
171
|
value: function rebuildModels() {
|
|
71
|
-
var
|
|
172
|
+
var _this5 = this;
|
|
72
173
|
|
|
73
174
|
this.layerModel.buildModels(function (models) {
|
|
74
|
-
|
|
175
|
+
_this5.models = models;
|
|
176
|
+
|
|
177
|
+
_this5.emit('modelLoaded', null);
|
|
75
178
|
});
|
|
76
179
|
}
|
|
77
180
|
}, {
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ILayer, ILayerService, IMapService, IBaseTileLayer, IBaseTileLayerManager, ITileLayerOPtions } from '@antv/l7-core';
|
|
2
|
+
import { Tile, TilesetManager } from '@antv/l7-utils';
|
|
3
|
+
export default class BaseTileLayer implements IBaseTileLayer {
|
|
4
|
+
get children(): ILayer[];
|
|
5
|
+
type: string;
|
|
6
|
+
sourceLayer: string;
|
|
7
|
+
parent: ILayer;
|
|
8
|
+
initedTileset: boolean;
|
|
9
|
+
tilesetManager: TilesetManager | undefined;
|
|
10
|
+
tileLayerManager: IBaseTileLayerManager;
|
|
11
|
+
scaleField: any;
|
|
12
|
+
private lastViewStates;
|
|
13
|
+
protected mapService: IMapService;
|
|
14
|
+
protected layerService: ILayerService;
|
|
15
|
+
constructor({ parent, rendererService, mapService, layerService, }: ITileLayerOPtions);
|
|
16
|
+
/**
|
|
17
|
+
* 渲染瓦片的图层
|
|
18
|
+
*/
|
|
19
|
+
render(): void;
|
|
20
|
+
tileLoaded(tile: Tile): void;
|
|
21
|
+
tileError(error: Error): void;
|
|
22
|
+
tileUnLoad(tile: Tile): void;
|
|
23
|
+
tileUpdate(): void;
|
|
24
|
+
private initTileSetManager;
|
|
25
|
+
private mapchange;
|
|
26
|
+
private bindTilesetEvent;
|
|
27
|
+
viewchange: import("lodash").DebouncedFunc<() => void>;
|
|
28
|
+
private getCurrentView;
|
|
29
|
+
}
|