@antv/l7-layers 2.10.2 → 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 +24 -34
- package/es/Geometry/models/billboard.d.ts +2 -2
- package/es/Geometry/models/billboard.js +45 -85
- package/es/Geometry/models/plane.d.ts +2 -2
- package/es/Geometry/models/plane.js +49 -89
- package/es/Geometry/models/sprite.d.ts +2 -2
- package/es/Geometry/models/sprite.js +54 -92
- package/es/canvas/index.d.ts +3 -2
- package/es/canvas/index.js +26 -36
- package/es/canvas/models/canvas.d.ts +2 -2
- package/es/canvas/models/canvas.js +23 -62
- package/es/citybuliding/building.d.ts +3 -2
- package/es/citybuliding/building.js +24 -33
- package/es/citybuliding/models/build.d.ts +2 -2
- package/es/citybuliding/models/build.js +31 -76
- package/es/core/BaseLayer.d.ts +18 -21
- package/es/core/BaseLayer.js +273 -393
- package/es/core/BaseModel.d.ts +2 -2
- package/es/core/BaseModel.js +13 -54
- package/es/core/shape/Path.js +1 -1
- package/es/core/shape/extrude.js +1 -1
- package/es/core/triangulation.js +3 -10
- package/es/earth/index.d.ts +2 -2
- package/es/earth/index.js +16 -35
- package/es/earth/models/atmosphere.d.ts +2 -2
- package/es/earth/models/atmosphere.js +27 -72
- package/es/earth/models/base.d.ts +2 -2
- package/es/earth/models/base.js +50 -96
- package/es/earth/models/bloomsphere.d.ts +2 -2
- package/es/earth/models/bloomsphere.js +27 -72
- package/es/earth/utils.js +1 -1
- package/es/heatmap/index.d.ts +3 -2
- package/es/heatmap/index.js +29 -40
- package/es/heatmap/models/grid.d.ts +2 -2
- package/es/heatmap/models/grid.js +32 -73
- package/es/heatmap/models/grid3d.d.ts +2 -2
- package/es/heatmap/models/grid3d.js +33 -74
- package/es/heatmap/models/heatmap.d.ts +2 -2
- package/es/heatmap/models/heatmap.js +22 -48
- package/es/heatmap/models/hexagon.d.ts +2 -2
- package/es/heatmap/models/hexagon.js +33 -74
- package/es/image/index.d.ts +3 -2
- package/es/image/index.js +24 -34
- package/es/image/models/dataImage.d.ts +2 -2
- package/es/image/models/dataImage.js +59 -98
- package/es/image/models/image.d.ts +2 -2
- package/es/image/models/image.js +72 -113
- package/es/image/models/tileDataImage.d.ts +2 -2
- package/es/image/models/tileDataImage.js +48 -89
- 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 +32 -58
- package/es/line/models/arc.d.ts +2 -2
- package/es/line/models/arc.js +45 -80
- package/es/line/models/arc_3d.d.ts +2 -2
- package/es/line/models/arc_3d.js +41 -76
- package/es/line/models/earthArc_3d.d.ts +2 -2
- package/es/line/models/earthArc_3d.js +44 -79
- package/es/line/models/great_circle.d.ts +2 -2
- package/es/line/models/great_circle.js +36 -77
- package/es/line/models/half.d.ts +2 -2
- package/es/line/models/half.js +23 -46
- 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 +54 -86
- package/es/line/models/linearline.d.ts +2 -2
- package/es/line/models/linearline.js +38 -77
- package/es/line/models/simpleLine.d.ts +2 -2
- package/es/line/models/simpleLine.js +39 -76
- package/es/line/models/simpleTileLine.d.ts +2 -2
- package/es/line/models/simpleTileLine.js +35 -75
- package/es/line/models/tile.d.ts +2 -2
- package/es/line/models/tile.js +23 -46
- package/es/line/models/wall.d.ts +2 -2
- package/es/line/models/wall.js +29 -74
- package/es/mask/index.d.ts +4 -2
- package/es/mask/index.js +104 -34
- package/es/mask/models/fill.d.ts +2 -2
- package/es/mask/models/fill.js +22 -46
- package/es/mask/models/index.d.ts +1 -1
- package/es/mask/models/index.js +3 -1
- package/es/plugins/DataMappingPlugin.js +72 -83
- package/es/plugins/DataSourcePlugin.js +32 -68
- package/es/plugins/FeatureScalePlugin.js +48 -88
- package/es/plugins/LayerAnimateStylePlugin.js +3 -3
- package/es/plugins/LayerModelPlugin.d.ts +2 -2
- package/es/plugins/LayerModelPlugin.js +39 -126
- package/es/plugins/LayerStylePlugin.js +8 -3
- 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 +18 -3
- package/es/plugins/ShaderUniformPlugin.js +6 -6
- package/es/plugins/UpdateModelPlugin.js +2 -2
- package/es/plugins/UpdateStyleAttributePlugin.js +5 -6
- package/es/point/index.d.ts +4 -4
- package/es/point/index.js +30 -62
- package/es/point/models/earthExtrude.d.ts +2 -2
- package/es/point/models/earthExtrude.js +37 -80
- package/es/point/models/earthFill.d.ts +2 -2
- package/es/point/models/earthFill.js +28 -73
- package/es/point/models/extrude.d.ts +2 -2
- package/es/point/models/extrude.js +25 -48
- package/es/point/models/fill.d.ts +2 -2
- package/es/point/models/fill.js +28 -51
- package/es/point/models/fillmage.d.ts +2 -2
- package/es/point/models/fillmage.js +51 -90
- package/es/point/models/image.d.ts +2 -2
- package/es/point/models/image.js +38 -79
- 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 +36 -77
- package/es/point/models/radar.d.ts +2 -2
- package/es/point/models/radar.js +43 -83
- package/es/point/models/simplePoint.d.ts +2 -2
- package/es/point/models/simplePoint.js +35 -76
- package/es/point/models/text.d.ts +2 -3
- package/es/point/models/text.js +116 -173
- package/es/point/models/tile.d.ts +2 -2
- package/es/point/models/tile.js +40 -82
- package/es/point/models/tileText.d.ts +2 -2
- package/es/point/models/tileText.js +125 -160
- package/es/point/shape/extrude.js +1 -1
- package/es/polygon/index.d.ts +3 -2
- package/es/polygon/index.js +31 -34
- package/es/polygon/models/extrude.d.ts +2 -2
- package/es/polygon/models/extrude.js +38 -75
- package/es/polygon/models/fill.d.ts +2 -2
- package/es/polygon/models/fill.js +48 -81
- 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 +34 -75
- package/es/polygon/models/tile.d.ts +2 -2
- package/es/polygon/models/tile.js +35 -75
- package/es/polygon/models/water.d.ts +2 -2
- package/es/polygon/models/water.js +34 -75
- 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 +29 -35
- 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 +19 -42
- package/es/raster/models/rasterRgb.d.ts +2 -2
- package/es/raster/models/rasterRgb.js +21 -44
- package/es/raster/models/rasterTile.d.ts +2 -2
- package/es/raster/models/rasterTile.js +41 -82
- package/es/raster/raster.d.ts +1 -1
- package/es/raster/raster.js +31 -51
- 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/getRasterData.js +1 -1
- package/es/tile/interaction/utils.js +12 -4
- package/es/tile/interface.d.ts +4 -5
- package/es/tile/manager/base.d.ts +12 -17
- package/es/tile/manager/base.js +51 -216
- 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 +127 -1
- 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} +28 -40
- package/es/tile/tileFactory/layers/{TileDebugLayer.d.ts → tileTest.d.ts} +2 -2
- package/es/tile/tileFactory/layers/{TileDebugLayer.js → tileTest.js} +17 -30
- 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/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 +18 -16
- package/es/utils/extrude_polyline.js +5 -5
- package/es/utils/grid-index.js +3 -3
- package/es/utils/layerData.js +11 -5
- 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 +3 -2
- package/es/wind/index.js +24 -34
- package/es/wind/models/wind.d.ts +2 -2
- package/es/wind/models/wind.js +111 -127
- package/es/wind/models/windRender.js +3 -3
- 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 +256 -381
- 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 +64 -77
- package/lib/plugins/DataSourcePlugin.js +30 -68
- package/lib/plugins/FeatureScalePlugin.js +44 -86
- package/lib/plugins/LayerModelPlugin.js +41 -131
- 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/UpdateStyleAttributePlugin.js +3 -4
- 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 +106 -164
- 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 -122
- 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 -124
- 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 -23
- package/es/tile/tileFactory/Tile.js +0 -136
- package/es/tile/tileFactory/VectorTile.d.ts +0 -20
- package/es/tile/tileFactory/VectorTile.js +0 -158
- 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 -136
- 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 -146
- package/lib/tile/tileFactory/VectorTile.js +0 -173
- package/lib/tile/tileFactory/util.js +0 -48
- package/lib/tile/tileLayer/BaseLayer.js +0 -373
|
@@ -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
|
}
|
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 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 };
|
|
@@ -19,7 +19,7 @@ function registerStyleAttribute(fieldName, layer, field, values, updateOptions)
|
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
function
|
|
22
|
+
function handleStyleDataMapping(configToUpdate, layer) {
|
|
23
23
|
// 瓦片图层不需要进行样式数据映射
|
|
24
24
|
if (layer.tileLayer || layer.isTileLayer) {
|
|
25
25
|
return;
|
|
@@ -27,37 +27,37 @@ function styleDataMapping(configToUpdate, layer) {
|
|
|
27
27
|
|
|
28
28
|
if (configToUpdate.opacity) {
|
|
29
29
|
// 处理 style 中 opacity 属性的数据映射
|
|
30
|
-
|
|
30
|
+
handleStyleFloat('opacity', layer, configToUpdate.opacity);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
if (configToUpdate.strokeWidth) {
|
|
34
34
|
// 处理 style 中 strokeWidth 属性的数据映射
|
|
35
|
-
|
|
35
|
+
handleStyleFloat('strokeWidth', layer, configToUpdate.strokeWidth);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
if (configToUpdate.strokeOpacity) {
|
|
39
39
|
// 处理 style 中 strokeOpacity 属性的数据映射
|
|
40
|
-
|
|
40
|
+
handleStyleFloat('strokeOpacity', layer, configToUpdate.strokeOpacity);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
if (configToUpdate.stroke) {
|
|
44
44
|
// 处理 style 中 stroke (strokeColor) 属性的数据映射
|
|
45
|
-
|
|
45
|
+
handleStyleColor('stroke', layer, configToUpdate.stroke);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
if (configToUpdate.offsets) {
|
|
49
49
|
// 处理 style 中 offsets 属性的数据映射
|
|
50
|
-
|
|
50
|
+
handleStyleOffsets('offsets', layer, configToUpdate.offsets);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
if (configToUpdate.textOffset) {
|
|
54
54
|
// 处理 style 中 textOffset 属性的数据映射
|
|
55
|
-
|
|
55
|
+
handleStyleOffsets('textOffset', layer, configToUpdate.textOffset);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
if (configToUpdate.thetaOffset) {
|
|
59
59
|
// 处理 style 中 thetaOffset 属性的数据映射
|
|
60
|
-
|
|
60
|
+
handleStyleFloat('thetaOffset', layer, configToUpdate.thetaOffset);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
@@ -65,14 +65,15 @@ function styleDataMapping(configToUpdate, layer) {
|
|
|
65
65
|
*/
|
|
66
66
|
|
|
67
67
|
|
|
68
|
-
function
|
|
68
|
+
function handleStyleFloat(fieldName, layer, styleFloat) {
|
|
69
69
|
if (isString(styleFloat)) {
|
|
70
70
|
// 如果传入的 styleFloat 是 string 类型,那么就认为其对应的是传入数据的字段
|
|
71
71
|
registerStyleAttribute(fieldName, layer, styleFloat, function (value) {
|
|
72
72
|
return value;
|
|
73
73
|
});
|
|
74
|
-
} else if (isNumber(styleFloat)) {
|
|
75
|
-
//
|
|
74
|
+
} else if (isNumber(styleFloat)) {
|
|
75
|
+
// 传入 number、默认值处理
|
|
76
|
+
registerStyleAttribute(fieldName, layer, [styleFloat], undefined);
|
|
76
77
|
} else if (Array.isArray(styleFloat) && styleFloat.length === 2) {
|
|
77
78
|
// 传入的 styleFloat 是长度为 2 的数组
|
|
78
79
|
if (isString(styleFloat[0]) && isFunction(styleFloat[1])) {
|
|
@@ -98,7 +99,7 @@ function floatStyleMapping(fieldName, layer, styleFloat) {
|
|
|
98
99
|
*/
|
|
99
100
|
|
|
100
101
|
|
|
101
|
-
function
|
|
102
|
+
function handleStyleOffsets(fieldName, layer, styleOffsets) {
|
|
102
103
|
if (isString(styleOffsets)) {
|
|
103
104
|
// 如果传入的 styleOffsets 是 string 类型,那么就认为其对应的是传入数据的字段
|
|
104
105
|
registerStyleAttribute(fieldName, layer, styleOffsets, function (value) {
|
|
@@ -123,9 +124,10 @@ function offsetStyleMapping(fieldName, layer, styleOffsets) {
|
|
|
123
124
|
*/
|
|
124
125
|
|
|
125
126
|
|
|
126
|
-
function
|
|
127
|
-
if (isString(styleColor)) {
|
|
128
|
-
//
|
|
127
|
+
function handleStyleColor(fieldName, layer, styleColor) {
|
|
128
|
+
if (isString(styleColor)) {
|
|
129
|
+
// 如果传入的 styleColor 是 string 类型,那么就认为其是颜色值
|
|
130
|
+
registerStyleAttribute(fieldName, layer, styleColor, undefined);
|
|
129
131
|
} else if (Array.isArray(styleColor) && styleColor.length === 2) {
|
|
130
132
|
// 传入的 styleColor 是长度为 2 的数组
|
|
131
133
|
if (isString(styleColor[0]) && isFunction(styleColor[1])) {
|
|
@@ -144,4 +146,4 @@ function colorStyleMapping(fieldName, layer, styleColor) {
|
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
148
|
|
|
147
|
-
export {
|
|
149
|
+
export { handleStyleDataMapping, handleStyleFloat, handleStyleColor };
|
|
@@ -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
|
package/es/utils/grid-index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
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
4
|
|
|
5
5
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
6
6
|
|
package/es/utils/layerData.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Version } from '@antv/l7-maps';
|
|
2
2
|
import Source from '@antv/l7-source';
|
|
3
|
-
import { normalize, rgb2arr } from '@antv/l7-utils';
|
|
3
|
+
import { isColor, normalize, rgb2arr } from '@antv/l7-utils';
|
|
4
4
|
import { cloneDeep } from 'lodash';
|
|
5
5
|
|
|
6
6
|
function getArrowPoints(p1, p2) {
|
|
@@ -91,7 +91,7 @@ function unProjectCoordinates(coordinates, mapService) {
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
function applyAttributeMapping(attribute, record) {
|
|
94
|
+
function applyAttributeMapping(attribute, record, minimumColor) {
|
|
95
95
|
var _attribute$scale;
|
|
96
96
|
|
|
97
97
|
if (!attribute.scale) {
|
|
@@ -111,10 +111,15 @@ function applyAttributeMapping(attribute, record) {
|
|
|
111
111
|
}
|
|
112
112
|
});
|
|
113
113
|
var mappingResult = attribute.mapping ? attribute.mapping(params) : [];
|
|
114
|
+
|
|
115
|
+
if (attribute.name === 'color' && !isColor(mappingResult[0])) {
|
|
116
|
+
return [minimumColor];
|
|
117
|
+
}
|
|
118
|
+
|
|
114
119
|
return mappingResult;
|
|
115
120
|
}
|
|
116
121
|
|
|
117
|
-
function mapping(attributes, data, fontService, mapService, layer) {
|
|
122
|
+
function mapping(attributes, data, fontService, mapService, minimumColor, layer) {
|
|
118
123
|
var _ref2 = layer === null || layer === void 0 ? void 0 : layer.getLayerConfig(),
|
|
119
124
|
_ref2$arrow = _ref2.arrow,
|
|
120
125
|
arrow = _ref2$arrow === void 0 ? {
|
|
@@ -129,7 +134,7 @@ function mapping(attributes, data, fontService, mapService, layer) {
|
|
|
129
134
|
attributes.filter(function (attribute) {
|
|
130
135
|
return attribute.scale !== undefined;
|
|
131
136
|
}).forEach(function (attribute) {
|
|
132
|
-
var values = applyAttributeMapping(attribute, record);
|
|
137
|
+
var values = applyAttributeMapping(attribute, record, minimumColor);
|
|
133
138
|
attribute.needRemapping = false; // TODO: 支持每个属性配置 postprocess
|
|
134
139
|
|
|
135
140
|
if (attribute.name === 'color') {
|
|
@@ -164,10 +169,11 @@ function mapping(attributes, data, fontService, mapService, layer) {
|
|
|
164
169
|
|
|
165
170
|
export function calculateData(layer, fontService, mapService, styleAttributeService, data, options) {
|
|
166
171
|
var source = new Source(data, options);
|
|
172
|
+
var bottomColor = layer.getBottomColor();
|
|
167
173
|
var attributes = styleAttributeService.getLayerStyleAttributes() || [];
|
|
168
174
|
var dataArray = source.data.dataArray;
|
|
169
175
|
var filterData = dataArray;
|
|
170
|
-
var mappedEncodeData = mapping(attributes, filterData, fontService, mapService, layer);
|
|
176
|
+
var mappedEncodeData = mapping(attributes, filterData, fontService, mapService, bottomColor, layer);
|
|
171
177
|
source.destroy();
|
|
172
178
|
return mappedEncodeData;
|
|
173
179
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
2
|
import { aProjectFlat } from '@antv/l7-utils';
|
|
3
3
|
import { vec2 } from 'gl-matrix';
|
|
4
4
|
export function computeMiter(tangent, miter, lineA, lineB, halfThick) {
|
package/es/utils/simpleLine.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
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
4
|
import { aProjectFlat } from '@antv/l7-utils';
|
|
5
5
|
import { vec2 } from 'gl-matrix';
|
|
6
6
|
var lineA = vec2.create();
|
package/es/wind/index.d.ts
CHANGED
|
@@ -3,8 +3,9 @@ import { IWindLayerStyleOptions } from '../core/interface';
|
|
|
3
3
|
import { WindModelType } from './models';
|
|
4
4
|
export default class WindLayer extends BaseLayer<IWindLayerStyleOptions> {
|
|
5
5
|
type: string;
|
|
6
|
-
buildModels():
|
|
6
|
+
buildModels(): void;
|
|
7
|
+
rebuildModels(): void;
|
|
7
8
|
renderModels(): this;
|
|
8
9
|
protected getDefaultConfig(): {};
|
|
9
|
-
getModelType(): WindModelType;
|
|
10
|
+
protected getModelType(): WindModelType;
|
|
10
11
|
}
|