@antv/l7-layers 2.10.6 → 2.10.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Geometry/index.d.ts +2 -3
- package/es/Geometry/index.js +27 -17
- package/es/Geometry/models/billboard.d.ts +2 -2
- package/es/Geometry/models/billboard.js +77 -37
- package/es/Geometry/models/index.d.ts +1 -1
- package/es/Geometry/models/plane.d.ts +2 -2
- package/es/Geometry/models/plane.js +80 -40
- package/es/Geometry/models/sprite.d.ts +2 -2
- package/es/Geometry/models/sprite.js +83 -45
- package/es/canvas/index.d.ts +2 -3
- package/es/canvas/index.js +29 -19
- package/es/canvas/models/canvas.d.ts +2 -2
- package/es/canvas/models/canvas.js +54 -15
- package/es/canvas/models/index.d.ts +1 -1
- package/es/citybuliding/building.d.ts +2 -3
- package/es/citybuliding/building.js +26 -17
- package/es/citybuliding/models/build.d.ts +2 -2
- package/es/citybuliding/models/build.js +70 -25
- package/es/core/BaseLayer.d.ts +22 -18
- package/es/core/BaseLayer.js +387 -266
- package/es/core/BaseModel.d.ts +5 -5
- package/es/core/BaseModel.js +47 -6
- package/es/core/LayerPickService.d.ts +12 -0
- package/es/core/LayerPickService.js +165 -0
- package/es/core/TextureService.d.ts +14 -0
- package/es/core/TextureService.js +67 -0
- package/es/core/shape/Path.d.ts +2 -2
- package/es/core/triangulation.js +8 -1
- package/es/earth/index.d.ts +3 -3
- package/es/earth/index.js +28 -9
- package/es/earth/models/atmosphere.d.ts +2 -2
- package/es/earth/models/atmosphere.js +67 -22
- package/es/earth/models/base.d.ts +2 -2
- package/es/earth/models/base.js +89 -43
- package/es/earth/models/bloomsphere.d.ts +2 -2
- package/es/earth/models/bloomsphere.js +67 -22
- package/es/heatmap/index.d.ts +2 -3
- package/es/heatmap/index.js +33 -24
- package/es/heatmap/models/grid.d.ts +2 -2
- package/es/heatmap/models/grid.js +68 -27
- package/es/heatmap/models/grid3d.d.ts +2 -2
- package/es/heatmap/models/grid3d.js +70 -29
- package/es/heatmap/models/heatmap.d.ts +2 -2
- package/es/heatmap/models/heatmap.js +40 -14
- package/es/heatmap/models/hexagon.d.ts +2 -2
- package/es/heatmap/models/hexagon.js +69 -28
- package/es/heatmap/models/index.d.ts +1 -1
- package/es/heatmap/shaders/hexagon_3d_vert.glsl +2 -13
- package/es/image/index.d.ts +3 -4
- package/es/image/index.js +29 -34
- package/es/image/models/image.d.ts +2 -2
- package/es/image/models/image.js +117 -67
- package/es/image/models/index.d.ts +1 -1
- package/es/image/models/index.js +1 -5
- package/es/image/shaders/dataImage_frag.glsl +10 -16
- package/es/index.d.ts +2 -2
- package/es/index.js +2 -2
- package/es/line/index.d.ts +5 -4
- package/es/line/index.js +51 -25
- package/es/line/models/arc.d.ts +2 -2
- package/es/line/models/arc.js +73 -38
- package/es/line/models/arc_3d.d.ts +2 -2
- package/es/line/models/arc_3d.js +69 -34
- package/es/line/models/earthArc_3d.d.ts +2 -2
- package/es/line/models/earthArc_3d.js +72 -37
- package/es/line/models/great_circle.d.ts +2 -2
- package/es/line/models/great_circle.js +70 -29
- package/es/line/models/half.d.ts +2 -2
- package/es/line/models/half.js +40 -17
- package/es/line/models/index.d.ts +1 -1
- package/es/line/models/index.js +0 -2
- package/es/line/models/line.d.ts +2 -2
- package/es/line/models/line.js +79 -47
- package/es/line/models/linearline.d.ts +2 -2
- package/es/line/models/linearline.js +70 -31
- package/es/line/models/simpleLine.d.ts +2 -2
- package/es/line/models/simpleLine.js +71 -34
- package/es/line/models/simpleTileLine.d.ts +2 -2
- package/es/line/models/simpleTileLine.js +70 -30
- package/es/line/models/tile.d.ts +2 -2
- package/es/line/models/tile.js +40 -17
- package/es/line/models/wall.d.ts +2 -2
- package/es/line/models/wall.js +67 -22
- package/es/mask/index.d.ts +2 -4
- package/es/mask/index.js +27 -97
- package/es/mask/models/fill.d.ts +2 -2
- package/es/mask/models/fill.js +40 -16
- package/es/mask/models/index.d.ts +1 -1
- package/es/mask/models/index.js +1 -3
- package/es/plugins/DataMappingPlugin.d.ts +0 -2
- package/es/plugins/DataMappingPlugin.js +90 -152
- package/es/plugins/DataSourcePlugin.js +67 -30
- package/es/plugins/FeatureScalePlugin.d.ts +0 -1
- package/es/plugins/FeatureScalePlugin.js +85 -61
- package/es/plugins/LayerModelPlugin.d.ts +2 -2
- package/es/plugins/LayerModelPlugin.js +121 -37
- package/es/plugins/LayerStylePlugin.js +1 -6
- package/es/plugins/MultiPassRendererPlugin.js +1 -1
- package/es/plugins/PixelPickingPlugin.js +1 -1
- package/es/plugins/RegisterStyleAttributePlugin.js +1 -16
- package/es/plugins/UpdateModelPlugin.js +3 -0
- package/es/plugins/UpdateStyleAttributePlugin.js +3 -6
- package/es/point/index.d.ts +4 -4
- package/es/point/index.js +55 -23
- package/es/point/models/earthExtrude.d.ts +2 -2
- package/es/point/models/earthExtrude.js +73 -30
- package/es/point/models/earthFill.d.ts +2 -2
- package/es/point/models/earthFill.js +66 -21
- package/es/point/models/extrude.d.ts +2 -2
- package/es/point/models/extrude.js +40 -17
- package/es/point/models/fill.d.ts +2 -2
- package/es/point/models/fill.js +43 -20
- package/es/point/models/fillmage.d.ts +2 -2
- package/es/point/models/fillmage.js +82 -43
- package/es/point/models/image.d.ts +2 -2
- package/es/point/models/image.js +72 -31
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +0 -2
- package/es/point/models/normal.d.ts +2 -2
- package/es/point/models/normal.js +71 -30
- package/es/point/models/radar.d.ts +2 -2
- package/es/point/models/radar.js +75 -35
- package/es/point/models/simplePoint.d.ts +2 -2
- package/es/point/models/simplePoint.js +70 -29
- package/es/point/models/text.d.ts +3 -2
- package/es/point/models/text.js +185 -112
- package/es/point/models/tile.d.ts +2 -2
- package/es/point/models/tile.js +77 -35
- package/es/point/models/tileText.d.ts +2 -2
- package/es/point/models/tileText.js +151 -116
- package/es/polygon/index.d.ts +2 -3
- package/es/polygon/index.js +27 -24
- package/es/polygon/models/extrude.d.ts +2 -2
- package/es/polygon/models/extrude.js +66 -29
- package/es/polygon/models/fill.d.ts +2 -2
- package/es/polygon/models/fill.js +76 -43
- package/es/polygon/models/index.d.ts +1 -1
- package/es/polygon/models/index.js +0 -2
- package/es/polygon/models/ocean.d.ts +2 -2
- package/es/polygon/models/ocean.js +69 -28
- package/es/polygon/models/tile.d.ts +2 -2
- package/es/polygon/models/tile.js +70 -30
- package/es/polygon/models/water.d.ts +2 -2
- package/es/polygon/models/water.js +69 -28
- package/es/raster/index.d.ts +2 -3
- package/es/raster/index.js +30 -20
- package/es/raster/models/index.d.ts +1 -1
- package/es/raster/models/index.js +2 -2
- package/es/raster/models/raster.d.ts +2 -2
- package/es/raster/models/raster.js +39 -28
- package/es/raster/models/rasterRgb.d.ts +7 -8
- package/es/raster/models/rasterRgb.js +75 -45
- package/es/{image/models/tileDataImage.d.ts → raster/models/rasterTerrainRgb.d.ts} +3 -3
- package/es/raster/models/rasterTerrainRgb.js +184 -0
- package/es/raster/models/rasterTile.d.ts +2 -2
- package/es/raster/models/rasterTile.js +78 -37
- package/es/raster/shaders/raster_2d_frag.glsl +2 -38
- package/es/raster/shaders/raster_rgb_frag.glsl +10 -4
- package/es/raster/shaders/raster_terrain_rgb_frag.glsl +31 -0
- package/es/raster/shaders/rater_terrain_rgb_vert.glsl +17 -0
- package/es/tile/interaction/getRasterData.d.ts +2 -2
- package/es/tile/interaction/utils.js +3 -11
- package/es/tile/interface.d.ts +7 -6
- package/es/tile/manager/base.d.ts +17 -12
- package/es/tile/manager/base.js +212 -47
- package/es/tile/service/TileLayerService.d.ts +34 -0
- package/es/tile/service/TileLayerService.js +220 -0
- package/es/tile/service/TilePickService.d.ts +26 -0
- package/es/tile/service/TilePickService.js +174 -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 +0 -126
- package/es/tile/tileFactory/DebugTile.d.ts +16 -0
- package/es/tile/tileFactory/DebugTile.js +100 -0
- package/es/tile/tileFactory/ImageTile.d.ts +14 -0
- package/es/tile/tileFactory/ImageTile.js +89 -0
- package/es/tile/tileFactory/MaskTile.d.ts +18 -0
- package/es/tile/tileFactory/MaskTile.js +105 -0
- package/es/tile/tileFactory/RasterRGBTile.d.ts +11 -0
- package/es/tile/tileFactory/RasterRGBTile.js +98 -0
- package/es/tile/tileFactory/RasterTerrainRGBTile.d.ts +14 -0
- package/es/tile/tileFactory/RasterTerrainRGBTile.js +89 -0
- package/es/tile/tileFactory/RasterTile.d.ts +18 -0
- package/es/tile/tileFactory/RasterTile.js +133 -0
- package/es/tile/tileFactory/Tile.d.ts +34 -0
- package/es/tile/tileFactory/Tile.js +161 -0
- package/es/tile/tileFactory/VectorTile.d.ts +27 -0
- package/es/tile/tileFactory/VectorTile.js +198 -0
- package/es/tile/tileFactory/index.d.ts +11 -4
- package/es/tile/tileFactory/index.js +34 -23
- package/es/tile/tileFactory/layers/{rasterDataLayer.d.ts → RasterDataLayer.d.ts} +3 -3
- package/es/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +34 -22
- package/es/tile/tileFactory/layers/{tileTest.d.ts → TileDebugLayer.d.ts} +2 -2
- package/es/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +23 -10
- package/es/tile/tileFactory/util.d.ts +5 -0
- package/es/tile/tileFactory/util.js +21 -0
- package/es/tile/tileLayer/BaseLayer.d.ts +45 -0
- package/es/tile/tileLayer/BaseLayer.js +348 -0
- package/es/tile/utils.d.ts +1 -11
- package/es/tile/utils.js +0 -129
- package/es/utils/dataMappingStyle.d.ts +4 -4
- package/es/utils/dataMappingStyle.js +16 -18
- package/es/utils/grid-index.d.ts +1 -1
- package/es/utils/layerData.js +5 -11
- package/es/utils/symbol-layout.d.ts +1 -1
- package/es/wind/index.d.ts +2 -3
- package/es/wind/index.js +27 -17
- package/es/wind/models/index.d.ts +1 -1
- package/es/wind/models/wind.d.ts +2 -2
- package/es/wind/models/wind.js +123 -104
- package/lib/Geometry/index.js +29 -17
- package/lib/Geometry/models/billboard.js +79 -37
- package/lib/Geometry/models/plane.js +82 -40
- package/lib/Geometry/models/sprite.js +85 -45
- package/lib/canvas/index.js +31 -19
- 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 +388 -261
- package/lib/core/BaseModel.js +48 -6
- package/lib/core/LayerPickService.js +179 -0
- package/lib/core/TextureService.js +77 -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 -24
- package/lib/heatmap/models/grid.js +70 -27
- package/lib/heatmap/models/grid3d.js +72 -29
- package/lib/heatmap/models/heatmap.js +40 -14
- package/lib/heatmap/models/hexagon.js +71 -28
- package/lib/heatmap/shaders/hexagon_3d_vert.glsl +2 -13
- package/lib/image/index.js +31 -34
- package/lib/image/models/image.js +119 -67
- package/lib/image/models/index.js +1 -7
- package/lib/image/shaders/dataImage_frag.glsl +10 -16
- 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 -149
- package/lib/plugins/DataSourcePlugin.js +69 -30
- package/lib/plugins/FeatureScalePlugin.js +87 -61
- 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 +1 -16
- package/lib/plugins/UpdateModelPlugin.js +3 -0
- package/lib/plugins/UpdateStyleAttributePlugin.js +3 -6
- 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 +185 -111
- 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 +32 -20
- package/lib/raster/models/index.js +3 -3
- package/lib/raster/models/raster.js +39 -29
- package/lib/raster/models/rasterRgb.js +78 -43
- package/lib/raster/models/rasterTerrainRgb.js +200 -0
- package/lib/raster/models/rasterTile.js +80 -37
- package/lib/raster/shaders/raster_2d_frag.glsl +2 -38
- package/lib/raster/shaders/raster_rgb_frag.glsl +10 -4
- package/lib/raster/shaders/raster_terrain_rgb_frag.glsl +31 -0
- package/lib/raster/shaders/rater_terrain_rgb_vert.glsl +17 -0
- package/lib/tile/interaction/utils.js +3 -11
- package/lib/tile/manager/base.js +213 -47
- package/lib/tile/service/TileLayerService.js +233 -0
- package/lib/tile/service/TilePickService.js +190 -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 +120 -0
- package/lib/tile/tileFactory/RasterRGBTile.js +112 -0
- package/lib/tile/tileFactory/RasterTerrainRGBTile.js +104 -0
- package/lib/tile/tileFactory/RasterTile.js +149 -0
- package/lib/tile/tileFactory/Tile.js +171 -0
- package/lib/tile/tileFactory/VectorTile.js +214 -0
- package/lib/tile/tileFactory/index.js +46 -23
- package/lib/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +36 -22
- package/lib/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +24 -11
- package/lib/tile/tileFactory/util.js +35 -0
- package/lib/tile/tileLayer/BaseLayer.js +363 -0
- package/lib/tile/utils.js +0 -148
- package/lib/utils/dataMappingStyle.js +18 -20
- 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/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
- package/es/image/models/dataImage.d.ts +0 -13
- package/es/image/models/dataImage.js +0 -186
- package/es/image/models/tileDataImage.js +0 -160
- package/es/raster/raster.d.ts +0 -21
- package/es/raster/raster.js +0 -161
- 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/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
- package/lib/image/models/dataImage.js +0 -201
- package/lib/image/models/tileDataImage.js +0 -174
- package/lib/raster/raster.js +0 -178
- 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,31 @@
|
|
|
1
|
+
precision mediump float;
|
|
2
|
+
uniform float u_opacity: 1.0;
|
|
3
|
+
|
|
4
|
+
uniform sampler2D u_texture;
|
|
5
|
+
uniform sampler2D u_colorTexture;
|
|
6
|
+
|
|
7
|
+
varying vec2 v_texCoord;
|
|
8
|
+
|
|
9
|
+
uniform vec2 u_domain;
|
|
10
|
+
uniform float u_noDataValue;
|
|
11
|
+
uniform bool u_clampLow: true;
|
|
12
|
+
uniform bool u_clampHigh: true;
|
|
13
|
+
|
|
14
|
+
void main() {
|
|
15
|
+
vec4 baseColor = texture2D(u_texture, vec2(v_texCoord.x, v_texCoord.y)) * 256.0;
|
|
16
|
+
float r = baseColor.r * 256.0 * 256.0;
|
|
17
|
+
float g = baseColor.g * 256.0;
|
|
18
|
+
float b = baseColor.b;
|
|
19
|
+
float value = (r + g + b) * 0.1 - 10000.0;
|
|
20
|
+
|
|
21
|
+
if (value == u_noDataValue) {
|
|
22
|
+
gl_FragColor = vec4(0.0, 0, 0, 0.0);
|
|
23
|
+
} else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1])) {
|
|
24
|
+
gl_FragColor = vec4(0.0, 0, 0, 0.0);
|
|
25
|
+
} else {
|
|
26
|
+
float normalisedValue =(value - u_domain[0]) / (u_domain[1] - u_domain[0]);
|
|
27
|
+
vec4 color = texture2D(u_colorTexture, vec2(normalisedValue, 0));
|
|
28
|
+
gl_FragColor = color;
|
|
29
|
+
gl_FragColor.a = gl_FragColor.a * u_opacity ;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
precision highp float;
|
|
2
|
+
uniform mat4 u_ModelMatrix;
|
|
3
|
+
uniform mat4 u_Mvp;
|
|
4
|
+
attribute vec3 a_Position;
|
|
5
|
+
attribute vec2 a_Uv;
|
|
6
|
+
varying vec2 v_texCoord;
|
|
7
|
+
#pragma include "projection"
|
|
8
|
+
void main() {
|
|
9
|
+
v_texCoord = a_Uv;
|
|
10
|
+
vec4 project_pos = project_position(vec4(a_Position, 1.0));
|
|
11
|
+
// gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));
|
|
12
|
+
if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
|
|
13
|
+
gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));
|
|
14
|
+
} else {
|
|
15
|
+
gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -45,7 +45,7 @@ function setSelect(layers, pickedColors, renderList) {
|
|
|
45
45
|
}); // unselect normal layer
|
|
46
46
|
|
|
47
47
|
renderList.filter(function (layer) {
|
|
48
|
-
return layer.inited &&
|
|
48
|
+
return layer.inited && layer.isVisible() && layer.needPick('click');
|
|
49
49
|
}).filter(function (layer) {
|
|
50
50
|
return layer.getCurrentSelectedId() !== null;
|
|
51
51
|
}).map(function (layer) {
|
|
@@ -58,9 +58,8 @@ function setSelect(layers, pickedColors, renderList) {
|
|
|
58
58
|
function setHighlight(layers, pickedColors) {
|
|
59
59
|
var pickId = (0, _l7Utils.decodePickingColor)(pickedColors);
|
|
60
60
|
layers.filter(function (layer) {
|
|
61
|
-
return layer.inited && layer.isVisible()
|
|
62
|
-
}) //
|
|
63
|
-
// @ts-ignore
|
|
61
|
+
return layer.inited && layer.isVisible();
|
|
62
|
+
}) // @ts-ignore
|
|
64
63
|
.filter(function (layer) {
|
|
65
64
|
return layer.getPickID() !== pickId;
|
|
66
65
|
}).map(function (layer) {
|
|
@@ -73,13 +72,6 @@ function setHighlight(layers, pickedColors) {
|
|
|
73
72
|
function setPickState(layers, pickColors) {
|
|
74
73
|
if (pickColors.select) {
|
|
75
74
|
layers.map(function (layer) {
|
|
76
|
-
// if(layer.modelLoaded) {
|
|
77
|
-
// selectFeature(layer, this.pickColors.select);
|
|
78
|
-
// } else {
|
|
79
|
-
// layer.once('modelLoaded', () => {
|
|
80
|
-
// selectFeature(layer, this.pickColors.select);
|
|
81
|
-
// })
|
|
82
|
-
// }
|
|
83
75
|
selectFeature(layer, pickColors.select);
|
|
84
76
|
});
|
|
85
77
|
}
|
package/lib/tile/manager/base.js
CHANGED
|
@@ -7,63 +7,152 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.Base = void 0;
|
|
9
9
|
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
10
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
13
|
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
12
16
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
17
|
|
|
14
18
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
19
|
|
|
16
20
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
21
|
|
|
18
|
-
var
|
|
22
|
+
var _l7Core = require("@antv/l7-core");
|
|
19
23
|
|
|
20
|
-
var _utils = require("../utils");
|
|
24
|
+
var _utils = require("../style/utils");
|
|
21
25
|
|
|
22
26
|
var Base = /*#__PURE__*/function () {
|
|
23
27
|
function Base() {
|
|
24
28
|
(0, _classCallCheck2.default)(this, Base);
|
|
25
29
|
(0, _defineProperty2.default)(this, "tileCache", new Map());
|
|
30
|
+
(0, _defineProperty2.default)(this, "tileLayerCache", new Map());
|
|
26
31
|
}
|
|
27
32
|
|
|
28
33
|
(0, _createClass2.default)(Base, [{
|
|
34
|
+
key: "initTileLayers",
|
|
35
|
+
value: function () {
|
|
36
|
+
var _initTileLayers = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(layers, tile) {
|
|
37
|
+
var _this = this;
|
|
38
|
+
|
|
39
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
40
|
+
while (1) {
|
|
41
|
+
switch (_context2.prev = _context2.next) {
|
|
42
|
+
case 0:
|
|
43
|
+
return _context2.abrupt("return", Promise.all(layers.map( /*#__PURE__*/function () {
|
|
44
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(layer) {
|
|
45
|
+
var container;
|
|
46
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
47
|
+
while (1) {
|
|
48
|
+
switch (_context.prev = _context.next) {
|
|
49
|
+
case 0:
|
|
50
|
+
container = (0, _l7Core.createLayerContainer)(_this.parent.sceneContainer);
|
|
51
|
+
layer.setContainer(container, _this.parent.sceneContainer);
|
|
52
|
+
_context.next = 4;
|
|
53
|
+
return layer.init();
|
|
54
|
+
|
|
55
|
+
case 4:
|
|
56
|
+
_this.addChild(layer);
|
|
57
|
+
|
|
58
|
+
tile.layerLoad();
|
|
59
|
+
|
|
60
|
+
_this.render();
|
|
61
|
+
|
|
62
|
+
case 7:
|
|
63
|
+
case "end":
|
|
64
|
+
return _context.stop();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}, _callee);
|
|
68
|
+
}));
|
|
69
|
+
|
|
70
|
+
return function (_x3) {
|
|
71
|
+
return _ref.apply(this, arguments);
|
|
72
|
+
};
|
|
73
|
+
}())));
|
|
74
|
+
|
|
75
|
+
case 1:
|
|
76
|
+
case "end":
|
|
77
|
+
return _context2.stop();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}, _callee2);
|
|
81
|
+
}));
|
|
82
|
+
|
|
83
|
+
function initTileLayers(_x, _x2) {
|
|
84
|
+
return _initTileLayers.apply(this, arguments);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return initTileLayers;
|
|
88
|
+
}()
|
|
89
|
+
}, {
|
|
90
|
+
key: "render",
|
|
91
|
+
value: function render() {
|
|
92
|
+
this.parent.renderLayers();
|
|
93
|
+
}
|
|
94
|
+
}, {
|
|
29
95
|
key: "hasTile",
|
|
30
96
|
value: function hasTile(tile) {
|
|
31
|
-
return
|
|
32
|
-
}
|
|
97
|
+
return this.tileCache.has(tile.key);
|
|
98
|
+
} // 添加图层
|
|
99
|
+
|
|
33
100
|
}, {
|
|
34
101
|
key: "addTile",
|
|
35
|
-
value: function
|
|
36
|
-
var
|
|
102
|
+
value: function () {
|
|
103
|
+
var _addTile = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(tile) {
|
|
104
|
+
var layerCollections;
|
|
105
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
106
|
+
while (1) {
|
|
107
|
+
switch (_context3.prev = _context3.next) {
|
|
108
|
+
case 0:
|
|
109
|
+
if (!this.hasTile(tile)) {
|
|
110
|
+
_context3.next = 2;
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
37
113
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
layers: [],
|
|
42
|
-
layerIDList: []
|
|
43
|
-
}; // 存储当前 tile
|
|
114
|
+
return _context3.abrupt("return", {
|
|
115
|
+
layers: []
|
|
116
|
+
});
|
|
44
117
|
|
|
45
|
-
|
|
118
|
+
case 2:
|
|
119
|
+
// 存储当前 tile
|
|
120
|
+
this.tileCache.set(tile.key, tile); // 创建 tile 对应的 layers
|
|
46
121
|
|
|
47
|
-
|
|
122
|
+
layerCollections = this.tileFactory.createTile(tile, this.initOptions); // // 初始化图层
|
|
48
123
|
|
|
49
|
-
|
|
124
|
+
_context3.next = 6;
|
|
125
|
+
return this.initTileLayers(layerCollections.layers, tile);
|
|
50
126
|
|
|
51
|
-
|
|
127
|
+
case 6:
|
|
128
|
+
this.tileLayerCache.set(tile.key, layerCollections.layers); // const visible = tile.parent ? tile.parent.children.every(t=>this.tileLayerCache.has(t.key)) : true
|
|
129
|
+
// tile.parent?.children.forEach((t)=>{
|
|
130
|
+
// updateLayersConfig(this.getLayers(t),'visible',visible)
|
|
131
|
+
// })
|
|
52
132
|
|
|
133
|
+
return _context3.abrupt("return", layerCollections);
|
|
53
134
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
135
|
+
case 8:
|
|
136
|
+
case "end":
|
|
137
|
+
return _context3.stop();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}, _callee3, this);
|
|
141
|
+
}));
|
|
142
|
+
|
|
143
|
+
function addTile(_x4) {
|
|
144
|
+
return _addTile.apply(this, arguments);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return addTile;
|
|
148
|
+
}()
|
|
62
149
|
}, {
|
|
63
150
|
key: "removeTile",
|
|
64
151
|
value: function removeTile(tile) {
|
|
65
152
|
this.tileCache.delete(tile.key);
|
|
66
|
-
this.
|
|
153
|
+
var layers = this.tileLayerCache.get(tile.key);
|
|
154
|
+
this.tileLayerCache.delete(tile.key);
|
|
155
|
+
this.removeLayers(layers, false);
|
|
67
156
|
}
|
|
68
157
|
}, {
|
|
69
158
|
key: "addChild",
|
|
@@ -78,18 +167,16 @@ var Base = /*#__PURE__*/function () {
|
|
|
78
167
|
(_this$children = this.children).push.apply(_this$children, (0, _toConsumableArray2.default)(layers));
|
|
79
168
|
}
|
|
80
169
|
}, {
|
|
81
|
-
key: "
|
|
82
|
-
value: function
|
|
170
|
+
key: "removeLayers",
|
|
171
|
+
value: function removeLayers() {
|
|
172
|
+
var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
83
173
|
var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
this.children.filter(function (child) {
|
|
87
|
-
layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
|
|
174
|
+
this.children = this.children.filter(function (child) {
|
|
175
|
+
return !layers.includes(child);
|
|
88
176
|
});
|
|
89
|
-
|
|
177
|
+
layers.map(function (layer) {
|
|
90
178
|
return layer.destroy(refresh);
|
|
91
179
|
});
|
|
92
|
-
this.children = cacheLayerList;
|
|
93
180
|
}
|
|
94
181
|
}, {
|
|
95
182
|
key: "removeChild",
|
|
@@ -103,11 +190,10 @@ var Base = /*#__PURE__*/function () {
|
|
|
103
190
|
layer.destroy();
|
|
104
191
|
}
|
|
105
192
|
}, {
|
|
106
|
-
key: "
|
|
107
|
-
value: function
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
});
|
|
193
|
+
key: "getLayers",
|
|
194
|
+
value: function getLayers(tile) {
|
|
195
|
+
if (!tile) return [];
|
|
196
|
+
return this.tileLayerCache.get(tile.key) || [];
|
|
111
197
|
}
|
|
112
198
|
}, {
|
|
113
199
|
key: "getChild",
|
|
@@ -131,14 +217,11 @@ var Base = /*#__PURE__*/function () {
|
|
|
131
217
|
}
|
|
132
218
|
}, {
|
|
133
219
|
key: "initTileFactory",
|
|
134
|
-
value: function initTileFactory() {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
this.
|
|
138
|
-
|
|
139
|
-
mapService: this.mapService,
|
|
140
|
-
rendererService: this.rendererService
|
|
141
|
-
});
|
|
220
|
+
value: function initTileFactory() {// this.tileFactory = new TileFactory({
|
|
221
|
+
// parent: this.parent,
|
|
222
|
+
// mapService: this.mapService,
|
|
223
|
+
// rendererService: this.rendererService,
|
|
224
|
+
// });
|
|
142
225
|
}
|
|
143
226
|
}, {
|
|
144
227
|
key: "getSourceLayer",
|
|
@@ -151,9 +234,92 @@ var Base = /*#__PURE__*/function () {
|
|
|
151
234
|
return sourceLayer;
|
|
152
235
|
}
|
|
153
236
|
}
|
|
237
|
+
}, {
|
|
238
|
+
key: "updateTileVisible",
|
|
239
|
+
value: function updateTileVisible(tile, layerService) {
|
|
240
|
+
var layers = this.getLayers(tile);
|
|
241
|
+
if (layers.length === 0) return;
|
|
242
|
+
|
|
243
|
+
if (tile.isVisible) {
|
|
244
|
+
// 如果可见直接进行渲染,父级发
|
|
245
|
+
(0, _utils.updateLayersConfig)(layers, 'visible', tile.isVisible);
|
|
246
|
+
} else {
|
|
247
|
+
// 如果不可见,放大,等到子瓦片渲染完成,缩小:父级渲染成功
|
|
248
|
+
// console.log('updateTileVisible',`${tile.x}_${tile.y}_${tile.z}`,tile.isVisible)
|
|
249
|
+
// console.log(tile);
|
|
250
|
+
// console.log(`子瓦片${tile.x}/${tile.y}/${tile.z}`,tile.children.length)
|
|
251
|
+
// tile.children.forEach((t)=>{
|
|
252
|
+
// console.log(`${t.x}/${t.y}/${t.z}`)
|
|
253
|
+
// })
|
|
254
|
+
(0, _utils.updateLayersConfig)(layers, 'visible', tile.isVisible);
|
|
255
|
+
} // this.listenLoad(tile, () => {
|
|
256
|
+
// this.isTileAllLoad(tile) && updateLayersConfig(layers, 'visible', tile.isVisible);
|
|
257
|
+
// })
|
|
258
|
+
|
|
259
|
+
}
|
|
260
|
+
}, {
|
|
261
|
+
key: "listenLoad",
|
|
262
|
+
value: function listenLoad(tile, callback) {
|
|
263
|
+
var _tile$parent;
|
|
264
|
+
|
|
265
|
+
tile.once('layerLoaded', function () {
|
|
266
|
+
callback();
|
|
267
|
+
});
|
|
268
|
+
tile.children.map(function (childTile) {
|
|
269
|
+
childTile.once('layerLoaded', function () {
|
|
270
|
+
callback();
|
|
271
|
+
});
|
|
272
|
+
});
|
|
273
|
+
(_tile$parent = tile.parent) === null || _tile$parent === void 0 ? void 0 : _tile$parent.once('layerLoaded', function () {
|
|
274
|
+
callback();
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
}, {
|
|
278
|
+
key: "isTileLoaded",
|
|
279
|
+
value: function isTileLoaded(tile) {
|
|
280
|
+
if (tile.isLoad) return true;
|
|
281
|
+
var isLoad = this.getLayers(tile).length === tile.loadedLayers;
|
|
282
|
+
tile.isLoad = isLoad;
|
|
283
|
+
return isLoad;
|
|
284
|
+
}
|
|
285
|
+
}, {
|
|
286
|
+
key: "isTileChildLoaded",
|
|
287
|
+
value: function isTileChildLoaded(tile) {
|
|
288
|
+
var _this2 = this;
|
|
289
|
+
|
|
290
|
+
if (tile.isChildLoad) return true;
|
|
291
|
+
var children = tile.children;
|
|
292
|
+
var isLoad = children.filter(function (child) {
|
|
293
|
+
return _this2.isTileLoaded(child);
|
|
294
|
+
}).length === children.length;
|
|
295
|
+
tile.isChildLoad = isLoad;
|
|
296
|
+
return isLoad;
|
|
297
|
+
}
|
|
298
|
+
}, {
|
|
299
|
+
key: "isTileParentLoaded",
|
|
300
|
+
value: function isTileParentLoaded(tile) {
|
|
301
|
+
var parent = tile.parent;
|
|
302
|
+
|
|
303
|
+
if (!parent) {
|
|
304
|
+
return true;
|
|
305
|
+
} else {
|
|
306
|
+
return this.isTileLoaded(parent);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}, {
|
|
310
|
+
key: "isTileAllLoad",
|
|
311
|
+
value: function isTileAllLoad(tile) {
|
|
312
|
+
var tileLoaded = this.isTileLoaded(tile);
|
|
313
|
+
var tileChildLoaded = this.isTileChildLoaded(tile);
|
|
314
|
+
var tileParentLoaded = this.isTileParentLoaded(tile);
|
|
315
|
+
return tileLoaded && tileChildLoaded && tileParentLoaded;
|
|
316
|
+
}
|
|
154
317
|
}, {
|
|
155
318
|
key: "destroy",
|
|
156
|
-
value: function destroy() {
|
|
319
|
+
value: function destroy() {
|
|
320
|
+
this.tileCache.clear();
|
|
321
|
+
this.tileLayerCache.clear();
|
|
322
|
+
}
|
|
157
323
|
}]);
|
|
158
324
|
return Base;
|
|
159
325
|
}();
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.TileLayerService = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
16
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
+
|
|
18
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
+
|
|
20
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
+
|
|
22
|
+
require("reflect-metadata");
|
|
23
|
+
|
|
24
|
+
var TileLayerService = /*#__PURE__*/function () {
|
|
25
|
+
/**
|
|
26
|
+
* tileResource 用于存储瓦片的全局资源
|
|
27
|
+
*/
|
|
28
|
+
function TileLayerService(_ref) {
|
|
29
|
+
var rendererService = _ref.rendererService,
|
|
30
|
+
layerService = _ref.layerService,
|
|
31
|
+
parent = _ref.parent;
|
|
32
|
+
(0, _classCallCheck2.default)(this, TileLayerService);
|
|
33
|
+
(0, _defineProperty2.default)(this, "tileResource", new Map());
|
|
34
|
+
(0, _defineProperty2.default)(this, "_tiles", []);
|
|
35
|
+
this.rendererService = rendererService;
|
|
36
|
+
this.layerService = layerService;
|
|
37
|
+
this.parent = parent;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
(0, _createClass2.default)(TileLayerService, [{
|
|
41
|
+
key: "tiles",
|
|
42
|
+
get: function get() {
|
|
43
|
+
return this._tiles;
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
key: "hasTile",
|
|
47
|
+
value: function hasTile(tileKey) {
|
|
48
|
+
return this._tiles.some(function (tile) {
|
|
49
|
+
return tile.key === tileKey;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}, {
|
|
53
|
+
key: "addTile",
|
|
54
|
+
value: function addTile(tile) {
|
|
55
|
+
this._tiles.push(tile);
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
key: "getTile",
|
|
59
|
+
value: function getTile(tileKey) {
|
|
60
|
+
return this._tiles.find(function (tile) {
|
|
61
|
+
return tile.key === tileKey;
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}, {
|
|
65
|
+
key: "getVisibleTileBylngLat",
|
|
66
|
+
value: function getVisibleTileBylngLat(lngLat) {
|
|
67
|
+
// 加载完成 & 可见 & 鼠标选中
|
|
68
|
+
return this._tiles.find(function (tile) {
|
|
69
|
+
return tile.isLoaded && tile.visible && tile.lnglatInBounds(lngLat);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}, {
|
|
73
|
+
key: "removeTile",
|
|
74
|
+
value: function removeTile(tileKey) {
|
|
75
|
+
var index = this._tiles.findIndex(function (tile) {
|
|
76
|
+
return tile.key === tileKey;
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
var tile = this._tiles.splice(index, 1);
|
|
80
|
+
|
|
81
|
+
tile[0] && tile[0].destroy();
|
|
82
|
+
}
|
|
83
|
+
}, {
|
|
84
|
+
key: "updateTileVisible",
|
|
85
|
+
value: function updateTileVisible(sourceTile) {
|
|
86
|
+
var tile = this.getTile(sourceTile.key); // if(sourceTile.isVisible) {
|
|
87
|
+
// // 不可见 => 可见 兄弟节点加载完成
|
|
88
|
+
// if(sourceTile.parent) {
|
|
89
|
+
// const flag = this.isChildrenLoaded(sourceTile.parent)
|
|
90
|
+
// tile?.updateVisible(flag);
|
|
91
|
+
// } else {
|
|
92
|
+
// tile?.updateVisible(true);
|
|
93
|
+
// }
|
|
94
|
+
// } else {
|
|
95
|
+
// // 可见 => 不可见 兄弟节点加载完成
|
|
96
|
+
// if(sourceTile.parent) {
|
|
97
|
+
// const flag = this.isChildrenLoaded(sourceTile.parent)
|
|
98
|
+
// tile?.updateVisible(!flag);
|
|
99
|
+
// } else {
|
|
100
|
+
// tile?.updateVisible(false);
|
|
101
|
+
// }
|
|
102
|
+
// }
|
|
103
|
+
|
|
104
|
+
tile === null || tile === void 0 ? void 0 : tile.updateVisible(sourceTile.isVisible);
|
|
105
|
+
}
|
|
106
|
+
}, {
|
|
107
|
+
key: "isParentLoaded",
|
|
108
|
+
value: function isParentLoaded(sourceTile) {
|
|
109
|
+
var parentTile = sourceTile.parent;
|
|
110
|
+
|
|
111
|
+
if (!parentTile) {
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
var tile = this.getTile(parentTile === null || parentTile === void 0 ? void 0 : parentTile.key);
|
|
116
|
+
|
|
117
|
+
if (tile !== null && tile !== void 0 && tile.isLoaded) {
|
|
118
|
+
// 递归父级
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
}, {
|
|
125
|
+
key: "isChildrenLoaded",
|
|
126
|
+
value: function isChildrenLoaded(sourceTile) {
|
|
127
|
+
var _this = this;
|
|
128
|
+
|
|
129
|
+
var childrenTile = sourceTile === null || sourceTile === void 0 ? void 0 : sourceTile.children;
|
|
130
|
+
|
|
131
|
+
if (childrenTile.length === 0) {
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return childrenTile.some(function (tile) {
|
|
136
|
+
var tileLayer = _this.getTile(tile === null || tile === void 0 ? void 0 : tile.key);
|
|
137
|
+
|
|
138
|
+
return (tileLayer === null || tileLayer === void 0 ? void 0 : tileLayer.isLoaded) === false;
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}, {
|
|
142
|
+
key: "render",
|
|
143
|
+
value: function () {
|
|
144
|
+
var _render = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
145
|
+
var _this2 = this;
|
|
146
|
+
|
|
147
|
+
var layers;
|
|
148
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
149
|
+
while (1) {
|
|
150
|
+
switch (_context2.prev = _context2.next) {
|
|
151
|
+
case 0:
|
|
152
|
+
layers = this.getRenderLayers();
|
|
153
|
+
layers.map( /*#__PURE__*/function () {
|
|
154
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(layer) {
|
|
155
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
156
|
+
while (1) {
|
|
157
|
+
switch (_context.prev = _context.next) {
|
|
158
|
+
case 0:
|
|
159
|
+
_context.next = 2;
|
|
160
|
+
return _this2.layerService.renderLayer(layer);
|
|
161
|
+
|
|
162
|
+
case 2:
|
|
163
|
+
case "end":
|
|
164
|
+
return _context.stop();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}, _callee);
|
|
168
|
+
}));
|
|
169
|
+
|
|
170
|
+
return function (_x) {
|
|
171
|
+
return _ref2.apply(this, arguments);
|
|
172
|
+
};
|
|
173
|
+
}());
|
|
174
|
+
|
|
175
|
+
case 2:
|
|
176
|
+
case "end":
|
|
177
|
+
return _context2.stop();
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}, _callee2, this);
|
|
181
|
+
}));
|
|
182
|
+
|
|
183
|
+
function render() {
|
|
184
|
+
return _render.apply(this, arguments);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
return render;
|
|
188
|
+
}()
|
|
189
|
+
}, {
|
|
190
|
+
key: "getRenderLayers",
|
|
191
|
+
value: function getRenderLayers() {
|
|
192
|
+
var tileList = this._tiles.filter(function (t) {
|
|
193
|
+
return t.visible && t.isLoaded;
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
var layers = [];
|
|
197
|
+
tileList.map(function (tile) {
|
|
198
|
+
return layers.push.apply(layers, (0, _toConsumableArray2.default)(tile.getLayers()));
|
|
199
|
+
});
|
|
200
|
+
return layers;
|
|
201
|
+
}
|
|
202
|
+
}, {
|
|
203
|
+
key: "getLayers",
|
|
204
|
+
value: function getLayers() {
|
|
205
|
+
var tileList = this._tiles.filter(function (t) {
|
|
206
|
+
return t.isLoaded;
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
var layers = [];
|
|
210
|
+
tileList.map(function (tile) {
|
|
211
|
+
return layers.push.apply(layers, (0, _toConsumableArray2.default)(tile.getLayers()));
|
|
212
|
+
});
|
|
213
|
+
return layers;
|
|
214
|
+
}
|
|
215
|
+
}, {
|
|
216
|
+
key: "getTiles",
|
|
217
|
+
value: function getTiles() {
|
|
218
|
+
return this._tiles;
|
|
219
|
+
}
|
|
220
|
+
}, {
|
|
221
|
+
key: "destroy",
|
|
222
|
+
value: function destroy() {
|
|
223
|
+
this._tiles.forEach(function (t) {
|
|
224
|
+
return t.destroy();
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
this.tileResource.clear();
|
|
228
|
+
}
|
|
229
|
+
}]);
|
|
230
|
+
return TileLayerService;
|
|
231
|
+
}();
|
|
232
|
+
|
|
233
|
+
exports.TileLayerService = TileLayerService;
|