@antv/l7-layers 2.10.3 → 2.10.4
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 +3 -2
- package/es/Geometry/index.js +17 -27
- package/es/Geometry/models/billboard.d.ts +2 -2
- package/es/Geometry/models/billboard.js +37 -77
- package/es/Geometry/models/plane.d.ts +2 -2
- package/es/Geometry/models/plane.js +40 -80
- package/es/Geometry/models/sprite.d.ts +2 -2
- package/es/Geometry/models/sprite.js +45 -83
- package/es/canvas/index.d.ts +3 -2
- package/es/canvas/index.js +19 -29
- package/es/canvas/models/canvas.d.ts +2 -2
- package/es/canvas/models/canvas.js +15 -54
- package/es/citybuliding/building.d.ts +3 -2
- package/es/citybuliding/building.js +17 -26
- package/es/citybuliding/models/build.d.ts +2 -2
- package/es/citybuliding/models/build.js +25 -70
- package/es/core/BaseLayer.d.ts +18 -21
- package/es/core/BaseLayer.js +274 -385
- package/es/core/BaseModel.d.ts +2 -2
- package/es/core/BaseModel.js +6 -47
- package/es/core/triangulation.js +1 -8
- package/es/earth/index.d.ts +2 -2
- package/es/earth/index.js +9 -28
- package/es/earth/models/atmosphere.d.ts +2 -2
- package/es/earth/models/atmosphere.js +22 -67
- package/es/earth/models/base.d.ts +2 -2
- package/es/earth/models/base.js +43 -89
- package/es/earth/models/bloomsphere.d.ts +2 -2
- package/es/earth/models/bloomsphere.js +22 -67
- package/es/heatmap/index.d.ts +3 -2
- package/es/heatmap/index.js +22 -33
- package/es/heatmap/models/grid.d.ts +2 -2
- package/es/heatmap/models/grid.js +27 -68
- package/es/heatmap/models/grid3d.d.ts +2 -2
- package/es/heatmap/models/grid3d.js +28 -69
- package/es/heatmap/models/heatmap.d.ts +2 -2
- package/es/heatmap/models/heatmap.js +14 -40
- package/es/heatmap/models/hexagon.d.ts +2 -2
- package/es/heatmap/models/hexagon.js +28 -69
- package/es/image/index.d.ts +3 -2
- package/es/image/index.js +17 -27
- package/es/image/models/dataImage.d.ts +2 -2
- package/es/image/models/dataImage.js +54 -93
- package/es/image/models/image.d.ts +2 -2
- package/es/image/models/image.js +67 -108
- package/es/image/models/tileDataImage.d.ts +2 -2
- package/es/image/models/tileDataImage.js +43 -84
- package/es/index.d.ts +2 -2
- package/es/index.js +2 -2
- package/es/line/index.d.ts +4 -5
- package/es/line/index.js +25 -51
- package/es/line/models/arc.d.ts +2 -2
- package/es/line/models/arc.js +38 -73
- package/es/line/models/arc_3d.d.ts +2 -2
- package/es/line/models/arc_3d.js +34 -69
- package/es/line/models/earthArc_3d.d.ts +2 -2
- package/es/line/models/earthArc_3d.js +37 -72
- package/es/line/models/great_circle.d.ts +2 -2
- package/es/line/models/great_circle.js +29 -70
- package/es/line/models/half.d.ts +2 -2
- package/es/line/models/half.js +17 -40
- package/es/line/models/index.d.ts +1 -1
- package/es/line/models/index.js +2 -0
- package/es/line/models/line.d.ts +2 -2
- package/es/line/models/line.js +47 -79
- package/es/line/models/linearline.d.ts +2 -2
- package/es/line/models/linearline.js +31 -70
- package/es/line/models/simpleLine.d.ts +2 -2
- package/es/line/models/simpleLine.js +34 -71
- package/es/line/models/simpleTileLine.d.ts +2 -2
- package/es/line/models/simpleTileLine.js +30 -70
- package/es/line/models/tile.d.ts +2 -2
- package/es/line/models/tile.js +17 -40
- package/es/line/models/wall.d.ts +2 -2
- package/es/line/models/wall.js +22 -67
- package/es/mask/index.d.ts +4 -2
- package/es/mask/index.js +97 -27
- package/es/mask/models/fill.d.ts +2 -2
- package/es/mask/models/fill.js +16 -40
- package/es/mask/models/index.d.ts +1 -1
- package/es/mask/models/index.js +3 -1
- package/es/plugins/DataMappingPlugin.d.ts +2 -0
- package/es/plugins/DataMappingPlugin.js +152 -90
- package/es/plugins/DataSourcePlugin.js +30 -74
- package/es/plugins/FeatureScalePlugin.d.ts +1 -0
- package/es/plugins/FeatureScalePlugin.js +61 -85
- package/es/plugins/LayerModelPlugin.d.ts +2 -2
- package/es/plugins/LayerModelPlugin.js +37 -121
- package/es/plugins/LayerStylePlugin.js +6 -1
- package/es/plugins/MultiPassRendererPlugin.js +1 -1
- package/es/plugins/PixelPickingPlugin.js +1 -1
- package/es/plugins/RegisterStyleAttributePlugin.js +16 -1
- package/es/plugins/UpdateModelPlugin.js +0 -3
- package/es/plugins/UpdateStyleAttributePlugin.js +6 -3
- package/es/point/index.d.ts +4 -4
- package/es/point/index.js +23 -55
- package/es/point/models/earthExtrude.d.ts +2 -2
- package/es/point/models/earthExtrude.js +30 -73
- package/es/point/models/earthFill.d.ts +2 -2
- package/es/point/models/earthFill.js +21 -66
- package/es/point/models/extrude.d.ts +2 -2
- package/es/point/models/extrude.js +17 -40
- package/es/point/models/fill.d.ts +2 -2
- package/es/point/models/fill.js +20 -43
- package/es/point/models/fillmage.d.ts +2 -2
- package/es/point/models/fillmage.js +43 -82
- package/es/point/models/image.d.ts +2 -2
- package/es/point/models/image.js +31 -72
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +2 -0
- package/es/point/models/normal.d.ts +2 -2
- package/es/point/models/normal.js +30 -71
- package/es/point/models/radar.d.ts +2 -2
- package/es/point/models/radar.js +35 -75
- package/es/point/models/simplePoint.d.ts +2 -2
- package/es/point/models/simplePoint.js +29 -70
- package/es/point/models/text.d.ts +2 -3
- package/es/point/models/text.js +110 -183
- package/es/point/models/tile.d.ts +2 -2
- package/es/point/models/tile.js +35 -77
- package/es/point/models/tileText.d.ts +2 -2
- package/es/point/models/tileText.js +116 -151
- package/es/polygon/index.d.ts +3 -2
- package/es/polygon/index.js +24 -27
- package/es/polygon/models/extrude.d.ts +2 -2
- package/es/polygon/models/extrude.js +32 -69
- package/es/polygon/models/fill.d.ts +2 -2
- package/es/polygon/models/fill.js +43 -76
- package/es/polygon/models/index.d.ts +1 -1
- package/es/polygon/models/index.js +2 -0
- package/es/polygon/models/ocean.d.ts +2 -2
- package/es/polygon/models/ocean.js +28 -69
- package/es/polygon/models/tile.d.ts +2 -2
- package/es/polygon/models/tile.js +30 -70
- package/es/polygon/models/water.d.ts +2 -2
- package/es/polygon/models/water.js +28 -69
- package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -1
- package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +2 -1
- package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +2 -1
- package/es/raster/index.d.ts +4 -3
- package/es/raster/index.js +22 -28
- package/es/raster/models/index.d.ts +1 -1
- package/es/raster/models/index.js +3 -1
- package/es/raster/models/raster.d.ts +2 -2
- package/es/raster/models/raster.js +13 -36
- package/es/raster/models/rasterRgb.d.ts +2 -2
- package/es/raster/models/rasterRgb.js +13 -36
- package/es/raster/models/rasterTile.d.ts +2 -2
- package/es/raster/models/rasterTile.js +36 -77
- package/es/raster/raster.d.ts +1 -1
- package/es/raster/raster.js +22 -42
- package/es/tile/interaction/TilePickService.d.ts +16 -0
- package/es/tile/interaction/TilePickService.js +129 -0
- package/es/tile/interaction/getRasterData.d.ts +2 -2
- package/es/tile/interaction/utils.js +11 -3
- package/es/tile/interface.d.ts +4 -5
- package/es/tile/manager/base.d.ts +12 -17
- package/es/tile/manager/base.js +47 -212
- package/es/tile/manager/layerManager.d.ts +19 -0
- package/es/tile/manager/layerManager.js +254 -0
- package/es/tile/manager/mapLayerManager.d.ts +7 -0
- package/es/tile/manager/mapLayerManager.js +119 -0
- package/es/tile/models/tileModel.d.ts +10 -0
- package/es/tile/models/tileModel.js +81 -0
- package/es/tile/render/TileRenderService.d.ts +10 -0
- package/es/tile/render/TileRenderService.js +68 -0
- package/es/tile/style/TileStyleService.d.ts +17 -0
- package/es/tile/style/TileStyleService.js +118 -0
- package/es/tile/style/constants.d.ts +13 -1
- package/es/tile/style/constants.js +15 -6
- package/es/tile/style/utils.d.ts +8 -1
- package/es/tile/style/utils.js +126 -0
- package/es/tile/tileFactory/base.d.ts +45 -0
- package/es/tile/tileFactory/base.js +403 -0
- package/es/tile/tileFactory/index.d.ts +4 -10
- package/es/tile/tileFactory/index.js +23 -30
- package/es/tile/tileFactory/layers/{RasterDataLayer.d.ts → rasterDataLayer.d.ts} +3 -3
- package/es/tile/tileFactory/layers/{RasterDataLayer.js → rasterDataLayer.js} +21 -33
- package/es/tile/tileFactory/layers/{TileDebugLayer.d.ts → tileTest.d.ts} +2 -2
- package/es/tile/tileFactory/layers/{TileDebugLayer.js → tileTest.js} +10 -23
- package/es/tile/tileFactory/layers/vectorLayer.d.ts +30 -0
- package/es/tile/tileFactory/layers/vectorLayer.js +253 -0
- package/es/tile/tileFactory/line.d.ts +12 -0
- package/es/tile/tileFactory/line.js +59 -0
- package/es/tile/tileFactory/mask.d.ts +12 -0
- package/es/tile/tileFactory/mask.js +60 -0
- package/es/tile/tileFactory/point.d.ts +12 -0
- package/es/tile/tileFactory/point.js +60 -0
- package/es/tile/tileFactory/polygon.d.ts +12 -0
- package/es/tile/tileFactory/polygon.js +59 -0
- package/es/tile/tileFactory/raster.d.ts +12 -0
- package/es/tile/tileFactory/raster.js +55 -0
- package/es/tile/tileFactory/rasterData.d.ts +12 -0
- package/es/tile/tileFactory/rasterData.js +81 -0
- package/es/tile/tileFactory/test.d.ts +12 -0
- package/es/tile/tileFactory/test.js +94 -0
- package/es/tile/tileLayer/MapTileLayer.d.ts +6 -0
- package/es/tile/tileLayer/MapTileLayer.js +48 -0
- package/es/tile/tileLayer/TileLayer.d.ts +22 -0
- package/es/tile/tileLayer/TileLayer.js +198 -0
- package/es/tile/tileLayer/base.d.ts +33 -0
- package/es/tile/tileLayer/base.js +212 -0
- package/es/tile/utils.d.ts +11 -1
- package/es/tile/utils.js +129 -0
- package/es/utils/dataMappingStyle.d.ts +4 -4
- package/es/utils/dataMappingStyle.js +18 -16
- package/es/utils/layerData.js +11 -5
- package/es/wind/index.d.ts +3 -2
- package/es/wind/index.js +17 -27
- package/es/wind/models/wind.d.ts +2 -2
- package/es/wind/models/wind.js +104 -123
- package/lib/Geometry/index.js +17 -29
- package/lib/Geometry/models/billboard.js +37 -79
- package/lib/Geometry/models/plane.js +40 -82
- package/lib/Geometry/models/sprite.js +45 -85
- package/lib/canvas/index.js +19 -31
- package/lib/canvas/models/canvas.js +15 -56
- package/lib/citybuliding/building.js +17 -28
- package/lib/citybuliding/models/build.js +25 -72
- package/lib/core/BaseLayer.js +269 -385
- package/lib/core/BaseModel.js +6 -48
- package/lib/core/triangulation.js +1 -8
- package/lib/earth/index.js +9 -30
- package/lib/earth/models/atmosphere.js +22 -69
- package/lib/earth/models/base.js +42 -90
- package/lib/earth/models/bloomsphere.js +22 -69
- package/lib/heatmap/index.js +22 -35
- package/lib/heatmap/models/grid.js +27 -70
- package/lib/heatmap/models/grid3d.js +28 -71
- package/lib/heatmap/models/heatmap.js +14 -40
- package/lib/heatmap/models/hexagon.js +28 -71
- package/lib/image/index.js +17 -29
- package/lib/image/models/dataImage.js +54 -95
- package/lib/image/models/image.js +67 -110
- package/lib/image/models/tileDataImage.js +43 -86
- package/lib/index.js +5 -5
- package/lib/line/index.js +26 -53
- package/lib/line/models/arc.js +38 -75
- package/lib/line/models/arc_3d.js +34 -71
- package/lib/line/models/earthArc_3d.js +37 -74
- package/lib/line/models/great_circle.js +29 -72
- package/lib/line/models/half.js +17 -40
- package/lib/line/models/index.js +3 -0
- package/lib/line/models/line.js +47 -81
- package/lib/line/models/linearline.js +31 -72
- package/lib/line/models/simpleLine.js +34 -73
- package/lib/line/models/simpleTileLine.js +30 -72
- package/lib/line/models/tile.js +17 -40
- package/lib/line/models/wall.js +22 -69
- package/lib/mask/index.js +99 -28
- package/lib/mask/models/fill.js +16 -40
- package/lib/mask/models/index.js +4 -1
- package/lib/plugins/DataMappingPlugin.js +149 -91
- package/lib/plugins/DataSourcePlugin.js +30 -76
- package/lib/plugins/FeatureScalePlugin.js +61 -87
- package/lib/plugins/LayerModelPlugin.js +41 -128
- package/lib/plugins/LayerStylePlugin.js +6 -1
- package/lib/plugins/MultiPassRendererPlugin.js +1 -1
- package/lib/plugins/PixelPickingPlugin.js +1 -1
- package/lib/plugins/RegisterStyleAttributePlugin.js +16 -1
- package/lib/plugins/UpdateModelPlugin.js +0 -3
- package/lib/plugins/UpdateStyleAttributePlugin.js +6 -3
- package/lib/point/index.js +24 -56
- package/lib/point/models/earthExtrude.js +30 -75
- package/lib/point/models/earthFill.js +21 -68
- package/lib/point/models/extrude.js +17 -40
- package/lib/point/models/fill.js +21 -44
- package/lib/point/models/fillmage.js +43 -84
- package/lib/point/models/image.js +31 -74
- package/lib/point/models/index.js +3 -0
- package/lib/point/models/normal.js +30 -73
- package/lib/point/models/radar.js +35 -77
- package/lib/point/models/simplePoint.js +29 -72
- package/lib/point/models/text.js +109 -183
- package/lib/point/models/tile.js +35 -79
- package/lib/point/models/tileText.js +115 -151
- package/lib/polygon/index.js +25 -29
- package/lib/polygon/models/extrude.js +32 -71
- package/lib/polygon/models/fill.js +43 -78
- package/lib/polygon/models/index.js +3 -0
- package/lib/polygon/models/ocean.js +28 -71
- package/lib/polygon/models/tile.js +30 -72
- package/lib/polygon/models/water.js +28 -71
- package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -1
- package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +2 -1
- package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +2 -1
- package/lib/raster/index.js +22 -30
- package/lib/raster/models/index.js +4 -1
- package/lib/raster/models/raster.js +13 -36
- package/lib/raster/models/rasterRgb.js +13 -36
- package/lib/raster/models/rasterTile.js +36 -79
- package/lib/raster/raster.js +22 -44
- package/lib/tile/interaction/TilePickService.js +143 -0
- package/lib/tile/interaction/utils.js +11 -3
- package/lib/tile/manager/base.js +47 -213
- package/lib/tile/manager/layerManager.js +275 -0
- package/lib/tile/manager/mapLayerManager.js +134 -0
- package/lib/tile/models/tileModel.js +94 -0
- package/lib/tile/render/TileRenderService.js +78 -0
- package/lib/tile/style/TileStyleService.js +133 -0
- package/lib/tile/style/constants.js +19 -8
- package/lib/tile/style/utils.js +140 -0
- package/lib/tile/tileFactory/base.js +427 -0
- package/lib/tile/tileFactory/index.js +24 -42
- package/lib/tile/tileFactory/layers/{RasterDataLayer.js → rasterDataLayer.js} +21 -35
- package/lib/tile/tileFactory/layers/{TileDebugLayer.js → tileTest.js} +11 -24
- package/lib/tile/tileFactory/layers/vectorLayer.js +268 -0
- package/lib/tile/tileFactory/line.js +70 -0
- package/lib/tile/tileFactory/mask.js +71 -0
- package/lib/tile/tileFactory/point.js +71 -0
- package/lib/tile/tileFactory/polygon.js +70 -0
- package/lib/tile/tileFactory/raster.js +68 -0
- package/lib/tile/tileFactory/rasterData.js +93 -0
- package/lib/tile/tileFactory/test.js +106 -0
- package/lib/tile/tileLayer/MapTileLayer.js +63 -0
- package/lib/tile/tileLayer/TileLayer.js +215 -0
- package/lib/tile/tileLayer/base.js +225 -0
- package/lib/tile/utils.js +148 -0
- package/lib/utils/dataMappingStyle.js +20 -18
- package/lib/utils/layerData.js +10 -4
- package/lib/wind/index.js +17 -29
- package/lib/wind/models/wind.js +104 -125
- package/package.json +7 -7
- package/es/core/LayerPickService.d.ts +0 -9
- package/es/core/LayerPickService.js +0 -85
- package/es/tile/service/TileLayerService.d.ts +0 -33
- package/es/tile/service/TileLayerService.js +0 -172
- package/es/tile/service/TilePickService.d.ts +0 -22
- package/es/tile/service/TilePickService.js +0 -148
- package/es/tile/service/TileSourceService.d.ts +0 -7
- package/es/tile/service/TileSourceService.js +0 -39
- package/es/tile/tileFactory/DebugTile.d.ts +0 -16
- package/es/tile/tileFactory/DebugTile.js +0 -100
- package/es/tile/tileFactory/ImageTile.d.ts +0 -14
- package/es/tile/tileFactory/ImageTile.js +0 -89
- package/es/tile/tileFactory/MaskTile.d.ts +0 -17
- package/es/tile/tileFactory/MaskTile.js +0 -98
- package/es/tile/tileFactory/RasterRGBTile.d.ts +0 -16
- package/es/tile/tileFactory/RasterRGBTile.js +0 -91
- package/es/tile/tileFactory/RasterTile.d.ts +0 -27
- package/es/tile/tileFactory/RasterTile.js +0 -186
- package/es/tile/tileFactory/Tile.d.ts +0 -34
- package/es/tile/tileFactory/Tile.js +0 -199
- package/es/tile/tileFactory/VectorTile.d.ts +0 -20
- package/es/tile/tileFactory/VectorTile.js +0 -152
- package/es/tile/tileFactory/util.d.ts +0 -6
- package/es/tile/tileFactory/util.js +0 -33
- package/es/tile/tileLayer/BaseLayer.d.ts +0 -46
- package/es/tile/tileLayer/BaseLayer.js +0 -358
- package/lib/core/LayerPickService.js +0 -96
- package/lib/tile/service/TileLayerService.js +0 -185
- package/lib/tile/service/TilePickService.js +0 -162
- package/lib/tile/service/TileSourceService.js +0 -59
- package/lib/tile/tileFactory/DebugTile.js +0 -115
- package/lib/tile/tileFactory/ImageTile.js +0 -104
- package/lib/tile/tileFactory/MaskTile.js +0 -113
- package/lib/tile/tileFactory/RasterRGBTile.js +0 -106
- package/lib/tile/tileFactory/RasterTile.js +0 -205
- package/lib/tile/tileFactory/Tile.js +0 -210
- package/lib/tile/tileFactory/VectorTile.js +0 -167
- package/lib/tile/tileFactory/util.js +0 -48
- package/lib/tile/tileLayer/BaseLayer.js +0 -373
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
4
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
5
|
+
import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
6
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
7
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
8
|
+
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
9
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
10
|
+
|
|
11
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
12
|
+
|
|
13
|
+
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; } }
|
|
14
|
+
|
|
15
|
+
import { TileLayerManager } from "../manager/layerManager";
|
|
16
|
+
import { Base } from "./base";
|
|
17
|
+
import { setSelect, setHighlight, setPickState as _setPickState, clearPickState as _clearPickState } from "../interaction/utils";
|
|
18
|
+
export var TileLayer = /*#__PURE__*/function (_Base) {
|
|
19
|
+
_inherits(TileLayer, _Base);
|
|
20
|
+
|
|
21
|
+
var _super = _createSuper(TileLayer);
|
|
22
|
+
|
|
23
|
+
function TileLayer(_ref) {
|
|
24
|
+
var _parentSource$data;
|
|
25
|
+
|
|
26
|
+
var _this;
|
|
27
|
+
|
|
28
|
+
var parent = _ref.parent,
|
|
29
|
+
rendererService = _ref.rendererService,
|
|
30
|
+
mapService = _ref.mapService,
|
|
31
|
+
layerService = _ref.layerService,
|
|
32
|
+
pickingService = _ref.pickingService,
|
|
33
|
+
transforms = _ref.transforms;
|
|
34
|
+
|
|
35
|
+
_classCallCheck(this, TileLayer);
|
|
36
|
+
|
|
37
|
+
_this = _super.call(this);
|
|
38
|
+
|
|
39
|
+
_defineProperty(_assertThisInitialized(_this), "pickColors", {
|
|
40
|
+
select: null,
|
|
41
|
+
active: null
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
var parentSource = parent.getSource();
|
|
45
|
+
|
|
46
|
+
var _ref2 = (parentSource === null || parentSource === void 0 ? void 0 : (_parentSource$data = parentSource.data) === null || _parentSource$data === void 0 ? void 0 : _parentSource$data.tilesetOptions) || {},
|
|
47
|
+
sourceLayer = _ref2.sourceLayer;
|
|
48
|
+
|
|
49
|
+
_this.sourceLayer = sourceLayer;
|
|
50
|
+
_this.parent = parent;
|
|
51
|
+
_this.mapService = mapService;
|
|
52
|
+
_this.layerService = layerService;
|
|
53
|
+
_this.tileLayerManager = new TileLayerManager(parent, mapService, rendererService, pickingService, transforms);
|
|
54
|
+
|
|
55
|
+
_this.initTileSetManager();
|
|
56
|
+
|
|
57
|
+
_this.bindSubLayerEvent();
|
|
58
|
+
|
|
59
|
+
_this.bindSubLayerPick();
|
|
60
|
+
|
|
61
|
+
_this.scaleField = _this.parent.getScaleOptions();
|
|
62
|
+
return _this;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
_createClass(TileLayer, [{
|
|
66
|
+
key: "children",
|
|
67
|
+
get: function get() {
|
|
68
|
+
return this.tileLayerManager.children;
|
|
69
|
+
}
|
|
70
|
+
}, {
|
|
71
|
+
key: "clearPick",
|
|
72
|
+
value: function clearPick(type) {
|
|
73
|
+
// Tip: 瓦片只有在 mousemove 的时候需要设置清除
|
|
74
|
+
if (type === 'mousemove') {
|
|
75
|
+
this.tileLayerManager.tilePickService.clearPick();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* 清除 select 的选中状态
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
}, {
|
|
83
|
+
key: "clearPickState",
|
|
84
|
+
value: function clearPickState() {
|
|
85
|
+
_clearPickState(this.children);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* 瓦片图层独立的拾取逻辑
|
|
89
|
+
* @param target
|
|
90
|
+
* @returns
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
}, {
|
|
94
|
+
key: "pickLayers",
|
|
95
|
+
value: function pickLayers(target) {
|
|
96
|
+
return this.tileLayerManager.pickLayers(target);
|
|
97
|
+
}
|
|
98
|
+
}, {
|
|
99
|
+
key: "setPickState",
|
|
100
|
+
value: function setPickState(layers) {
|
|
101
|
+
_setPickState(layers, this.pickColors);
|
|
102
|
+
}
|
|
103
|
+
}, {
|
|
104
|
+
key: "bindSubLayerPick",
|
|
105
|
+
value: function bindSubLayerPick() {
|
|
106
|
+
var _this2 = this;
|
|
107
|
+
|
|
108
|
+
this.tileLayerManager.tilePickService.on('pick', function (e) {
|
|
109
|
+
// @ts-ignore
|
|
110
|
+
var _e$pickedColors = _slicedToArray(e.pickedColors, 3),
|
|
111
|
+
r = _e$pickedColors[0],
|
|
112
|
+
g = _e$pickedColors[1],
|
|
113
|
+
b = _e$pickedColors[2];
|
|
114
|
+
|
|
115
|
+
if (e.type === 'click') {
|
|
116
|
+
var restLayers = _this2.children.filter(function (child) {
|
|
117
|
+
return child.inited && child.isVisible() && child.isVector;
|
|
118
|
+
}).filter(function (child) {
|
|
119
|
+
return child !== e.layer;
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
var renderList = _this2.layerService.getRenderList();
|
|
123
|
+
|
|
124
|
+
var color = setSelect(restLayers, [r, g, b], renderList);
|
|
125
|
+
_this2.pickColors.select = color;
|
|
126
|
+
} else {
|
|
127
|
+
setHighlight(_this2.children, [r, g, b]);
|
|
128
|
+
_this2.pickColors.active = [r, g, b];
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
this.tileLayerManager.tilePickService.on('unpick', function () {
|
|
132
|
+
_this2.pickColors.active = null;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}, {
|
|
136
|
+
key: "bindSubLayerEvent",
|
|
137
|
+
value: function bindSubLayerEvent() {
|
|
138
|
+
var _this3 = this;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* layer.on('click', (ev) => {}); // 鼠标左键点击图层事件
|
|
142
|
+
* layer.on('mouseenter', (ev) => {}); // 鼠标进入图层要素
|
|
143
|
+
* layer.on('mousemove', (ev) => {}); // 鼠标在图层上移动时触发
|
|
144
|
+
* layer.on('mouseout', (ev) => {}); // 鼠标移出图层要素时触发
|
|
145
|
+
* layer.on('mouseup', (ev) => {}); // 鼠标在图层上单击抬起时触发
|
|
146
|
+
* layer.on('mousedown', (ev) => {}); // 鼠标在图层上单击按下时触发
|
|
147
|
+
* layer.on('contextmenu', (ev) => {}); // 图层要素点击右键菜单
|
|
148
|
+
*
|
|
149
|
+
* 鼠标在图层外的事件
|
|
150
|
+
* layer.on('unclick', (ev) => {}); // 图层外点击
|
|
151
|
+
* layer.on('unmousemove', (ev) => {}); // 图层外移动
|
|
152
|
+
* layer.on('unmouseup', (ev) => {}); // 图层外鼠标抬起
|
|
153
|
+
* layer.on('unmousedown', (ev) => {}); // 图层外单击按下时触发
|
|
154
|
+
* layer.on('uncontextmenu', (ev) => {}); // 图层外点击右键
|
|
155
|
+
* layer.on('unpick', (ev) => {}); // 图层外的操作的所有事件
|
|
156
|
+
*/
|
|
157
|
+
this.parent.on('subLayerClick', function (e) {
|
|
158
|
+
_this3.parent.emit('click', _objectSpread({}, e));
|
|
159
|
+
});
|
|
160
|
+
this.parent.on('subLayerMouseMove', function (e) {
|
|
161
|
+
return _this3.parent.emit('mousemove', _objectSpread({}, e));
|
|
162
|
+
});
|
|
163
|
+
this.parent.on('subLayerMouseUp', function (e) {
|
|
164
|
+
return _this3.parent.emit('mouseup', _objectSpread({}, e));
|
|
165
|
+
});
|
|
166
|
+
this.parent.on('subLayerMouseEnter', function (e) {
|
|
167
|
+
return _this3.parent.emit('mouseenter', _objectSpread({}, e));
|
|
168
|
+
});
|
|
169
|
+
this.parent.on('subLayerMouseOut', function (e) {
|
|
170
|
+
return _this3.parent.emit('mouseout', _objectSpread({}, e));
|
|
171
|
+
});
|
|
172
|
+
this.parent.on('subLayerMouseDown', function (e) {
|
|
173
|
+
return _this3.parent.emit('mousedown', _objectSpread({}, e));
|
|
174
|
+
});
|
|
175
|
+
this.parent.on('subLayerContextmenu', function (e) {
|
|
176
|
+
return _this3.parent.emit('contextmenu', _objectSpread({}, e));
|
|
177
|
+
}); // vector layer 图层外事件
|
|
178
|
+
|
|
179
|
+
this.parent.on('subLayerUnClick', function (e) {
|
|
180
|
+
return _this3.parent.emit('unclick', _objectSpread({}, e));
|
|
181
|
+
});
|
|
182
|
+
this.parent.on('subLayerUnMouseMove', function (e) {
|
|
183
|
+
return _this3.parent.emit('unmousemove', _objectSpread({}, e));
|
|
184
|
+
});
|
|
185
|
+
this.parent.on('subLayerUnMouseUp', function (e) {
|
|
186
|
+
return _this3.parent.emit('unmouseup', _objectSpread({}, e));
|
|
187
|
+
});
|
|
188
|
+
this.parent.on('subLayerUnMouseDown', function (e) {
|
|
189
|
+
return _this3.parent.emit('unmousedown', _objectSpread({}, e));
|
|
190
|
+
});
|
|
191
|
+
this.parent.on('subLayerUnContextmenu', function (e) {
|
|
192
|
+
return _this3.parent.emit('uncontextmenu', _objectSpread({}, e));
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}]);
|
|
196
|
+
|
|
197
|
+
return TileLayer;
|
|
198
|
+
}(Base);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ILayer, IMapService, ILayerService } from '@antv/l7-core';
|
|
2
|
+
import { Tile, TilesetManager } from '@antv/l7-utils';
|
|
3
|
+
export declare class Base {
|
|
4
|
+
tileLayerManager: any;
|
|
5
|
+
get children(): any;
|
|
6
|
+
sourceLayer: string;
|
|
7
|
+
parent: ILayer;
|
|
8
|
+
initedTileset: boolean;
|
|
9
|
+
tilesetManager: TilesetManager | undefined;
|
|
10
|
+
scaleField: any;
|
|
11
|
+
protected mapService: IMapService;
|
|
12
|
+
protected layerService: ILayerService;
|
|
13
|
+
protected lastViewStates: {
|
|
14
|
+
zoom: number;
|
|
15
|
+
latLonBounds: [number, number, number, number];
|
|
16
|
+
};
|
|
17
|
+
protected mapchange(): void;
|
|
18
|
+
protected getCurrentView(): {
|
|
19
|
+
latLonBounds: [number, number, number, number];
|
|
20
|
+
zoom: number;
|
|
21
|
+
};
|
|
22
|
+
protected initTileSetManager(): void;
|
|
23
|
+
private bindTilesetEvent;
|
|
24
|
+
render(): void;
|
|
25
|
+
viewchange: import("lodash").DebouncedFunc<() => void>;
|
|
26
|
+
tileLoaded(tile: Tile): void;
|
|
27
|
+
tileError(error: Error): void;
|
|
28
|
+
destroy(): void;
|
|
29
|
+
tileUnLoad(tile: Tile): void;
|
|
30
|
+
tileUpdate(): void;
|
|
31
|
+
isTileReady(tile: Tile): boolean;
|
|
32
|
+
setPickState(layers: ILayer[]): void;
|
|
33
|
+
}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
|
+
import { debounce } from 'lodash';
|
|
5
|
+
import { updateTileVisible } from "../utils";
|
|
6
|
+
export var Base = /*#__PURE__*/function () {
|
|
7
|
+
function Base() {
|
|
8
|
+
_classCallCheck(this, Base);
|
|
9
|
+
|
|
10
|
+
_defineProperty(this, "initedTileset", false);
|
|
11
|
+
|
|
12
|
+
_defineProperty(this, "viewchange", debounce(this.mapchange, 200));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
_createClass(Base, [{
|
|
16
|
+
key: "children",
|
|
17
|
+
get: function get() {
|
|
18
|
+
return this.tileLayerManager.children;
|
|
19
|
+
}
|
|
20
|
+
}, {
|
|
21
|
+
key: "mapchange",
|
|
22
|
+
value: function mapchange() {
|
|
23
|
+
var _this$tilesetManager;
|
|
24
|
+
|
|
25
|
+
var _this$getCurrentView = this.getCurrentView(),
|
|
26
|
+
latLonBounds = _this$getCurrentView.latLonBounds,
|
|
27
|
+
zoom = _this$getCurrentView.zoom;
|
|
28
|
+
|
|
29
|
+
if (this.mapService.version === 'GAODE1.x') {
|
|
30
|
+
var _this$parent$getLayer = this.parent.getLayerConfig(),
|
|
31
|
+
visible = _this$parent$getLayer.visible;
|
|
32
|
+
|
|
33
|
+
if (zoom < 3 && visible) {
|
|
34
|
+
this.parent.updateLayerConfig({
|
|
35
|
+
visible: false
|
|
36
|
+
});
|
|
37
|
+
this.layerService.reRender();
|
|
38
|
+
} else if (zoom >= 3 && !visible) {
|
|
39
|
+
this.parent.updateLayerConfig({
|
|
40
|
+
visible: true
|
|
41
|
+
});
|
|
42
|
+
this.layerService.reRender();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (this.lastViewStates && this.lastViewStates.zoom === zoom && this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
this.lastViewStates = {
|
|
51
|
+
zoom: zoom,
|
|
52
|
+
latLonBounds: latLonBounds
|
|
53
|
+
};
|
|
54
|
+
(_this$tilesetManager = this.tilesetManager) === null || _this$tilesetManager === void 0 ? void 0 : _this$tilesetManager.throttleUpdate(zoom, latLonBounds);
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
key: "getCurrentView",
|
|
58
|
+
value: function getCurrentView() {
|
|
59
|
+
var bounds = this.mapService.getBounds();
|
|
60
|
+
var latLonBounds = [bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1]];
|
|
61
|
+
var zoom = this.mapService.getZoom();
|
|
62
|
+
return {
|
|
63
|
+
latLonBounds: latLonBounds,
|
|
64
|
+
zoom: zoom
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}, {
|
|
68
|
+
key: "initTileSetManager",
|
|
69
|
+
value: function initTileSetManager() {
|
|
70
|
+
var _this$tilesetManager2;
|
|
71
|
+
|
|
72
|
+
var source = this.parent.getSource();
|
|
73
|
+
this.tilesetManager = source.tileset;
|
|
74
|
+
|
|
75
|
+
if (!this.initedTileset) {
|
|
76
|
+
this.bindTilesetEvent();
|
|
77
|
+
this.initedTileset = true;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
var _this$getCurrentView2 = this.getCurrentView(),
|
|
81
|
+
latLonBounds = _this$getCurrentView2.latLonBounds,
|
|
82
|
+
zoom = _this$getCurrentView2.zoom;
|
|
83
|
+
|
|
84
|
+
(_this$tilesetManager2 = this.tilesetManager) === null || _this$tilesetManager2 === void 0 ? void 0 : _this$tilesetManager2.update(zoom, latLonBounds);
|
|
85
|
+
}
|
|
86
|
+
}, {
|
|
87
|
+
key: "bindTilesetEvent",
|
|
88
|
+
value: function bindTilesetEvent() {
|
|
89
|
+
var _this = this;
|
|
90
|
+
|
|
91
|
+
if (!this.tilesetManager) {
|
|
92
|
+
return;
|
|
93
|
+
} // 瓦片数据加载成功
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
this.tilesetManager.on('tile-loaded', function (tile) {// 将事件抛出,图层上可以监听使用
|
|
98
|
+
}); // 瓦片数据从缓存删除或被执行重新加载
|
|
99
|
+
|
|
100
|
+
this.tilesetManager.on('tile-unload', function (tile) {
|
|
101
|
+
// 将事件抛出,图层上可以监听使用
|
|
102
|
+
_this.tileUnLoad(tile);
|
|
103
|
+
}); // 瓦片数据加载失败
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
105
|
+
|
|
106
|
+
this.tilesetManager.on('tile-error', function (error, tile) {
|
|
107
|
+
// 将事件抛出,图层上可以监听使用
|
|
108
|
+
_this.tileError(error);
|
|
109
|
+
}); // 瓦片显隐状态更新
|
|
110
|
+
|
|
111
|
+
this.tilesetManager.on('tile-update', function () {
|
|
112
|
+
_this.tileUpdate();
|
|
113
|
+
}); // 地图视野发生改变
|
|
114
|
+
|
|
115
|
+
this.mapService.on('zoomend', function () {
|
|
116
|
+
return _this.viewchange();
|
|
117
|
+
});
|
|
118
|
+
this.mapService.on('moveend', function () {
|
|
119
|
+
return _this.viewchange();
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}, {
|
|
123
|
+
key: "render",
|
|
124
|
+
value: function render() {
|
|
125
|
+
this.tileLayerManager.render();
|
|
126
|
+
} // 防抖操作
|
|
127
|
+
|
|
128
|
+
}, {
|
|
129
|
+
key: "tileLoaded",
|
|
130
|
+
value: // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
131
|
+
function tileLoaded(tile) {//
|
|
132
|
+
}
|
|
133
|
+
}, {
|
|
134
|
+
key: "tileError",
|
|
135
|
+
value: function tileError(error) {
|
|
136
|
+
console.warn('error:', error);
|
|
137
|
+
}
|
|
138
|
+
}, {
|
|
139
|
+
key: "destroy",
|
|
140
|
+
value: function destroy() {
|
|
141
|
+
var _this$tilesetManager3;
|
|
142
|
+
|
|
143
|
+
(_this$tilesetManager3 = this.tilesetManager) === null || _this$tilesetManager3 === void 0 ? void 0 : _this$tilesetManager3.destroy();
|
|
144
|
+
this.tileLayerManager.destroy();
|
|
145
|
+
}
|
|
146
|
+
}, {
|
|
147
|
+
key: "tileUnLoad",
|
|
148
|
+
value: function tileUnLoad(tile) {
|
|
149
|
+
this.tileLayerManager.removeTile(tile);
|
|
150
|
+
}
|
|
151
|
+
}, {
|
|
152
|
+
key: "tileUpdate",
|
|
153
|
+
value: function tileUpdate() {
|
|
154
|
+
var _this2 = this;
|
|
155
|
+
|
|
156
|
+
if (!this.tilesetManager) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
this.tilesetManager.tiles.filter(function (tile) {
|
|
161
|
+
return tile.isLoaded;
|
|
162
|
+
}).map(function (tile) {
|
|
163
|
+
if (!_this2.isTileReady(tile)) return;
|
|
164
|
+
|
|
165
|
+
if (!_this2.tileLayerManager.hasTile(tile)) {
|
|
166
|
+
var _this2$tileLayerManag = _this2.tileLayerManager.addTile(tile),
|
|
167
|
+
layers = _this2$tileLayerManag.layers;
|
|
168
|
+
|
|
169
|
+
_this2.setPickState(layers);
|
|
170
|
+
} else {
|
|
171
|
+
if (!tile.isVisibleChange) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
var _layers = _this2.tileLayerManager.getChildren(tile.layerIDList);
|
|
176
|
+
|
|
177
|
+
updateTileVisible(tile, _layers, _this2.layerService);
|
|
178
|
+
|
|
179
|
+
_this2.setPickState(_layers);
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
if (this.tilesetManager.isLoaded) {
|
|
184
|
+
// 将事件抛出,图层上可以使用瓦片
|
|
185
|
+
this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}, {
|
|
189
|
+
key: "isTileReady",
|
|
190
|
+
value: function isTileReady(tile) {
|
|
191
|
+
var _tile$data;
|
|
192
|
+
|
|
193
|
+
if ((_tile$data = tile.data) !== null && _tile$data !== void 0 && _tile$data.layers && this.sourceLayer) {
|
|
194
|
+
// vector
|
|
195
|
+
var vectorTileLayer = tile.data.layers[this.sourceLayer];
|
|
196
|
+
var features = vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.features;
|
|
197
|
+
|
|
198
|
+
if (!(Array.isArray(features) && features.length > 0)) {
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
return true;
|
|
204
|
+
} // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
205
|
+
|
|
206
|
+
}, {
|
|
207
|
+
key: "setPickState",
|
|
208
|
+
value: function setPickState(layers) {}
|
|
209
|
+
}]);
|
|
210
|
+
|
|
211
|
+
return Base;
|
|
212
|
+
}();
|
package/es/tile/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ILayer } from '@antv/l7-core';
|
|
1
|
+
import { ILayer, ILayerService } from '@antv/l7-core';
|
|
2
|
+
import { Tile } from '@antv/l7-utils';
|
|
2
3
|
export declare const tileVectorParser: string[];
|
|
3
4
|
/**
|
|
4
5
|
* 判断当前图层是否是瓦片图层
|
|
@@ -6,7 +7,16 @@ export declare const tileVectorParser: string[];
|
|
|
6
7
|
* @returns
|
|
7
8
|
*/
|
|
8
9
|
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;
|
|
9
14
|
export declare function getContainerSize(container: HTMLCanvasElement | HTMLElement): DOMRect | {
|
|
10
15
|
width: number;
|
|
11
16
|
height: number;
|
|
12
17
|
};
|
|
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,4 +1,6 @@
|
|
|
1
|
+
import { createLayerContainer } from '@antv/l7-core';
|
|
1
2
|
import { DOM } from '@antv/l7-utils';
|
|
3
|
+
import { updateLayersConfig } from "./style/utils";
|
|
2
4
|
export var tileVectorParser = ['mvt', 'geojsonvt', 'testTile'];
|
|
3
5
|
/**
|
|
4
6
|
* 判断当前图层是否是瓦片图层
|
|
@@ -10,6 +12,66 @@ export function isTileGroup(layer) {
|
|
|
10
12
|
var source = layer.getSource();
|
|
11
13
|
return tileVectorParser.includes(source.parser.type);
|
|
12
14
|
}
|
|
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
|
+
}
|
|
13
75
|
export function getContainerSize(container) {
|
|
14
76
|
if (container.getContext) {
|
|
15
77
|
return {
|
|
@@ -19,4 +81,71 @@ export function getContainerSize(container) {
|
|
|
19
81
|
} else {
|
|
20
82
|
return container.getBoundingClientRect();
|
|
21
83
|
}
|
|
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) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
if (updateImmediately(layers)) {
|
|
142
|
+
updateLayersConfig(layers, 'visible', tile.isVisible);
|
|
143
|
+
layerService.reRender();
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
dispatchTileVisibleChange(tile, function () {
|
|
148
|
+
updateLayersConfig(layers, 'visible', tile.isVisible);
|
|
149
|
+
layerService.reRender();
|
|
150
|
+
});
|
|
22
151
|
}
|
|
@@ -16,16 +16,16 @@ interface IConfigToUpdate {
|
|
|
16
16
|
* @param configToUpdate
|
|
17
17
|
* @param layer
|
|
18
18
|
*/
|
|
19
|
-
declare function
|
|
19
|
+
declare function handleStyleDataMapping(configToUpdate: IConfigToUpdate, layer: any): void;
|
|
20
20
|
/**
|
|
21
21
|
* 根据传入参数 float 的类型和值做相应的操作
|
|
22
22
|
*/
|
|
23
|
-
declare function
|
|
23
|
+
declare function handleStyleFloat(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 handleStyleColor(fieldName: string, layer: ILayer, styleColor: any): void;
|
|
31
|
+
export { handleStyleDataMapping, handleStyleFloat, handleStyleColor };
|