@antv/l7-layers 2.10.1 → 2.10.2
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 +2 -3
- package/es/Geometry/index.js +27 -17
- package/es/Geometry/models/billboard.d.ts +2 -2
- package/es/Geometry/models/billboard.js +77 -37
- package/es/Geometry/models/plane.d.ts +2 -2
- package/es/Geometry/models/plane.js +80 -40
- package/es/Geometry/models/sprite.d.ts +2 -2
- package/es/Geometry/models/sprite.js +83 -45
- package/es/canvas/index.d.ts +3 -4
- package/es/canvas/index.js +35 -24
- package/es/canvas/models/canvas.d.ts +2 -2
- package/es/canvas/models/canvas.js +54 -15
- package/es/citybuliding/building.d.ts +2 -3
- package/es/citybuliding/building.js +26 -17
- package/es/citybuliding/models/build.d.ts +2 -2
- package/es/citybuliding/models/build.js +70 -25
- package/es/core/BaseLayer.d.ts +21 -18
- package/es/core/BaseLayer.js +391 -261
- package/es/core/BaseModel.d.ts +2 -2
- package/es/core/BaseModel.js +47 -6
- package/es/core/LayerPickService.d.ts +9 -0
- package/es/core/LayerPickService.js +85 -0
- package/es/core/triangulation.js +8 -1
- package/es/earth/index.d.ts +3 -3
- package/es/earth/index.js +28 -9
- package/es/earth/models/atmosphere.d.ts +2 -2
- package/es/earth/models/atmosphere.js +67 -22
- package/es/earth/models/base.d.ts +2 -2
- package/es/earth/models/base.js +89 -43
- package/es/earth/models/bloomsphere.d.ts +2 -2
- package/es/earth/models/bloomsphere.js +67 -22
- package/es/heatmap/index.d.ts +2 -3
- package/es/heatmap/index.js +33 -22
- package/es/heatmap/models/grid.d.ts +2 -2
- package/es/heatmap/models/grid.js +68 -27
- package/es/heatmap/models/grid3d.d.ts +2 -2
- package/es/heatmap/models/grid3d.js +69 -28
- package/es/heatmap/models/heatmap.d.ts +2 -2
- package/es/heatmap/models/heatmap.js +40 -14
- package/es/heatmap/models/hexagon.d.ts +2 -2
- package/es/heatmap/models/hexagon.js +69 -28
- package/es/image/index.d.ts +2 -3
- package/es/image/index.js +27 -17
- package/es/image/models/dataImage.d.ts +2 -2
- package/es/image/models/dataImage.js +93 -54
- package/es/image/models/image.d.ts +2 -2
- package/es/image/models/image.js +108 -67
- package/es/image/models/tileDataImage.d.ts +2 -2
- package/es/image/models/tileDataImage.js +84 -43
- package/es/index.d.ts +2 -2
- package/es/index.js +2 -2
- package/es/line/index.d.ts +5 -4
- package/es/line/index.js +51 -25
- package/es/line/models/arc.d.ts +2 -2
- package/es/line/models/arc.js +73 -38
- package/es/line/models/arc_3d.d.ts +2 -2
- package/es/line/models/arc_3d.js +69 -34
- package/es/line/models/earthArc_3d.d.ts +2 -2
- package/es/line/models/earthArc_3d.js +72 -37
- package/es/line/models/great_circle.d.ts +2 -2
- package/es/line/models/great_circle.js +70 -29
- package/es/line/models/half.d.ts +2 -2
- package/es/line/models/half.js +40 -17
- package/es/line/models/index.d.ts +1 -1
- package/es/line/models/index.js +0 -2
- package/es/line/models/line.d.ts +2 -2
- package/es/line/models/line.js +79 -47
- package/es/line/models/linearline.d.ts +2 -2
- package/es/line/models/linearline.js +70 -31
- package/es/line/models/simpleLine.d.ts +2 -2
- package/es/line/models/simpleLine.js +71 -34
- package/es/line/models/simpleTileLine.d.ts +2 -2
- package/es/line/models/simpleTileLine.js +70 -30
- package/es/line/models/tile.d.ts +2 -2
- package/es/line/models/tile.js +40 -17
- package/es/line/models/wall.d.ts +2 -2
- package/es/line/models/wall.js +67 -22
- package/es/mask/index.d.ts +2 -4
- package/es/mask/index.js +27 -97
- package/es/mask/models/fill.d.ts +2 -2
- package/es/mask/models/fill.js +40 -16
- package/es/mask/models/index.d.ts +1 -1
- package/es/mask/models/index.js +1 -3
- package/es/plugins/DataMappingPlugin.js +80 -66
- package/es/plugins/DataSourcePlugin.js +64 -25
- package/es/plugins/FeatureScalePlugin.js +84 -44
- package/es/plugins/LayerAnimateStylePlugin.js +6 -3
- package/es/plugins/LayerModelPlugin.d.ts +2 -2
- package/es/plugins/LayerModelPlugin.js +124 -37
- package/es/plugins/LayerStylePlugin.js +1 -6
- package/es/plugins/MultiPassRendererPlugin.js +1 -1
- package/es/plugins/PixelPickingPlugin.js +1 -1
- package/es/plugins/RegisterStyleAttributePlugin.js +4 -17
- package/es/plugins/ShaderUniformPlugin.js +7 -2
- package/es/plugins/UpdateStyleAttributePlugin.js +8 -5
- package/es/point/index.d.ts +4 -4
- package/es/point/index.js +55 -23
- package/es/point/models/earthExtrude.d.ts +2 -2
- package/es/point/models/earthExtrude.js +73 -30
- package/es/point/models/earthFill.d.ts +2 -2
- package/es/point/models/earthFill.js +66 -21
- package/es/point/models/extrude.d.ts +2 -2
- package/es/point/models/extrude.js +40 -17
- package/es/point/models/fill.d.ts +2 -2
- package/es/point/models/fill.js +43 -20
- package/es/point/models/fillmage.d.ts +2 -2
- package/es/point/models/fillmage.js +82 -43
- package/es/point/models/image.d.ts +2 -2
- package/es/point/models/image.js +72 -31
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +0 -2
- package/es/point/models/normal.d.ts +2 -2
- package/es/point/models/normal.js +71 -30
- package/es/point/models/radar.d.ts +2 -2
- package/es/point/models/radar.js +75 -35
- package/es/point/models/simplePoint.d.ts +2 -2
- package/es/point/models/simplePoint.js +70 -29
- package/es/point/models/text.d.ts +3 -2
- package/es/point/models/text.js +164 -107
- package/es/point/models/tile.d.ts +2 -2
- package/es/point/models/tile.js +77 -35
- package/es/point/models/tileText.d.ts +2 -2
- package/es/point/models/tileText.js +151 -116
- package/es/polygon/index.d.ts +2 -3
- package/es/polygon/index.js +27 -24
- package/es/polygon/models/extrude.d.ts +2 -2
- package/es/polygon/models/extrude.js +66 -29
- package/es/polygon/models/fill.d.ts +2 -2
- package/es/polygon/models/fill.js +76 -43
- package/es/polygon/models/index.d.ts +1 -1
- package/es/polygon/models/index.js +0 -2
- package/es/polygon/models/ocean.d.ts +2 -2
- package/es/polygon/models/ocean.js +69 -28
- package/es/polygon/models/tile.d.ts +2 -2
- package/es/polygon/models/tile.js +70 -30
- package/es/polygon/models/water.d.ts +2 -2
- package/es/polygon/models/water.js +69 -28
- package/es/raster/index.d.ts +3 -4
- package/es/raster/index.js +28 -22
- package/es/raster/models/index.d.ts +1 -1
- package/es/raster/models/index.js +1 -3
- package/es/raster/models/raster.d.ts +2 -2
- package/es/raster/models/raster.js +36 -13
- package/es/raster/models/rasterRgb.d.ts +2 -2
- package/es/raster/models/rasterRgb.js +36 -13
- package/es/raster/models/rasterTile.d.ts +2 -2
- package/es/raster/models/rasterTile.js +77 -36
- package/es/raster/raster.d.ts +1 -1
- package/es/raster/raster.js +42 -22
- package/es/tile/interaction/getRasterData.d.ts +2 -2
- package/es/tile/interaction/utils.js +3 -11
- package/es/tile/interface.d.ts +5 -4
- package/es/tile/manager/base.d.ts +17 -12
- package/es/tile/manager/base.js +212 -47
- package/es/tile/service/TileLayerService.d.ts +33 -0
- package/es/tile/service/TileLayerService.js +172 -0
- package/es/tile/service/TilePickService.d.ts +22 -0
- package/es/tile/service/TilePickService.js +124 -0
- package/es/tile/style/constants.d.ts +1 -13
- package/es/tile/style/constants.js +6 -15
- package/es/tile/style/utils.d.ts +1 -8
- package/es/tile/style/utils.js +0 -126
- package/es/tile/tileFactory/DebugTile.d.ts +16 -0
- package/es/tile/tileFactory/DebugTile.js +100 -0
- package/es/tile/tileFactory/ImageTile.d.ts +14 -0
- package/es/tile/tileFactory/ImageTile.js +89 -0
- package/es/tile/tileFactory/MaskTile.d.ts +17 -0
- package/es/tile/tileFactory/MaskTile.js +98 -0
- package/es/tile/tileFactory/RasterRGBTile.d.ts +16 -0
- package/es/tile/tileFactory/RasterRGBTile.js +91 -0
- package/es/tile/tileFactory/RasterTile.d.ts +27 -0
- package/es/tile/tileFactory/RasterTile.js +186 -0
- package/es/tile/tileFactory/Tile.d.ts +23 -0
- package/es/tile/tileFactory/Tile.js +136 -0
- package/es/tile/tileFactory/VectorTile.d.ts +20 -0
- package/es/tile/tileFactory/VectorTile.js +158 -0
- package/es/tile/tileFactory/index.d.ts +10 -4
- package/es/tile/tileFactory/index.js +30 -23
- package/es/tile/tileFactory/layers/{rasterDataLayer.d.ts → RasterDataLayer.d.ts} +3 -3
- package/es/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +33 -21
- package/es/tile/tileFactory/layers/{tileTest.d.ts → TileDebugLayer.d.ts} +2 -2
- package/es/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +23 -10
- package/es/tile/tileFactory/util.d.ts +6 -0
- package/es/tile/tileFactory/util.js +33 -0
- package/es/tile/tileLayer/BaseLayer.d.ts +46 -0
- package/es/tile/tileLayer/BaseLayer.js +358 -0
- package/es/tile/utils.d.ts +1 -11
- package/es/tile/utils.js +0 -127
- package/es/utils/dataMappingStyle.d.ts +4 -4
- package/es/utils/dataMappingStyle.js +19 -19
- package/es/utils/layerData.js +5 -11
- package/es/wind/index.d.ts +2 -3
- package/es/wind/index.js +27 -17
- package/es/wind/models/wind.d.ts +2 -2
- package/es/wind/models/wind.js +120 -104
- package/lib/Geometry/index.js +29 -17
- package/lib/Geometry/models/billboard.js +79 -37
- package/lib/Geometry/models/plane.js +82 -40
- package/lib/Geometry/models/sprite.js +85 -45
- package/lib/canvas/index.js +37 -24
- package/lib/canvas/models/canvas.js +56 -15
- package/lib/citybuliding/building.js +28 -17
- package/lib/citybuliding/models/build.js +72 -25
- package/lib/core/BaseLayer.js +391 -256
- package/lib/core/BaseModel.js +48 -6
- package/lib/core/LayerPickService.js +96 -0
- package/lib/core/triangulation.js +8 -1
- package/lib/earth/index.js +30 -9
- package/lib/earth/models/atmosphere.js +69 -22
- package/lib/earth/models/base.js +90 -42
- package/lib/earth/models/bloomsphere.js +69 -22
- package/lib/heatmap/index.js +35 -22
- package/lib/heatmap/models/grid.js +70 -27
- package/lib/heatmap/models/grid3d.js +71 -28
- package/lib/heatmap/models/heatmap.js +40 -14
- package/lib/heatmap/models/hexagon.js +71 -28
- package/lib/image/index.js +29 -17
- package/lib/image/models/dataImage.js +95 -54
- package/lib/image/models/image.js +110 -67
- package/lib/image/models/tileDataImage.js +86 -43
- package/lib/index.js +5 -5
- package/lib/line/index.js +53 -26
- package/lib/line/models/arc.js +75 -38
- package/lib/line/models/arc_3d.js +71 -34
- package/lib/line/models/earthArc_3d.js +74 -37
- package/lib/line/models/great_circle.js +72 -29
- package/lib/line/models/half.js +40 -17
- package/lib/line/models/index.js +0 -3
- package/lib/line/models/line.js +81 -47
- package/lib/line/models/linearline.js +72 -31
- package/lib/line/models/simpleLine.js +73 -34
- package/lib/line/models/simpleTileLine.js +72 -30
- package/lib/line/models/tile.js +40 -17
- package/lib/line/models/wall.js +69 -22
- package/lib/mask/index.js +28 -99
- package/lib/mask/models/fill.js +40 -16
- package/lib/mask/models/index.js +1 -4
- package/lib/plugins/DataMappingPlugin.js +81 -65
- package/lib/plugins/DataSourcePlugin.js +71 -30
- package/lib/plugins/FeatureScalePlugin.js +86 -44
- package/lib/plugins/LayerAnimateStylePlugin.js +6 -3
- package/lib/plugins/LayerModelPlugin.js +131 -41
- package/lib/plugins/LayerStylePlugin.js +1 -6
- package/lib/plugins/MultiPassRendererPlugin.js +1 -1
- package/lib/plugins/PixelPickingPlugin.js +1 -1
- package/lib/plugins/RegisterStyleAttributePlugin.js +4 -17
- package/lib/plugins/ShaderUniformPlugin.js +7 -2
- package/lib/plugins/UpdateStyleAttributePlugin.js +8 -5
- package/lib/point/index.js +56 -24
- package/lib/point/models/earthExtrude.js +75 -30
- package/lib/point/models/earthFill.js +68 -21
- package/lib/point/models/extrude.js +40 -17
- package/lib/point/models/fill.js +44 -21
- package/lib/point/models/fillmage.js +84 -43
- package/lib/point/models/image.js +74 -31
- package/lib/point/models/index.js +0 -3
- package/lib/point/models/normal.js +73 -30
- package/lib/point/models/radar.js +77 -35
- package/lib/point/models/simplePoint.js +72 -29
- package/lib/point/models/text.js +164 -106
- package/lib/point/models/tile.js +79 -35
- package/lib/point/models/tileText.js +151 -115
- package/lib/polygon/index.js +29 -25
- package/lib/polygon/models/extrude.js +68 -29
- package/lib/polygon/models/fill.js +78 -43
- package/lib/polygon/models/index.js +0 -3
- package/lib/polygon/models/ocean.js +71 -28
- package/lib/polygon/models/tile.js +72 -30
- package/lib/polygon/models/water.js +71 -28
- package/lib/raster/index.js +30 -22
- package/lib/raster/models/index.js +1 -4
- package/lib/raster/models/raster.js +36 -13
- package/lib/raster/models/rasterRgb.js +36 -13
- package/lib/raster/models/rasterTile.js +79 -36
- package/lib/raster/raster.js +44 -22
- package/lib/tile/interaction/utils.js +3 -11
- package/lib/tile/manager/base.js +213 -47
- package/lib/tile/service/TileLayerService.js +185 -0
- package/lib/tile/service/TilePickService.js +136 -0
- package/lib/tile/style/constants.js +8 -19
- package/lib/tile/style/utils.js +0 -140
- package/lib/tile/tileFactory/DebugTile.js +115 -0
- package/lib/tile/tileFactory/ImageTile.js +104 -0
- package/lib/tile/tileFactory/MaskTile.js +113 -0
- package/lib/tile/tileFactory/RasterRGBTile.js +106 -0
- package/lib/tile/tileFactory/RasterTile.js +205 -0
- package/lib/tile/tileFactory/Tile.js +146 -0
- package/lib/tile/tileFactory/VectorTile.js +173 -0
- package/lib/tile/tileFactory/index.js +42 -24
- package/lib/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +35 -21
- package/lib/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +24 -11
- package/lib/tile/tileFactory/util.js +48 -0
- package/lib/tile/tileLayer/BaseLayer.js +373 -0
- package/lib/tile/utils.js +0 -146
- package/lib/utils/dataMappingStyle.js +21 -21
- package/lib/utils/layerData.js +4 -10
- package/lib/wind/index.js +29 -17
- package/lib/wind/models/wind.js +122 -104
- package/package.json +7 -7
- package/es/tile/interaction/TilePickService.d.ts +0 -16
- package/es/tile/interaction/TilePickService.js +0 -129
- package/es/tile/manager/layerManager.d.ts +0 -19
- package/es/tile/manager/layerManager.js +0 -254
- package/es/tile/manager/mapLayerManager.d.ts +0 -7
- package/es/tile/manager/mapLayerManager.js +0 -119
- package/es/tile/models/tileModel.d.ts +0 -10
- package/es/tile/models/tileModel.js +0 -81
- package/es/tile/render/TileRenderService.d.ts +0 -10
- package/es/tile/render/TileRenderService.js +0 -68
- package/es/tile/style/TileStyleService.d.ts +0 -17
- package/es/tile/style/TileStyleService.js +0 -118
- package/es/tile/tileFactory/base.d.ts +0 -45
- package/es/tile/tileFactory/base.js +0 -403
- package/es/tile/tileFactory/layers/vectorLayer.d.ts +0 -30
- package/es/tile/tileFactory/layers/vectorLayer.js +0 -253
- package/es/tile/tileFactory/line.d.ts +0 -12
- package/es/tile/tileFactory/line.js +0 -59
- package/es/tile/tileFactory/mask.d.ts +0 -12
- package/es/tile/tileFactory/mask.js +0 -60
- package/es/tile/tileFactory/point.d.ts +0 -12
- package/es/tile/tileFactory/point.js +0 -60
- package/es/tile/tileFactory/polygon.d.ts +0 -12
- package/es/tile/tileFactory/polygon.js +0 -59
- package/es/tile/tileFactory/raster.d.ts +0 -12
- package/es/tile/tileFactory/raster.js +0 -55
- package/es/tile/tileFactory/rasterData.d.ts +0 -12
- package/es/tile/tileFactory/rasterData.js +0 -81
- package/es/tile/tileFactory/test.d.ts +0 -12
- package/es/tile/tileFactory/test.js +0 -94
- package/es/tile/tileLayer/MapTileLayer.d.ts +0 -6
- package/es/tile/tileLayer/MapTileLayer.js +0 -48
- package/es/tile/tileLayer/TileLayer.d.ts +0 -22
- package/es/tile/tileLayer/TileLayer.js +0 -198
- package/es/tile/tileLayer/base.d.ts +0 -33
- package/es/tile/tileLayer/base.js +0 -212
- package/lib/tile/interaction/TilePickService.js +0 -143
- package/lib/tile/manager/layerManager.js +0 -275
- package/lib/tile/manager/mapLayerManager.js +0 -134
- package/lib/tile/models/tileModel.js +0 -94
- package/lib/tile/render/TileRenderService.js +0 -78
- package/lib/tile/style/TileStyleService.js +0 -133
- package/lib/tile/tileFactory/base.js +0 -427
- package/lib/tile/tileFactory/layers/vectorLayer.js +0 -268
- package/lib/tile/tileFactory/line.js +0 -70
- package/lib/tile/tileFactory/mask.js +0 -71
- package/lib/tile/tileFactory/point.js +0 -71
- package/lib/tile/tileFactory/polygon.js +0 -70
- package/lib/tile/tileFactory/raster.js +0 -68
- package/lib/tile/tileFactory/rasterData.js +0 -93
- package/lib/tile/tileFactory/test.js +0 -106
- package/lib/tile/tileLayer/MapTileLayer.js +0 -63
- package/lib/tile/tileLayer/TileLayer.js +0 -215
- package/lib/tile/tileLayer/base.js +0 -225
|
@@ -0,0 +1,373 @@
|
|
|
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 _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
18
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
+
|
|
20
|
+
var _l7Core = require("@antv/l7-core");
|
|
21
|
+
|
|
22
|
+
var _TileLayerService = require("../service/TileLayerService");
|
|
23
|
+
|
|
24
|
+
var _TilePickService = require("../service/TilePickService");
|
|
25
|
+
|
|
26
|
+
var _lodash = require("lodash");
|
|
27
|
+
|
|
28
|
+
var _tileFactory = require("../tileFactory");
|
|
29
|
+
|
|
30
|
+
var _constants = require("../style/constants");
|
|
31
|
+
|
|
32
|
+
var BaseTileLayer = /*#__PURE__*/function () {
|
|
33
|
+
// 瓦片数据管理器
|
|
34
|
+
function BaseTileLayer(parent) {
|
|
35
|
+
(0, _classCallCheck2.default)(this, BaseTileLayer);
|
|
36
|
+
(0, _defineProperty2.default)(this, "initedTileset", false);
|
|
37
|
+
(0, _defineProperty2.default)(this, "viewchange", (0, _lodash.debounce)(this.mapchange, 24));
|
|
38
|
+
this.parent = parent;
|
|
39
|
+
var container = this.parent.getContainer();
|
|
40
|
+
this.rendererService = container.get(_l7Core.TYPES.IRendererService);
|
|
41
|
+
this.layerService = container.get(_l7Core.TYPES.ILayerService);
|
|
42
|
+
this.mapService = container.get(_l7Core.TYPES.IMapService);
|
|
43
|
+
this.pickingService = container.get(_l7Core.TYPES.IPickingService); // 初始化瓦片管理服务
|
|
44
|
+
|
|
45
|
+
this.tileLayerService = new _TileLayerService.TileLayerService({
|
|
46
|
+
rendererService: this.rendererService,
|
|
47
|
+
layerService: this.layerService,
|
|
48
|
+
parent: parent
|
|
49
|
+
}); // 初始化拾取服务
|
|
50
|
+
|
|
51
|
+
this.tilePickService = new _TilePickService.TilePickService({
|
|
52
|
+
tileLayerService: this.tileLayerService,
|
|
53
|
+
layerService: this.layerService
|
|
54
|
+
}); // 重置
|
|
55
|
+
|
|
56
|
+
this.parent.setLayerPickService(this.tilePickService);
|
|
57
|
+
this.proxy(parent);
|
|
58
|
+
this.initTileSetManager();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
(0, _createClass2.default)(BaseTileLayer, [{
|
|
62
|
+
key: "initTileSetManager",
|
|
63
|
+
value: function initTileSetManager() {
|
|
64
|
+
var _this$tilesetManager;
|
|
65
|
+
|
|
66
|
+
var source = this.parent.getSource();
|
|
67
|
+
this.tilesetManager = source.tileset;
|
|
68
|
+
|
|
69
|
+
if (!this.initedTileset) {
|
|
70
|
+
this.bindTilesetEvent();
|
|
71
|
+
this.initedTileset = true;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
var _this$getCurrentView = this.getCurrentView(),
|
|
75
|
+
latLonBounds = _this$getCurrentView.latLonBounds,
|
|
76
|
+
zoom = _this$getCurrentView.zoom;
|
|
77
|
+
|
|
78
|
+
(_this$tilesetManager = this.tilesetManager) === null || _this$tilesetManager === void 0 ? void 0 : _this$tilesetManager.update(zoom, latLonBounds);
|
|
79
|
+
}
|
|
80
|
+
}, {
|
|
81
|
+
key: "mapchange",
|
|
82
|
+
value: function mapchange() {
|
|
83
|
+
var _this$tilesetManager2;
|
|
84
|
+
|
|
85
|
+
var _this$getCurrentView2 = this.getCurrentView(),
|
|
86
|
+
latLonBounds = _this$getCurrentView2.latLonBounds,
|
|
87
|
+
zoom = _this$getCurrentView2.zoom;
|
|
88
|
+
|
|
89
|
+
if (this.mapService.version === 'GAODE1.x') {
|
|
90
|
+
var _this$parent$getLayer = this.parent.getLayerConfig(),
|
|
91
|
+
visible = _this$parent$getLayer.visible;
|
|
92
|
+
|
|
93
|
+
if (zoom < 3 && visible) {
|
|
94
|
+
this.parent.updateLayerConfig({
|
|
95
|
+
visible: false
|
|
96
|
+
});
|
|
97
|
+
this.layerService.reRender();
|
|
98
|
+
} else if (zoom >= 3 && !visible) {
|
|
99
|
+
this.parent.updateLayerConfig({
|
|
100
|
+
visible: true
|
|
101
|
+
});
|
|
102
|
+
this.layerService.reRender();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
if (this.lastViewStates && this.lastViewStates.zoom === zoom && this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
this.lastViewStates = {
|
|
111
|
+
zoom: zoom,
|
|
112
|
+
latLonBounds: latLonBounds
|
|
113
|
+
};
|
|
114
|
+
(_this$tilesetManager2 = this.tilesetManager) === null || _this$tilesetManager2 === void 0 ? void 0 : _this$tilesetManager2.throttleUpdate(zoom, latLonBounds);
|
|
115
|
+
}
|
|
116
|
+
}, {
|
|
117
|
+
key: "getCurrentView",
|
|
118
|
+
value: function getCurrentView() {
|
|
119
|
+
var bounds = this.mapService.getBounds();
|
|
120
|
+
var latLonBounds = [bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1]];
|
|
121
|
+
var zoom = this.mapService.getZoom();
|
|
122
|
+
return {
|
|
123
|
+
latLonBounds: latLonBounds,
|
|
124
|
+
zoom: zoom
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}, {
|
|
128
|
+
key: "bindTilesetEvent",
|
|
129
|
+
value: function bindTilesetEvent() {
|
|
130
|
+
var _this = this;
|
|
131
|
+
|
|
132
|
+
// 瓦片数据加载成功
|
|
133
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
134
|
+
this.tilesetManager.on('tile-loaded', function (tile) {// 将事件抛出,图层上可以监听使用
|
|
135
|
+
}); // 瓦片数据从缓存删除或被执行重新加载
|
|
136
|
+
|
|
137
|
+
this.tilesetManager.on('tile-unload', function (tile) {
|
|
138
|
+
// 将事件抛出,图层上可以监听使用
|
|
139
|
+
_this.tileUnLoad(tile);
|
|
140
|
+
}); // 瓦片数据加载失败
|
|
141
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
142
|
+
|
|
143
|
+
this.tilesetManager.on('tile-error', function (error, tile) {
|
|
144
|
+
// 将事件抛出,图层上可以监听使用
|
|
145
|
+
_this.tileError(error);
|
|
146
|
+
}); // 瓦片显隐状态更新
|
|
147
|
+
|
|
148
|
+
this.tilesetManager.on('tile-update', function () {
|
|
149
|
+
_this.tileUpdate();
|
|
150
|
+
}); // 地图视野发生改变
|
|
151
|
+
|
|
152
|
+
this.mapService.on('zoomend', function () {
|
|
153
|
+
return _this.mapchange();
|
|
154
|
+
});
|
|
155
|
+
this.mapService.on('moveend', function () {
|
|
156
|
+
return _this.viewchange();
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}, {
|
|
160
|
+
key: "render",
|
|
161
|
+
value: function render() {
|
|
162
|
+
this.tileLayerService.render();
|
|
163
|
+
}
|
|
164
|
+
}, {
|
|
165
|
+
key: "getLayers",
|
|
166
|
+
value: function getLayers() {
|
|
167
|
+
return this.tileLayerService.getLayers();
|
|
168
|
+
}
|
|
169
|
+
}, {
|
|
170
|
+
key: "getTiles",
|
|
171
|
+
value: function getTiles() {
|
|
172
|
+
return this.tileLayerService.getTiles();
|
|
173
|
+
} // 防抖操作
|
|
174
|
+
|
|
175
|
+
}, {
|
|
176
|
+
key: "tileLoaded",
|
|
177
|
+
value: // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
178
|
+
function tileLoaded(tile) {//
|
|
179
|
+
}
|
|
180
|
+
}, {
|
|
181
|
+
key: "tileError",
|
|
182
|
+
value: function tileError(error) {
|
|
183
|
+
console.warn('error:', error);
|
|
184
|
+
}
|
|
185
|
+
}, {
|
|
186
|
+
key: "destroy",
|
|
187
|
+
value: function destroy() {
|
|
188
|
+
var _this$tilesetManager3;
|
|
189
|
+
|
|
190
|
+
(_this$tilesetManager3 = this.tilesetManager) === null || _this$tilesetManager3 === void 0 ? void 0 : _this$tilesetManager3.destroy();
|
|
191
|
+
this.tileLayerService.destroy();
|
|
192
|
+
}
|
|
193
|
+
}, {
|
|
194
|
+
key: "tileUnLoad",
|
|
195
|
+
value: function tileUnLoad(tile) {
|
|
196
|
+
this.tileLayerService.removeTile(tile.key);
|
|
197
|
+
}
|
|
198
|
+
}, {
|
|
199
|
+
key: "tileUpdate",
|
|
200
|
+
value: function () {
|
|
201
|
+
var _tileUpdate = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
202
|
+
var _this2 = this;
|
|
203
|
+
|
|
204
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
205
|
+
while (1) {
|
|
206
|
+
switch (_context2.prev = _context2.next) {
|
|
207
|
+
case 0:
|
|
208
|
+
if (this.tilesetManager) {
|
|
209
|
+
_context2.next = 2;
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
return _context2.abrupt("return");
|
|
214
|
+
|
|
215
|
+
case 2:
|
|
216
|
+
_context2.next = 4;
|
|
217
|
+
return Promise.all(this.tilesetManager.tiles.filter(function (tile) {
|
|
218
|
+
return tile.isLoaded;
|
|
219
|
+
}) // 过滤未加载完成的
|
|
220
|
+
.filter(function (tile) {
|
|
221
|
+
return tile.isVisibleChange;
|
|
222
|
+
}) // 过滤未发生变化的
|
|
223
|
+
.filter(function (tile) {
|
|
224
|
+
return _this2.isTileReady(tile);
|
|
225
|
+
}) // 过滤未发生变化的
|
|
226
|
+
.map( /*#__PURE__*/function () {
|
|
227
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(tile) {
|
|
228
|
+
var tileInstance, tileLayer;
|
|
229
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
230
|
+
while (1) {
|
|
231
|
+
switch (_context.prev = _context.next) {
|
|
232
|
+
case 0:
|
|
233
|
+
if (_this2.tileLayerService.hasTile(tile.key)) {
|
|
234
|
+
_context.next = 11;
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
tileInstance = (0, _tileFactory.getTileFactory)(_this2.parent);
|
|
239
|
+
tileLayer = new tileInstance(tile, _this2.parent);
|
|
240
|
+
_context.next = 5;
|
|
241
|
+
return tileLayer.initTileLayer();
|
|
242
|
+
|
|
243
|
+
case 5:
|
|
244
|
+
_this2.tilePickService.setPickState();
|
|
245
|
+
|
|
246
|
+
if (tileLayer.getLayers().length !== 0) {
|
|
247
|
+
_this2.tileLayerService.addTile(tileLayer);
|
|
248
|
+
|
|
249
|
+
_this2.layerService.reRender();
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
_this2.tileLayerService.addTile(tileLayer);
|
|
253
|
+
|
|
254
|
+
_this2.layerService.reRender();
|
|
255
|
+
|
|
256
|
+
_context.next = 14;
|
|
257
|
+
break;
|
|
258
|
+
|
|
259
|
+
case 11:
|
|
260
|
+
_this2.tileLayerService.updateTileVisible(tile);
|
|
261
|
+
|
|
262
|
+
_this2.tilePickService.setPickState();
|
|
263
|
+
|
|
264
|
+
_this2.layerService.reRender();
|
|
265
|
+
|
|
266
|
+
case 14:
|
|
267
|
+
case "end":
|
|
268
|
+
return _context.stop();
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}, _callee);
|
|
272
|
+
}));
|
|
273
|
+
|
|
274
|
+
return function (_x) {
|
|
275
|
+
return _ref.apply(this, arguments);
|
|
276
|
+
};
|
|
277
|
+
}()));
|
|
278
|
+
|
|
279
|
+
case 4:
|
|
280
|
+
if (this.tilesetManager.isLoaded) {
|
|
281
|
+
// 将事件抛出,图层上可以使用瓦片
|
|
282
|
+
this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
case 5:
|
|
286
|
+
case "end":
|
|
287
|
+
return _context2.stop();
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}, _callee2, this);
|
|
291
|
+
}));
|
|
292
|
+
|
|
293
|
+
function tileUpdate() {
|
|
294
|
+
return _tileUpdate.apply(this, arguments);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
return tileUpdate;
|
|
298
|
+
}() // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
299
|
+
|
|
300
|
+
}, {
|
|
301
|
+
key: "isTileReady",
|
|
302
|
+
value: function isTileReady(tile) {
|
|
303
|
+
// if (tile.data?.layers && this.sourceLayer) {
|
|
304
|
+
// // vector
|
|
305
|
+
// const vectorTileLayer = tile.data.layers[this.sourceLayer];
|
|
306
|
+
// const features = vectorTileLayer?.features;
|
|
307
|
+
// if (!(Array.isArray(features) && features.length > 0)) {
|
|
308
|
+
// return false;
|
|
309
|
+
// }
|
|
310
|
+
// }
|
|
311
|
+
return true;
|
|
312
|
+
} // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
313
|
+
|
|
314
|
+
}, {
|
|
315
|
+
key: "setPickState",
|
|
316
|
+
value: function setPickState(layers) {}
|
|
317
|
+
}, {
|
|
318
|
+
key: "pickRender",
|
|
319
|
+
value: function pickRender(target) {
|
|
320
|
+
this.tilePickService.pickRender(target);
|
|
321
|
+
}
|
|
322
|
+
}, {
|
|
323
|
+
key: "selectFeature",
|
|
324
|
+
value: function selectFeature(pickedColors) {
|
|
325
|
+
this.tilePickService.selectFeature(pickedColors);
|
|
326
|
+
}
|
|
327
|
+
}, {
|
|
328
|
+
key: "highlightPickedFeature",
|
|
329
|
+
value: function highlightPickedFeature(pickedColors) {
|
|
330
|
+
this.tilePickService.highlightPickedFeature(pickedColors);
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* 实现 TileLayer 对子图层方法的代理
|
|
334
|
+
* @param parent
|
|
335
|
+
*/
|
|
336
|
+
|
|
337
|
+
}, {
|
|
338
|
+
key: "proxy",
|
|
339
|
+
value: function proxy(parent) {
|
|
340
|
+
var _this3 = this;
|
|
341
|
+
|
|
342
|
+
_constants.ProxyFuncs.forEach(function (func) {
|
|
343
|
+
// @ts-ignore
|
|
344
|
+
var oldStyleFunc = parent[func].bind(parent); // @ts-ignore
|
|
345
|
+
|
|
346
|
+
parent[func] = function () {
|
|
347
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
348
|
+
args[_key] = arguments[_key];
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
oldStyleFunc.apply(void 0, args);
|
|
352
|
+
|
|
353
|
+
_this3.getLayers().map(function (child) {
|
|
354
|
+
// @ts-ignore
|
|
355
|
+
child[func].apply(child, args);
|
|
356
|
+
}); // Tip: 目前在更新 RasterData 的 colorTexture 的时候需要额外优化
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
if (func === 'style') {
|
|
360
|
+
_this3.getTiles().forEach(function (tile) {
|
|
361
|
+
return tile.styleUpdate.apply(tile, args);
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
return parent;
|
|
366
|
+
};
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
}]);
|
|
370
|
+
return BaseTileLayer;
|
|
371
|
+
}();
|
|
372
|
+
|
|
373
|
+
exports.default = BaseTileLayer;
|
package/lib/tile/utils.js
CHANGED
|
@@ -4,24 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getContainerSize = getContainerSize;
|
|
7
|
-
exports.getLayerShape = getLayerShape;
|
|
8
|
-
exports.getMaskValue = getMaskValue;
|
|
9
|
-
exports.isTileChildLoaded = isTileChildLoaded;
|
|
10
7
|
exports.isTileGroup = isTileGroup;
|
|
11
|
-
exports.isTileLoaded = isTileLoaded;
|
|
12
|
-
exports.isTileParentLoaded = isTileParentLoaded;
|
|
13
|
-
exports.isVectorTile = isVectorTile;
|
|
14
|
-
exports.registerLayers = registerLayers;
|
|
15
|
-
exports.tileAllLoad = tileAllLoad;
|
|
16
8
|
exports.tileVectorParser = void 0;
|
|
17
|
-
exports.updateTileVisible = updateTileVisible;
|
|
18
|
-
|
|
19
|
-
var _l7Core = require("@antv/l7-core");
|
|
20
9
|
|
|
21
10
|
var _l7Utils = require("@antv/l7-utils");
|
|
22
11
|
|
|
23
|
-
var _utils = require("./style/utils");
|
|
24
|
-
|
|
25
12
|
var tileVectorParser = ['mvt', 'geojsonvt', 'testTile'];
|
|
26
13
|
/**
|
|
27
14
|
* 判断当前图层是否是瓦片图层
|
|
@@ -36,70 +23,6 @@ function isTileGroup(layer) {
|
|
|
36
23
|
return tileVectorParser.includes(source.parser.type);
|
|
37
24
|
}
|
|
38
25
|
|
|
39
|
-
function isVectorTile(parserType) {
|
|
40
|
-
return tileVectorParser.indexOf(parserType) >= 0;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function registerLayers(parentLayer, layers) {
|
|
44
|
-
layers.map(function (layer) {
|
|
45
|
-
var container = (0, _l7Core.createLayerContainer)(parentLayer.sceneContainer);
|
|
46
|
-
layer.setContainer(container, parentLayer.sceneContainer);
|
|
47
|
-
layer.init();
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function getLayerShape(layerType, layer) {
|
|
52
|
-
var _layerShape$scale;
|
|
53
|
-
|
|
54
|
-
var layerShape = layer.getAttribute('shape');
|
|
55
|
-
|
|
56
|
-
if (layerShape && (_layerShape$scale = layerShape.scale) !== null && _layerShape$scale !== void 0 && _layerShape$scale.field) {
|
|
57
|
-
var _layerShape$scale2;
|
|
58
|
-
|
|
59
|
-
if (((_layerShape$scale2 = layerShape.scale) === null || _layerShape$scale2 === void 0 ? void 0 : _layerShape$scale2.values) === 'text') {
|
|
60
|
-
return [layerShape.scale.field, layerShape.scale.values];
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return layerShape.scale.field;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
switch (layerType) {
|
|
67
|
-
case 'PolygonLayer':
|
|
68
|
-
return 'fill';
|
|
69
|
-
|
|
70
|
-
case 'LineLayer':
|
|
71
|
-
return 'tileline';
|
|
72
|
-
|
|
73
|
-
case 'PointLayer':
|
|
74
|
-
return 'circle';
|
|
75
|
-
|
|
76
|
-
case 'RasterLayer':
|
|
77
|
-
return 'image';
|
|
78
|
-
|
|
79
|
-
default:
|
|
80
|
-
return '';
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
function getMaskValue(layerType, mask) {
|
|
85
|
-
switch (layerType) {
|
|
86
|
-
case 'PolygonLayer':
|
|
87
|
-
return true;
|
|
88
|
-
|
|
89
|
-
case 'LineLayer':
|
|
90
|
-
return true;
|
|
91
|
-
|
|
92
|
-
case 'PointLayer':
|
|
93
|
-
return false;
|
|
94
|
-
|
|
95
|
-
case 'RasterLayer':
|
|
96
|
-
return mask;
|
|
97
|
-
|
|
98
|
-
default:
|
|
99
|
-
return mask;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
26
|
function getContainerSize(container) {
|
|
104
27
|
if (container.getContext) {
|
|
105
28
|
return {
|
|
@@ -109,73 +32,4 @@ function getContainerSize(container) {
|
|
|
109
32
|
} else {
|
|
110
33
|
return container.getBoundingClientRect();
|
|
111
34
|
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
function isTileLoaded(tile) {
|
|
115
|
-
return tile.layerIDList.length === tile.loadedLayers;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
function isTileChildLoaded(tile) {
|
|
119
|
-
var children = tile.children;
|
|
120
|
-
return children.filter(function (child) {
|
|
121
|
-
return isTileLoaded(child);
|
|
122
|
-
}).length === children.length;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
function isTileParentLoaded(tile) {
|
|
126
|
-
var parent = tile.parent;
|
|
127
|
-
|
|
128
|
-
if (!parent) {
|
|
129
|
-
return true;
|
|
130
|
-
} else {
|
|
131
|
-
return isTileLoaded(parent);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
function tileAllLoad(tile, callback) {
|
|
136
|
-
var timer = window.setInterval(function () {
|
|
137
|
-
var tileLoaded = isTileLoaded(tile);
|
|
138
|
-
var tileChildLoaded = isTileChildLoaded(tile);
|
|
139
|
-
var tileParentLoaded = isTileParentLoaded(tile);
|
|
140
|
-
|
|
141
|
-
if (tileLoaded && tileChildLoaded && tileParentLoaded) {
|
|
142
|
-
callback();
|
|
143
|
-
window.clearInterval(timer);
|
|
144
|
-
}
|
|
145
|
-
}, 36);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
function dispatchTileVisibleChange(tile, callback) {
|
|
149
|
-
if (tile.isVisible) {
|
|
150
|
-
callback();
|
|
151
|
-
} else {
|
|
152
|
-
tileAllLoad(tile, function () {
|
|
153
|
-
callback();
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
function updateImmediately(layers) {
|
|
159
|
-
var immediately = true;
|
|
160
|
-
layers.map(function (layer) {
|
|
161
|
-
if (layer.type !== 'PointLayer') {
|
|
162
|
-
immediately = false;
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
return immediately;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
function updateTileVisible(tile, layers, layerService) {
|
|
169
|
-
if (layers.length === 0) return;
|
|
170
|
-
|
|
171
|
-
if (updateImmediately(layers)) {
|
|
172
|
-
(0, _utils.updateLayersConfig)(layers, 'visible', tile.isVisible);
|
|
173
|
-
layerService.reRender();
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
dispatchTileVisibleChange(tile, function () {
|
|
178
|
-
(0, _utils.updateLayersConfig)(layers, 'visible', tile.isVisible);
|
|
179
|
-
layerService.reRender();
|
|
180
|
-
});
|
|
181
35
|
}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
8
|
-
exports.
|
|
6
|
+
exports.colorStyleMapping = colorStyleMapping;
|
|
7
|
+
exports.floatStyleMapping = floatStyleMapping;
|
|
8
|
+
exports.styleDataMapping = styleDataMapping;
|
|
9
9
|
|
|
10
10
|
var _lodash = require("lodash");
|
|
11
11
|
|
|
@@ -25,43 +25,45 @@ function registerStyleAttribute(fieldName, layer, field, values, updateOptions)
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
function
|
|
28
|
+
function styleDataMapping(configToUpdate, layer) {
|
|
29
29
|
// 瓦片图层不需要进行样式数据映射
|
|
30
|
-
if (layer.tileLayer || layer.isTileLayer)
|
|
30
|
+
if (layer.tileLayer || layer.isTileLayer) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
31
33
|
|
|
32
34
|
if (configToUpdate.opacity) {
|
|
33
35
|
// 处理 style 中 opacity 属性的数据映射
|
|
34
|
-
|
|
36
|
+
floatStyleMapping('opacity', layer, configToUpdate.opacity);
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
if (configToUpdate.strokeWidth) {
|
|
38
40
|
// 处理 style 中 strokeWidth 属性的数据映射
|
|
39
|
-
|
|
41
|
+
floatStyleMapping('strokeWidth', layer, configToUpdate.strokeWidth);
|
|
40
42
|
}
|
|
41
43
|
|
|
42
44
|
if (configToUpdate.strokeOpacity) {
|
|
43
45
|
// 处理 style 中 strokeOpacity 属性的数据映射
|
|
44
|
-
|
|
46
|
+
floatStyleMapping('strokeOpacity', layer, configToUpdate.strokeOpacity);
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
if (configToUpdate.stroke) {
|
|
48
50
|
// 处理 style 中 stroke (strokeColor) 属性的数据映射
|
|
49
|
-
|
|
51
|
+
colorStyleMapping('stroke', layer, configToUpdate.stroke);
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
if (configToUpdate.offsets) {
|
|
53
55
|
// 处理 style 中 offsets 属性的数据映射
|
|
54
|
-
|
|
56
|
+
offsetStyleMapping('offsets', layer, configToUpdate.offsets);
|
|
55
57
|
}
|
|
56
58
|
|
|
57
59
|
if (configToUpdate.textOffset) {
|
|
58
60
|
// 处理 style 中 textOffset 属性的数据映射
|
|
59
|
-
|
|
61
|
+
offsetStyleMapping('textOffset', layer, configToUpdate.textOffset);
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
if (configToUpdate.thetaOffset) {
|
|
63
65
|
// 处理 style 中 thetaOffset 属性的数据映射
|
|
64
|
-
|
|
66
|
+
floatStyleMapping('thetaOffset', layer, configToUpdate.thetaOffset);
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
69
|
/**
|
|
@@ -69,15 +71,14 @@ function handleStyleDataMapping(configToUpdate, layer) {
|
|
|
69
71
|
*/
|
|
70
72
|
|
|
71
73
|
|
|
72
|
-
function
|
|
74
|
+
function floatStyleMapping(fieldName, layer, styleFloat) {
|
|
73
75
|
if ((0, _lodash.isString)(styleFloat)) {
|
|
74
76
|
// 如果传入的 styleFloat 是 string 类型,那么就认为其对应的是传入数据的字段
|
|
75
77
|
registerStyleAttribute(fieldName, layer, styleFloat, function (value) {
|
|
76
78
|
return value;
|
|
77
79
|
});
|
|
78
|
-
} else if ((0, _lodash.isNumber)(styleFloat)) {
|
|
79
|
-
//
|
|
80
|
-
registerStyleAttribute(fieldName, layer, [styleFloat], undefined);
|
|
80
|
+
} else if ((0, _lodash.isNumber)(styleFloat)) {// 传入 number、默认值处理
|
|
81
|
+
// registerStyleAttribute(fieldName, layer, [styleFloat], undefined);
|
|
81
82
|
} else if (Array.isArray(styleFloat) && styleFloat.length === 2) {
|
|
82
83
|
// 传入的 styleFloat 是长度为 2 的数组
|
|
83
84
|
if ((0, _lodash.isString)(styleFloat[0]) && (0, _lodash.isFunction)(styleFloat[1])) {
|
|
@@ -103,7 +104,7 @@ function handleStyleFloat(fieldName, layer, styleFloat) {
|
|
|
103
104
|
*/
|
|
104
105
|
|
|
105
106
|
|
|
106
|
-
function
|
|
107
|
+
function offsetStyleMapping(fieldName, layer, styleOffsets) {
|
|
107
108
|
if ((0, _lodash.isString)(styleOffsets)) {
|
|
108
109
|
// 如果传入的 styleOffsets 是 string 类型,那么就认为其对应的是传入数据的字段
|
|
109
110
|
registerStyleAttribute(fieldName, layer, styleOffsets, function (value) {
|
|
@@ -128,10 +129,9 @@ function handleStyleOffsets(fieldName, layer, styleOffsets) {
|
|
|
128
129
|
*/
|
|
129
130
|
|
|
130
131
|
|
|
131
|
-
function
|
|
132
|
-
if ((0, _lodash.isString)(styleColor)) {
|
|
133
|
-
//
|
|
134
|
-
registerStyleAttribute(fieldName, layer, styleColor, undefined);
|
|
132
|
+
function colorStyleMapping(fieldName, layer, styleColor) {
|
|
133
|
+
if ((0, _lodash.isString)(styleColor)) {// 如果传入的 styleColor 是 string 类型,那么就认为其是颜色值
|
|
134
|
+
// registerStyleAttribute(fieldName, layer, styleColor, undefined);
|
|
135
135
|
} else if (Array.isArray(styleColor) && styleColor.length === 2) {
|
|
136
136
|
// 传入的 styleColor 是长度为 2 的数组
|
|
137
137
|
if ((0, _lodash.isString)(styleColor[0]) && (0, _lodash.isFunction)(styleColor[1])) {
|
package/lib/utils/layerData.js
CHANGED
|
@@ -103,7 +103,7 @@ function unProjectCoordinates(coordinates, mapService) {
|
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
function applyAttributeMapping(attribute, record
|
|
106
|
+
function applyAttributeMapping(attribute, record) {
|
|
107
107
|
var _attribute$scale;
|
|
108
108
|
|
|
109
109
|
if (!attribute.scale) {
|
|
@@ -123,15 +123,10 @@ function applyAttributeMapping(attribute, record, minimumColor) {
|
|
|
123
123
|
}
|
|
124
124
|
});
|
|
125
125
|
var mappingResult = attribute.mapping ? attribute.mapping(params) : [];
|
|
126
|
-
|
|
127
|
-
if (attribute.name === 'color' && !(0, _l7Utils.isColor)(mappingResult[0])) {
|
|
128
|
-
return [minimumColor];
|
|
129
|
-
}
|
|
130
|
-
|
|
131
126
|
return mappingResult;
|
|
132
127
|
}
|
|
133
128
|
|
|
134
|
-
function mapping(attributes, data, fontService, mapService,
|
|
129
|
+
function mapping(attributes, data, fontService, mapService, layer) {
|
|
135
130
|
var _ref2 = layer === null || layer === void 0 ? void 0 : layer.getLayerConfig(),
|
|
136
131
|
_ref2$arrow = _ref2.arrow,
|
|
137
132
|
arrow = _ref2$arrow === void 0 ? {
|
|
@@ -146,7 +141,7 @@ function mapping(attributes, data, fontService, mapService, minimumColor, layer)
|
|
|
146
141
|
attributes.filter(function (attribute) {
|
|
147
142
|
return attribute.scale !== undefined;
|
|
148
143
|
}).forEach(function (attribute) {
|
|
149
|
-
var values = applyAttributeMapping(attribute, record
|
|
144
|
+
var values = applyAttributeMapping(attribute, record);
|
|
150
145
|
attribute.needRemapping = false; // TODO: 支持每个属性配置 postprocess
|
|
151
146
|
|
|
152
147
|
if (attribute.name === 'color') {
|
|
@@ -181,11 +176,10 @@ function mapping(attributes, data, fontService, mapService, minimumColor, layer)
|
|
|
181
176
|
|
|
182
177
|
function calculateData(layer, fontService, mapService, styleAttributeService, data, options) {
|
|
183
178
|
var source = new _l7Source.default(data, options);
|
|
184
|
-
var bottomColor = layer.getBottomColor();
|
|
185
179
|
var attributes = styleAttributeService.getLayerStyleAttributes() || [];
|
|
186
180
|
var dataArray = source.data.dataArray;
|
|
187
181
|
var filterData = dataArray;
|
|
188
|
-
var mappedEncodeData = mapping(attributes, filterData, fontService, mapService,
|
|
182
|
+
var mappedEncodeData = mapping(attributes, filterData, fontService, mapService, layer);
|
|
189
183
|
source.destroy();
|
|
190
184
|
return mappedEncodeData;
|
|
191
185
|
}
|