@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
|
@@ -81,6 +81,9 @@ var RasterTiffTile = /*#__PURE__*/function (_TileFactory) {
|
|
|
81
81
|
});
|
|
82
82
|
this.emitEvent([layer], false);
|
|
83
83
|
(0, _utils.registerLayers)(this.parentLayer, [layer]);
|
|
84
|
+
layer.once('modelLoaded', function () {
|
|
85
|
+
tile.layerLoad();
|
|
86
|
+
});
|
|
84
87
|
return {
|
|
85
88
|
layers: [layer],
|
|
86
89
|
layerIDList: [layer.id]
|
|
@@ -58,7 +58,9 @@ var RasterTiffLayer = /*#__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 RasterTiffLayer = /*#__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
|
}, {
|
|
@@ -65,24 +65,45 @@ var TestTile = /*#__PURE__*/function (_TileFactory) {
|
|
|
65
65
|
|
|
66
66
|
var properties = features[0].properties;
|
|
67
67
|
var text = new _vectorLayer.default({
|
|
68
|
-
layerType: 'PointLayer'
|
|
68
|
+
layerType: 'PointLayer',
|
|
69
|
+
usage: 'basemap'
|
|
69
70
|
}).source([properties], {
|
|
70
71
|
parser: {
|
|
71
72
|
type: 'json',
|
|
72
73
|
x: 'textLng',
|
|
73
|
-
y: 'textLat'
|
|
74
|
+
y: 'textLat',
|
|
75
|
+
cancelExtent: true
|
|
74
76
|
}
|
|
75
|
-
}).shape('key', 'text').
|
|
77
|
+
}).shape('key', 'text').style({
|
|
78
|
+
size: 20,
|
|
79
|
+
color: '#000',
|
|
76
80
|
stroke: '#fff',
|
|
77
81
|
strokeWidth: 2
|
|
78
82
|
});
|
|
79
83
|
var line = new _vectorLayer.default({
|
|
80
|
-
layerType: 'LineLayer'
|
|
84
|
+
layerType: 'LineLayer',
|
|
85
|
+
usage: 'basemap'
|
|
81
86
|
}).source({
|
|
82
87
|
type: 'FeatureCollection',
|
|
83
88
|
features: features
|
|
84
|
-
}
|
|
89
|
+
}, {
|
|
90
|
+
parser: {
|
|
91
|
+
type: 'geojson',
|
|
92
|
+
cancelExtent: true
|
|
93
|
+
}
|
|
94
|
+
}).shape('simple').style({
|
|
95
|
+
color: '#000'
|
|
96
|
+
}); // Tip: sign tile layer
|
|
97
|
+
|
|
98
|
+
text.isTileLayer = true;
|
|
99
|
+
line.isTileLayer = true;
|
|
85
100
|
(0, _utils.registerLayers)(this.parentLayer, [line, text]);
|
|
101
|
+
text.once('modelLoaded', function () {
|
|
102
|
+
tile.layerLoad();
|
|
103
|
+
});
|
|
104
|
+
line.once('modelLoaded', function () {
|
|
105
|
+
tile.layerLoad();
|
|
106
|
+
});
|
|
86
107
|
return {
|
|
87
108
|
layers: [line, text],
|
|
88
109
|
layerIDList: [line.id, text.id]
|
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
+
|
|
10
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
13
|
|
|
12
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -21,11 +23,13 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
21
23
|
|
|
22
24
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
25
|
|
|
26
|
+
var _l7Core = require("@antv/l7-core");
|
|
27
|
+
|
|
24
28
|
var _BaseLayer2 = _interopRequireDefault(require("../../core/BaseLayer"));
|
|
25
29
|
|
|
26
30
|
var _tile = _interopRequireDefault(require("../../line/models/tile"));
|
|
27
31
|
|
|
28
|
-
var
|
|
32
|
+
var _simpleTileLine = _interopRequireDefault(require("../../line/models/simpleTileLine"));
|
|
29
33
|
|
|
30
34
|
var _tileText = _interopRequireDefault(require("../../point/models/tileText"));
|
|
31
35
|
|
|
@@ -33,6 +37,12 @@ var _tile2 = _interopRequireDefault(require("../../point/models/tile"));
|
|
|
33
37
|
|
|
34
38
|
var _tile3 = _interopRequireDefault(require("../../polygon/models/tile"));
|
|
35
39
|
|
|
40
|
+
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; } } }; }
|
|
41
|
+
|
|
42
|
+
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); }
|
|
43
|
+
|
|
44
|
+
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; }
|
|
45
|
+
|
|
36
46
|
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); }; }
|
|
37
47
|
|
|
38
48
|
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; } }
|
|
@@ -53,12 +63,102 @@ var VectorLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
53
63
|
|
|
54
64
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
55
65
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isVector", true);
|
|
56
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", _this.layerType);
|
|
66
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", _this.layerType || 'vectorLayer');
|
|
57
67
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "pickedID", null);
|
|
68
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sourceEvent", function () {
|
|
69
|
+
// Tip: vector 不支持 autoFit
|
|
70
|
+
_this.dataState.dataSourceNeedUpdate = true;
|
|
71
|
+
|
|
72
|
+
_this.reRender();
|
|
73
|
+
});
|
|
58
74
|
return _this;
|
|
59
75
|
}
|
|
60
76
|
|
|
61
77
|
(0, _createClass2.default)(VectorLayer, [{
|
|
78
|
+
key: "init",
|
|
79
|
+
value: function init() {
|
|
80
|
+
var _this2 = this;
|
|
81
|
+
|
|
82
|
+
// 设置配置项
|
|
83
|
+
var sceneId = this.container.get(_l7Core.TYPES.SceneID);
|
|
84
|
+
this.configService.setLayerConfig(sceneId, this.id, this.rawConfig);
|
|
85
|
+
this.layerType = this.rawConfig.layerType;
|
|
86
|
+
|
|
87
|
+
if (this.type === 'PointLayer') {
|
|
88
|
+
// Tip: iconService 和 fontService 只有在矢量点图层中才会被使用
|
|
89
|
+
this.iconService = this.container.get(_l7Core.TYPES.IIconService);
|
|
90
|
+
this.fontService = this.container.get(_l7Core.TYPES.IFontService);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
this.rendererService = this.container.get(_l7Core.TYPES.IRendererService);
|
|
94
|
+
this.layerService = this.container.get(_l7Core.TYPES.ILayerService);
|
|
95
|
+
this.mapService = this.container.get(_l7Core.TYPES.IMapService);
|
|
96
|
+
this.cameraService = this.container.get(_l7Core.TYPES.ICameraService);
|
|
97
|
+
this.coordinateService = this.container.get(_l7Core.TYPES.ICoordinateSystemService);
|
|
98
|
+
this.shaderModuleService = this.container.get(_l7Core.TYPES.IShaderModuleService);
|
|
99
|
+
this.postProcessingPassFactory = this.container.get(_l7Core.TYPES.IFactoryPostProcessingPass);
|
|
100
|
+
this.normalPassFactory = this.container.get(_l7Core.TYPES.IFactoryNormalPass); // 图层容器服务
|
|
101
|
+
|
|
102
|
+
this.styleAttributeService = this.container.get(_l7Core.TYPES.IStyleAttributeService); // 完成样式服务注册完成前添加的属性
|
|
103
|
+
|
|
104
|
+
this.pendingStyleAttributes.forEach(function (_ref) {
|
|
105
|
+
var attributeName = _ref.attributeName,
|
|
106
|
+
attributeField = _ref.attributeField,
|
|
107
|
+
attributeValues = _ref.attributeValues,
|
|
108
|
+
updateOptions = _ref.updateOptions;
|
|
109
|
+
|
|
110
|
+
_this2.styleAttributeService.updateStyleAttribute(attributeName, {
|
|
111
|
+
// @ts-ignore
|
|
112
|
+
scale: (0, _objectSpread2.default)({
|
|
113
|
+
field: attributeField
|
|
114
|
+
}, _this2.splitValuesAndCallbackInAttribute( // @ts-ignore
|
|
115
|
+
attributeValues, // @ts-ignore
|
|
116
|
+
_this2.getLayerConfig()[attributeName]))
|
|
117
|
+
}, // @ts-ignore
|
|
118
|
+
updateOptions);
|
|
119
|
+
});
|
|
120
|
+
this.pendingStyleAttributes = []; // 获取插件集
|
|
121
|
+
|
|
122
|
+
this.plugins = this.container.getAll(_l7Core.TYPES.ILayerPlugin); // 完成插件注册,传入场景和图层容器内的服务
|
|
123
|
+
|
|
124
|
+
var _iterator = _createForOfIteratorHelper(this.plugins),
|
|
125
|
+
_step;
|
|
126
|
+
|
|
127
|
+
try {
|
|
128
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
129
|
+
var plugin = _step.value;
|
|
130
|
+
plugin.apply(this, {
|
|
131
|
+
rendererService: this.rendererService,
|
|
132
|
+
mapService: this.mapService,
|
|
133
|
+
styleAttributeService: this.styleAttributeService,
|
|
134
|
+
normalPassFactory: this.normalPassFactory,
|
|
135
|
+
postProcessingPassFactory: this.postProcessingPassFactory
|
|
136
|
+
});
|
|
137
|
+
} // 触发 init 生命周期插件
|
|
138
|
+
|
|
139
|
+
} catch (err) {
|
|
140
|
+
_iterator.e(err);
|
|
141
|
+
} finally {
|
|
142
|
+
_iterator.f();
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
this.hooks.init.call();
|
|
146
|
+
this.hooks.afterInit.call();
|
|
147
|
+
return this;
|
|
148
|
+
}
|
|
149
|
+
}, {
|
|
150
|
+
key: "renderModels",
|
|
151
|
+
value: function renderModels(isPicking) {
|
|
152
|
+
var _this3 = this;
|
|
153
|
+
|
|
154
|
+
this.models.forEach(function (model) {
|
|
155
|
+
model.draw({
|
|
156
|
+
uniforms: _this3.layerModel.getUninforms()
|
|
157
|
+
}, isPicking);
|
|
158
|
+
});
|
|
159
|
+
return this;
|
|
160
|
+
}
|
|
161
|
+
}, {
|
|
62
162
|
key: "getPickID",
|
|
63
163
|
value: function getPickID() {
|
|
64
164
|
return this.pickedID;
|
|
@@ -71,23 +171,27 @@ var VectorLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
71
171
|
}, {
|
|
72
172
|
key: "buildModels",
|
|
73
173
|
value: function buildModels() {
|
|
74
|
-
var
|
|
174
|
+
var _this4 = this;
|
|
75
175
|
|
|
76
176
|
var model = this.getModelType();
|
|
77
177
|
this.layerModel = new model(this);
|
|
78
178
|
this.layerModel.initModels(function (models) {
|
|
79
|
-
|
|
179
|
+
_this4.models = models;
|
|
80
180
|
|
|
81
|
-
|
|
181
|
+
_this4.emit('modelLoaded', null);
|
|
182
|
+
|
|
183
|
+
_this4.layerService.throttleRenderLayers();
|
|
82
184
|
});
|
|
83
185
|
}
|
|
84
186
|
}, {
|
|
85
187
|
key: "rebuildModels",
|
|
86
188
|
value: function rebuildModels() {
|
|
87
|
-
var
|
|
189
|
+
var _this5 = this;
|
|
88
190
|
|
|
89
191
|
this.layerModel.buildModels(function (models) {
|
|
90
|
-
|
|
192
|
+
_this5.models = models;
|
|
193
|
+
|
|
194
|
+
_this5.emit('modelLoaded', null);
|
|
91
195
|
});
|
|
92
196
|
}
|
|
93
197
|
}, {
|
|
@@ -121,7 +225,7 @@ var VectorLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
121
225
|
return _tile.default;
|
|
122
226
|
|
|
123
227
|
case 'simple':
|
|
124
|
-
return
|
|
228
|
+
return _simpleTileLine.default;
|
|
125
229
|
|
|
126
230
|
default:
|
|
127
231
|
return _tile.default;
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
|
|
16
|
+
var _baseMapTileLayerManager = require("../manager/baseMapTileLayerManager");
|
|
17
|
+
|
|
18
|
+
var _lodash = require("lodash");
|
|
19
|
+
|
|
20
|
+
var BaseTileLayer = /*#__PURE__*/function () {
|
|
21
|
+
function BaseTileLayer(_ref) {
|
|
22
|
+
var _parentSource$data;
|
|
23
|
+
|
|
24
|
+
var parent = _ref.parent,
|
|
25
|
+
rendererService = _ref.rendererService,
|
|
26
|
+
mapService = _ref.mapService,
|
|
27
|
+
layerService = _ref.layerService;
|
|
28
|
+
(0, _classCallCheck2.default)(this, BaseTileLayer);
|
|
29
|
+
(0, _defineProperty2.default)(this, "type", 'baseTile');
|
|
30
|
+
(0, _defineProperty2.default)(this, "initedTileset", false);
|
|
31
|
+
(0, _defineProperty2.default)(this, "viewchange", (0, _lodash.debounce)(this.mapchange, 200));
|
|
32
|
+
var parentSource = parent.getSource();
|
|
33
|
+
|
|
34
|
+
var _ref2 = (parentSource === null || parentSource === void 0 ? void 0 : (_parentSource$data = parentSource.data) === null || _parentSource$data === void 0 ? void 0 : _parentSource$data.tilesetOptions) || {},
|
|
35
|
+
sourceLayer = _ref2.sourceLayer;
|
|
36
|
+
|
|
37
|
+
this.sourceLayer = sourceLayer;
|
|
38
|
+
this.parent = parent;
|
|
39
|
+
this.mapService = mapService;
|
|
40
|
+
this.layerService = layerService;
|
|
41
|
+
this.tileLayerManager = new _baseMapTileLayerManager.BaseMapTileLayerManager(parent, mapService, rendererService);
|
|
42
|
+
this.initTileSetManager();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 渲染瓦片的图层
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
(0, _createClass2.default)(BaseTileLayer, [{
|
|
50
|
+
key: "children",
|
|
51
|
+
get: function get() {
|
|
52
|
+
return this.tileLayerManager.children;
|
|
53
|
+
}
|
|
54
|
+
}, {
|
|
55
|
+
key: "render",
|
|
56
|
+
value: function render() {
|
|
57
|
+
if (this.tileLayerManager) {
|
|
58
|
+
this.tileLayerManager.render();
|
|
59
|
+
}
|
|
60
|
+
} // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
61
|
+
|
|
62
|
+
}, {
|
|
63
|
+
key: "tileLoaded",
|
|
64
|
+
value: function tileLoaded(tile) {//
|
|
65
|
+
}
|
|
66
|
+
}, {
|
|
67
|
+
key: "tileError",
|
|
68
|
+
value: function tileError(error) {
|
|
69
|
+
console.warn('error:', error);
|
|
70
|
+
}
|
|
71
|
+
}, {
|
|
72
|
+
key: "tileUnLoad",
|
|
73
|
+
value: function tileUnLoad(tile) {
|
|
74
|
+
this.tileLayerManager.removeChilds(tile.layerIDList, false);
|
|
75
|
+
}
|
|
76
|
+
}, {
|
|
77
|
+
key: "tileUpdate",
|
|
78
|
+
value: function tileUpdate() {
|
|
79
|
+
// Base Function
|
|
80
|
+
if (!this.tilesetManager) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (this.tilesetManager.isLoaded) {
|
|
85
|
+
// 将事件抛出,图层上可以使用瓦片
|
|
86
|
+
this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}, {
|
|
90
|
+
key: "initTileSetManager",
|
|
91
|
+
value: function initTileSetManager() {
|
|
92
|
+
var _this$tilesetManager;
|
|
93
|
+
|
|
94
|
+
var source = this.parent.getSource();
|
|
95
|
+
this.tilesetManager = source.tileset;
|
|
96
|
+
|
|
97
|
+
if (!this.initedTileset) {
|
|
98
|
+
this.bindTilesetEvent();
|
|
99
|
+
this.initedTileset = true;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
var _this$getCurrentView = this.getCurrentView(),
|
|
103
|
+
latLonBounds = _this$getCurrentView.latLonBounds,
|
|
104
|
+
zoom = _this$getCurrentView.zoom;
|
|
105
|
+
|
|
106
|
+
(_this$tilesetManager = this.tilesetManager) === null || _this$tilesetManager === void 0 ? void 0 : _this$tilesetManager.update(zoom, latLonBounds);
|
|
107
|
+
}
|
|
108
|
+
}, {
|
|
109
|
+
key: "mapchange",
|
|
110
|
+
value: function mapchange() {
|
|
111
|
+
var _this$tilesetManager2;
|
|
112
|
+
|
|
113
|
+
var _this$getCurrentView2 = this.getCurrentView(),
|
|
114
|
+
latLonBounds = _this$getCurrentView2.latLonBounds,
|
|
115
|
+
zoom = _this$getCurrentView2.zoom;
|
|
116
|
+
|
|
117
|
+
if (this.mapService.version === 'GAODE1.x') {
|
|
118
|
+
var _this$parent$getLayer = this.parent.getLayerConfig(),
|
|
119
|
+
visible = _this$parent$getLayer.visible;
|
|
120
|
+
|
|
121
|
+
if (zoom < 3 && visible) {
|
|
122
|
+
this.parent.updateLayerConfig({
|
|
123
|
+
visible: false
|
|
124
|
+
});
|
|
125
|
+
this.layerService.reRender();
|
|
126
|
+
} else if (zoom >= 3 && !visible) {
|
|
127
|
+
this.parent.updateLayerConfig({
|
|
128
|
+
visible: true
|
|
129
|
+
});
|
|
130
|
+
this.layerService.reRender();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
if (this.lastViewStates && this.lastViewStates.zoom === zoom && this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
this.lastViewStates = {
|
|
139
|
+
zoom: zoom,
|
|
140
|
+
latLonBounds: latLonBounds
|
|
141
|
+
};
|
|
142
|
+
(_this$tilesetManager2 = this.tilesetManager) === null || _this$tilesetManager2 === void 0 ? void 0 : _this$tilesetManager2.update(zoom, latLonBounds);
|
|
143
|
+
}
|
|
144
|
+
}, {
|
|
145
|
+
key: "bindTilesetEvent",
|
|
146
|
+
value: function bindTilesetEvent() {
|
|
147
|
+
var _this = this;
|
|
148
|
+
|
|
149
|
+
if (!this.tilesetManager) {
|
|
150
|
+
return;
|
|
151
|
+
} // 瓦片数据加载成功
|
|
152
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
this.tilesetManager.on('tile-loaded', function (tile) {// 将事件抛出,图层上可以监听使用
|
|
156
|
+
}); // 瓦片数据从缓存删除或被执行重新加载
|
|
157
|
+
|
|
158
|
+
this.tilesetManager.on('tile-unload', function (tile) {
|
|
159
|
+
// 将事件抛出,图层上可以监听使用
|
|
160
|
+
_this.tileUnLoad(tile);
|
|
161
|
+
}); // 瓦片数据加载失败
|
|
162
|
+
|
|
163
|
+
this.tilesetManager.on('tile-error', function (error, tile) {
|
|
164
|
+
// 将事件抛出,图层上可以监听使用
|
|
165
|
+
_this.tileError(error);
|
|
166
|
+
}); // 瓦片显隐状态更新
|
|
167
|
+
|
|
168
|
+
this.tilesetManager.on('tile-update', function () {
|
|
169
|
+
_this.tileUpdate();
|
|
170
|
+
}); // 地图视野发生改变
|
|
171
|
+
|
|
172
|
+
this.mapService.on('zoomend', function () {
|
|
173
|
+
return _this.viewchange();
|
|
174
|
+
});
|
|
175
|
+
this.mapService.on('moveend', function () {
|
|
176
|
+
return _this.viewchange();
|
|
177
|
+
});
|
|
178
|
+
} // 防抖操作
|
|
179
|
+
|
|
180
|
+
}, {
|
|
181
|
+
key: "getCurrentView",
|
|
182
|
+
value: function getCurrentView() {
|
|
183
|
+
var bounds = this.mapService.getBounds();
|
|
184
|
+
var latLonBounds = [bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1]];
|
|
185
|
+
var zoom = this.mapService.getZoom();
|
|
186
|
+
return {
|
|
187
|
+
latLonBounds: latLonBounds,
|
|
188
|
+
zoom: zoom
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
}]);
|
|
192
|
+
return BaseTileLayer;
|
|
193
|
+
}();
|
|
194
|
+
|
|
195
|
+
exports.default = BaseTileLayer;
|