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