@antv/l7-layers 2.9.20 → 2.9.22
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.js +4 -5
- package/es/Geometry/models/billboard.js +23 -9
- package/es/Geometry/models/index.js +4 -5
- package/es/Geometry/models/plane.js +25 -13
- package/es/Geometry/models/sprite.js +11 -21
- package/es/Geometry/shaders/billboard_frag.glsl +13 -0
- package/es/Geometry/shaders/billboard_vert.glsl +50 -0
- package/es/Geometry/shaders/plane_frag.glsl +22 -0
- package/es/Geometry/shaders/plane_vert.glsl +53 -0
- package/es/Geometry/shaders/sprite_frag.glsl +21 -0
- package/es/Geometry/shaders/sprite_vert.glsl +28 -0
- package/es/canvas/index.js +4 -5
- package/es/canvas/models/canvas.js +6 -12
- package/es/canvas/models/index.js +2 -3
- package/es/citybuliding/building.js +4 -5
- package/es/citybuliding/models/build.js +19 -22
- package/es/citybuliding/shaders/build_frag.glsl +117 -0
- package/es/citybuliding/shaders/build_vert.glsl +54 -0
- package/es/core/BaseLayer.js +205 -157
- package/es/core/BaseModel.js +135 -76
- package/es/core/interface.d.ts +11 -1
- package/es/core/interface.js +15 -2
- package/es/core/schema.js +4 -2
- package/es/core/shape/Path.js +8 -3
- package/es/core/shape/extrude.js +9 -4
- package/es/core/triangulation.js +89 -17
- package/es/earth/index.js +11 -7
- package/es/earth/models/atmosphere.js +15 -7
- package/es/earth/models/base.js +19 -7
- package/es/earth/models/bloomsphere.js +15 -7
- package/es/earth/shaders/atmosphere_frag.glsl +17 -0
- package/es/earth/shaders/atmosphere_vert.glsl +26 -0
- package/es/earth/shaders/base_frag.glsl +13 -0
- package/es/earth/shaders/base_vert.glsl +52 -0
- package/es/earth/shaders/bloomsphere_frag.glsl +15 -0
- package/es/earth/shaders/bloomsphere_vert.glsl +20 -0
- package/es/earth/utils.js +28 -5
- package/es/heatmap/index.js +8 -7
- package/es/heatmap/models/grid.js +11 -5
- package/es/heatmap/models/grid3d.js +18 -7
- package/es/heatmap/models/heatmap.js +45 -44
- package/es/heatmap/models/hexagon.js +14 -6
- package/es/heatmap/models/index.js +5 -6
- package/es/heatmap/shaders/grid_vert.glsl +42 -0
- package/es/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
- package/es/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
- package/es/heatmap/shaders/heatmap_frag.glsl +47 -0
- package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
- package/es/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
- package/es/heatmap/shaders/heatmap_vert.glsl +10 -0
- package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
- package/es/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
- package/es/heatmap/shaders/hexagon_frag.glsl +12 -0
- package/es/heatmap/shaders/hexagon_vert.glsl +41 -0
- package/es/heatmap/triangulation.js +2 -2
- package/es/image/index.js +4 -5
- package/es/image/models/dataImage.js +21 -31
- package/es/image/models/image.js +19 -25
- package/es/image/models/index.js +3 -4
- package/es/image/shaders/dataImage_frag.glsl +38 -0
- package/es/image/shaders/image_frag.glsl +9 -0
- package/es/image/shaders/image_vert.glsl +17 -0
- package/es/index.d.ts +2 -2
- package/es/index.js +92 -30
- package/es/line/index.js +4 -5
- package/es/line/models/arc.js +38 -15
- package/es/line/models/arc_3d.js +33 -14
- package/es/line/models/earthArc_3d.js +33 -14
- package/es/line/models/great_circle.js +25 -13
- package/es/line/models/half.js +33 -12
- package/es/line/models/index.js +12 -13
- package/es/line/models/line.js +57 -17
- package/es/line/models/linearline.js +32 -14
- package/es/line/models/simpleLine.js +26 -11
- package/es/line/models/tile.js +28 -10
- package/es/line/models/wall.js +30 -13
- package/es/line/shaders/arc_chunks.vert.glsl +21 -0
- package/es/line/shaders/dash/arc_dash_frag.glsl +28 -0
- package/es/line/shaders/dash/arc_dash_vert.glsl +148 -0
- package/es/line/shaders/dash/line_dash_frag.glsl +31 -0
- package/es/line/shaders/dash/line_dash_vert.glsl +93 -0
- package/es/line/shaders/half/line_half_frag.glsl +53 -0
- package/es/line/shaders/half/line_half_vert.glsl +169 -0
- package/es/line/shaders/line_arc2d_vert.glsl +114 -0
- package/es/line/shaders/line_arc_3d_frag.glsl +103 -0
- package/es/line/shaders/line_arc_3d_vert.glsl +207 -0
- package/es/line/shaders/line_arc_frag.glsl +89 -0
- package/es/line/shaders/line_arc_great_circle_frag.glsl +101 -0
- package/es/line/shaders/line_arc_great_circle_vert.glsl +215 -0
- package/es/line/shaders/line_arc_vert.glsl +174 -0
- package/es/line/shaders/line_bezier_vert.glsl +85 -0
- package/es/line/shaders/line_frag.glsl +100 -0
- package/es/line/shaders/line_vert.glsl +192 -0
- package/es/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
- package/es/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
- package/es/line/shaders/linear/arc_linear_frag.glsl +38 -0
- package/es/line/shaders/linear/arc_linear_vert.glsl +138 -0
- package/es/line/shaders/linear/line_linear_frag.glsl +27 -0
- package/es/line/shaders/linearLine/line_linear_frag.glsl +20 -0
- package/es/line/shaders/linearLine/line_linear_vert.glsl +112 -0
- package/es/line/shaders/simple/simpleline_frag.glsl +10 -0
- package/es/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
- package/es/line/shaders/simple/simpleline_vert.glsl +78 -0
- package/es/line/shaders/tile/line_tile_frag.glsl +79 -0
- package/es/line/shaders/tile/line_tile_vert.glsl +210 -0
- package/es/line/shaders/wall_frag.glsl +93 -0
- package/es/line/shaders/wall_vert.glsl +111 -0
- package/es/mask/index.js +4 -5
- package/es/mask/models/fill.js +11 -8
- package/es/mask/models/index.js +2 -3
- package/es/mask/shaders/mask_frag.glsl +7 -0
- package/es/mask/shaders/mask_vert.glsl +22 -0
- package/es/plugins/DataMappingPlugin.js +71 -34
- package/es/plugins/DataSourcePlugin.js +12 -10
- package/es/plugins/FeatureScalePlugin.js +44 -24
- package/es/plugins/LayerAnimateStylePlugin.js +6 -7
- package/es/plugins/LayerModelPlugin.js +16 -7
- package/es/plugins/LayerStylePlugin.js +7 -3
- package/es/plugins/LightingPlugin.js +21 -13
- package/es/plugins/MultiPassRendererPlugin.js +21 -8
- package/es/plugins/PixelPickingPlugin.js +33 -11
- package/es/plugins/RegisterStyleAttributePlugin.js +10 -3
- package/es/plugins/ShaderUniformPlugin.js +24 -10
- package/es/plugins/UpdateModelPlugin.js +7 -3
- package/es/plugins/UpdateStyleAttributePlugin.js +20 -7
- package/es/point/index.js +12 -6
- package/es/point/models/earthExtrude.js +30 -12
- package/es/point/models/earthFill.js +25 -13
- package/es/point/models/extrude.js +30 -12
- package/es/point/models/fill.js +50 -15
- package/es/point/models/fillmage.js +46 -17
- package/es/point/models/image.js +20 -12
- package/es/point/models/index.js +14 -14
- package/es/point/models/normal.js +15 -7
- package/es/point/models/radar.js +33 -13
- package/es/point/models/simplePoint.js +17 -9
- package/es/point/models/text.js +77 -30
- package/es/point/models/tile.js +33 -12
- package/es/point/shaders/animate/wave_frag.glsl +65 -0
- package/es/point/shaders/earth/extrude_frag.glsl +44 -0
- package/es/point/shaders/earth/extrude_vert.glsl +140 -0
- package/es/point/shaders/earth/fill_frag.glsl +86 -0
- package/es/point/shaders/earth/fill_vert.glsl +126 -0
- package/es/point/shaders/extrude/extrude_frag.glsl +44 -0
- package/es/point/shaders/extrude/extrude_vert.glsl +121 -0
- package/es/point/shaders/fill_frag.glsl +84 -0
- package/es/point/shaders/fill_vert.glsl +182 -0
- package/es/point/shaders/image/fillImage_frag.glsl +20 -0
- package/es/point/shaders/image/fillImage_vert.glsl +108 -0
- package/es/point/shaders/image_frag.glsl +39 -0
- package/es/point/shaders/image_vert.glsl +81 -0
- package/es/point/shaders/normal_frag.glsl +15 -0
- package/es/point/shaders/normal_vert.glsl +79 -0
- package/es/point/shaders/radar/radar_frag.glsl +64 -0
- package/es/point/shaders/radar/radar_vert.glsl +120 -0
- package/es/point/shaders/simplePoint_frag.glsl +53 -0
- package/es/point/shaders/simplePoint_vert.glsl +79 -0
- package/es/point/shaders/text_frag.glsl +48 -0
- package/es/point/shaders/text_vert.glsl +131 -0
- package/es/point/shaders/tile/fill_tile_frag.glsl +83 -0
- package/es/point/shaders/tile/fill_tile_vert.glsl +181 -0
- package/es/point/shape/extrude.js +8 -3
- package/es/polygon/index.js +6 -5
- package/es/polygon/models/extrude.js +40 -31
- package/es/polygon/models/fill.js +19 -8
- package/es/polygon/models/index.js +14 -14
- package/es/polygon/models/ocean.js +25 -33
- package/es/polygon/models/tile.js +13 -7
- package/es/polygon/models/water.js +21 -25
- package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
- package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
- package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
- package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
- package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
- package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
- package/es/polygon/shaders/polygon_frag.glsl +12 -0
- package/es/polygon/shaders/polygon_linear_frag.glsl +22 -0
- package/es/polygon/shaders/polygon_linear_vert.glsl +74 -0
- package/es/polygon/shaders/polygon_vert.glsl +66 -0
- package/es/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
- package/es/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
- package/es/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
- package/es/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
- package/es/polygon/shaders/water/polygon_water_frag.glsl +73 -0
- package/es/polygon/shaders/water/polygon_water_vert.glsl +55 -0
- package/es/raster/buffers/triangulation.js +2 -2
- package/es/raster/index.js +7 -6
- package/es/raster/models/index.js +3 -4
- package/es/raster/models/raster.js +15 -25
- package/es/raster/raster.js +9 -13
- package/es/raster/shaders/raster_2d_frag.glsl +28 -0
- package/es/raster/shaders/raster_2d_vert.glsl +18 -0
- package/es/raster/shaders/raster_frag.glsl +9 -0
- package/es/raster/shaders/raster_vert.glsl +44 -0
- package/es/tile/interface.js +1 -2
- package/es/tile/manager/tileConfigManager.js +6 -8
- package/es/tile/manager/tileLayerManager.js +19 -30
- package/es/tile/manager/tilePickerManager.js +14 -14
- package/es/tile/models/tileModel.js +6 -6
- package/es/tile/tileFactory/base.js +26 -32
- package/es/tile/tileFactory/index.js +6 -7
- package/es/tile/tileFactory/line.js +3 -9
- package/es/tile/tileFactory/point.js +3 -9
- package/es/tile/tileFactory/polygon.js +3 -9
- package/es/tile/tileFactory/raster.js +4 -10
- package/es/tile/tileFactory/rasterData.js +5 -11
- package/es/tile/tileFactory/rasterDataLayer.js +4 -5
- package/es/tile/tileFactory/vectorLayer.js +8 -9
- package/es/tile/tileLayer/baseTileLayer.js +67 -39
- package/es/tile/tmsTileLayer.js +5 -4
- package/es/tile/utils.js +5 -3
- package/es/utils/blend.js +1 -2
- package/es/utils/collision-index.js +36 -21
- package/es/utils/dataMappingStyle.js +71 -15
- package/es/utils/extrude_polyline.js +90 -48
- package/es/utils/grid-index.js +7 -21
- package/es/utils/layerData.js +41 -17
- package/es/utils/multiPassRender.js +21 -5
- package/es/utils/polylineNormal.js +40 -20
- package/es/utils/simpleLine.js +4 -6
- package/es/utils/symbol-layout.js +49 -10
- package/es/utils/updateShape.js +6 -3
- package/es/wind/index.js +5 -6
- package/es/wind/models/index.js +2 -3
- package/es/wind/models/utils.js +50 -26
- package/es/wind/models/wind.js +15 -18
- package/es/wind/models/windRender.js +89 -78
- package/es/wind/models/windShader.d.ts +6 -6
- package/es/wind/models/windShader.js +12 -7
- package/es/wind/shaders/wind_frag.glsl +9 -0
- package/es/wind/shaders/wind_vert.glsl +17 -0
- package/lib/Geometry/index.js +77 -115
- package/lib/Geometry/models/billboard.js +181 -218
- package/lib/Geometry/models/index.js +34 -19
- package/lib/Geometry/models/plane.js +278 -394
- package/lib/Geometry/models/sprite.js +189 -294
- package/lib/Geometry/shaders/billboard_frag.glsl +13 -0
- package/lib/Geometry/shaders/billboard_vert.glsl +50 -0
- package/lib/Geometry/shaders/plane_frag.glsl +22 -0
- package/lib/Geometry/shaders/plane_vert.glsl +53 -0
- package/lib/Geometry/shaders/sprite_frag.glsl +21 -0
- package/lib/Geometry/shaders/sprite_vert.glsl +28 -0
- package/lib/canvas/index.js +66 -102
- package/lib/canvas/models/canvas.js +140 -210
- package/lib/canvas/models/index.js +30 -13
- package/lib/citybuliding/building.js +63 -99
- package/lib/citybuliding/models/build.js +146 -196
- package/lib/citybuliding/shaders/build_frag.glsl +117 -0
- package/lib/citybuliding/shaders/build_vert.glsl +54 -0
- package/lib/core/BaseLayer.js +807 -1245
- package/lib/core/BaseModel.js +275 -375
- package/lib/core/interface.js +52 -20
- package/lib/core/schema.js +39 -18
- package/lib/core/shape/Path.js +78 -60
- package/lib/core/shape/extrude.js +90 -127
- package/lib/core/triangulation.js +191 -304
- package/lib/earth/index.js +62 -96
- package/lib/earth/models/atmosphere.js +112 -139
- package/lib/earth/models/base.js +150 -198
- package/lib/earth/models/bloomsphere.js +112 -139
- package/lib/earth/shaders/atmosphere_frag.glsl +17 -0
- package/lib/earth/shaders/atmosphere_vert.glsl +26 -0
- package/lib/earth/shaders/base_frag.glsl +13 -0
- package/lib/earth/shaders/base_vert.glsl +52 -0
- package/lib/earth/shaders/bloomsphere_frag.glsl +15 -0
- package/lib/earth/shaders/bloomsphere_vert.glsl +20 -0
- package/lib/earth/utils.js +89 -85
- package/lib/heatmap/index.js +92 -148
- package/lib/heatmap/models/grid.js +91 -113
- package/lib/heatmap/models/grid3d.js +123 -145
- package/lib/heatmap/models/heatmap.js +338 -470
- package/lib/heatmap/models/hexagon.js +92 -114
- package/lib/heatmap/models/index.js +37 -23
- package/lib/heatmap/shaders/grid_vert.glsl +42 -0
- package/lib/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
- package/lib/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
- package/lib/heatmap/shaders/heatmap_frag.glsl +47 -0
- package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
- package/lib/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
- package/lib/heatmap/shaders/heatmap_vert.glsl +10 -0
- package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
- package/lib/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
- package/lib/heatmap/shaders/hexagon_frag.glsl +12 -0
- package/lib/heatmap/shaders/hexagon_vert.glsl +41 -0
- package/lib/heatmap/triangulation.js +46 -30
- package/lib/image/index.js +74 -112
- package/lib/image/models/dataImage.js +173 -241
- package/lib/image/models/image.js +123 -177
- package/lib/image/models/index.js +32 -16
- package/lib/image/shaders/dataImage_frag.glsl +38 -0
- package/lib/image/shaders/image_frag.glsl +9 -0
- package/lib/image/shaders/image_vert.glsl +17 -0
- package/lib/index.js +96 -193
- package/lib/line/index.js +83 -128
- package/lib/line/models/arc.js +237 -328
- package/lib/line/models/arc_3d.js +228 -314
- package/lib/line/models/earthArc_3d.js +228 -316
- package/lib/line/models/great_circle.js +200 -279
- package/lib/line/models/half.js +201 -266
- package/lib/line/models/index.js +50 -43
- package/lib/line/models/line.js +299 -386
- package/lib/line/models/linearline.js +203 -258
- package/lib/line/models/simpleLine.js +175 -225
- package/lib/line/models/tile.js +237 -330
- package/lib/line/models/wall.js +235 -310
- package/lib/line/shaders/arc_chunks.vert.glsl +21 -0
- package/lib/line/shaders/dash/arc_dash_frag.glsl +28 -0
- package/lib/line/shaders/dash/arc_dash_vert.glsl +148 -0
- package/lib/line/shaders/dash/line_dash_frag.glsl +31 -0
- package/lib/line/shaders/dash/line_dash_vert.glsl +93 -0
- package/lib/line/shaders/half/line_half_frag.glsl +53 -0
- package/lib/line/shaders/half/line_half_vert.glsl +169 -0
- package/lib/line/shaders/line_arc2d_vert.glsl +114 -0
- package/lib/line/shaders/line_arc_3d_frag.glsl +103 -0
- package/lib/line/shaders/line_arc_3d_vert.glsl +207 -0
- package/lib/line/shaders/line_arc_frag.glsl +89 -0
- package/lib/line/shaders/line_arc_great_circle_frag.glsl +101 -0
- package/lib/line/shaders/line_arc_great_circle_vert.glsl +215 -0
- package/lib/line/shaders/line_arc_vert.glsl +174 -0
- package/lib/line/shaders/line_bezier_vert.glsl +85 -0
- package/lib/line/shaders/line_frag.glsl +100 -0
- package/lib/line/shaders/line_vert.glsl +192 -0
- package/lib/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
- package/lib/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
- package/lib/line/shaders/linear/arc_linear_frag.glsl +38 -0
- package/lib/line/shaders/linear/arc_linear_vert.glsl +138 -0
- package/lib/line/shaders/linear/line_linear_frag.glsl +27 -0
- package/lib/line/shaders/linearLine/line_linear_frag.glsl +20 -0
- package/lib/line/shaders/linearLine/line_linear_vert.glsl +112 -0
- package/lib/line/shaders/simple/simpleline_frag.glsl +10 -0
- package/lib/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
- package/lib/line/shaders/simple/simpleline_vert.glsl +78 -0
- package/lib/line/shaders/tile/line_tile_frag.glsl +79 -0
- package/lib/line/shaders/tile/line_tile_vert.glsl +210 -0
- package/lib/line/shaders/wall_frag.glsl +93 -0
- package/lib/line/shaders/wall_vert.glsl +111 -0
- package/lib/mask/index.js +59 -93
- package/lib/mask/models/fill.js +82 -132
- package/lib/mask/models/index.js +30 -13
- package/lib/mask/shaders/mask_frag.glsl +7 -0
- package/lib/mask/shaders/mask_vert.glsl +22 -0
- package/lib/plugins/DataMappingPlugin.js +222 -304
- package/lib/plugins/DataSourcePlugin.js +87 -100
- package/lib/plugins/FeatureScalePlugin.js +239 -310
- package/lib/plugins/LayerAnimateStylePlugin.js +55 -61
- package/lib/plugins/LayerModelPlugin.js +72 -70
- package/lib/plugins/LayerStylePlugin.js +51 -44
- package/lib/plugins/LightingPlugin.js +68 -72
- package/lib/plugins/MultiPassRendererPlugin.js +65 -77
- package/lib/plugins/PixelPickingPlugin.js +109 -128
- package/lib/plugins/RegisterStyleAttributePlugin.js +110 -103
- package/lib/plugins/ShaderUniformPlugin.js +98 -103
- package/lib/plugins/UpdateModelPlugin.js +47 -36
- package/lib/plugins/UpdateStyleAttributePlugin.js +75 -80
- package/lib/point/index.js +147 -216
- package/lib/point/models/earthExtrude.js +201 -262
- package/lib/point/models/earthFill.js +202 -276
- package/lib/point/models/extrude.js +203 -282
- package/lib/point/models/fill.js +273 -369
- package/lib/point/models/fillmage.js +250 -327
- package/lib/point/models/image.js +163 -226
- package/lib/point/models/index.js +52 -46
- package/lib/point/models/normal.js +134 -176
- package/lib/point/models/radar.js +212 -286
- package/lib/point/models/simplePoint.js +142 -187
- package/lib/point/models/text.js +385 -559
- package/lib/point/models/tile.js +223 -294
- package/lib/point/shaders/animate/wave_frag.glsl +65 -0
- package/lib/point/shaders/earth/extrude_frag.glsl +44 -0
- package/lib/point/shaders/earth/extrude_vert.glsl +140 -0
- package/lib/point/shaders/earth/fill_frag.glsl +86 -0
- package/lib/point/shaders/earth/fill_vert.glsl +126 -0
- package/lib/point/shaders/extrude/extrude_frag.glsl +44 -0
- package/lib/point/shaders/extrude/extrude_vert.glsl +121 -0
- package/lib/point/shaders/fill_frag.glsl +84 -0
- package/lib/point/shaders/fill_vert.glsl +182 -0
- package/lib/point/shaders/image/fillImage_frag.glsl +20 -0
- package/lib/point/shaders/image/fillImage_vert.glsl +108 -0
- package/lib/point/shaders/image_frag.glsl +39 -0
- package/lib/point/shaders/image_vert.glsl +81 -0
- package/lib/point/shaders/normal_frag.glsl +15 -0
- package/lib/point/shaders/normal_vert.glsl +79 -0
- package/lib/point/shaders/radar/radar_frag.glsl +64 -0
- package/lib/point/shaders/radar/radar_vert.glsl +120 -0
- package/lib/point/shaders/simplePoint_frag.glsl +53 -0
- package/lib/point/shaders/simplePoint_vert.glsl +79 -0
- package/lib/point/shaders/text_frag.glsl +48 -0
- package/lib/point/shaders/text_vert.glsl +131 -0
- package/lib/point/shaders/tile/fill_tile_frag.glsl +83 -0
- package/lib/point/shaders/tile/fill_tile_vert.glsl +181 -0
- package/lib/point/shape/extrude.js +51 -51
- package/lib/polygon/index.js +100 -149
- package/lib/polygon/models/extrude.js +222 -303
- package/lib/polygon/models/fill.js +153 -205
- package/lib/polygon/models/index.js +52 -46
- package/lib/polygon/models/ocean.js +172 -251
- package/lib/polygon/models/tile.js +100 -139
- package/lib/polygon/models/water.js +152 -227
- package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
- package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
- package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
- package/lib/polygon/shaders/polygon_frag.glsl +12 -0
- package/lib/polygon/shaders/polygon_linear_frag.glsl +22 -0
- package/lib/polygon/shaders/polygon_linear_vert.glsl +74 -0
- package/lib/polygon/shaders/polygon_vert.glsl +66 -0
- package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
- package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
- package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
- package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
- package/lib/polygon/shaders/water/polygon_water_frag.glsl +73 -0
- package/lib/polygon/shaders/water/polygon_water_vert.glsl +55 -0
- package/lib/raster/buffers/triangulation.js +39 -26
- package/lib/raster/index.js +73 -111
- package/lib/raster/models/index.js +33 -17
- package/lib/raster/models/raster.js +134 -187
- package/lib/raster/raster.js +132 -189
- package/lib/raster/shaders/raster_2d_frag.glsl +28 -0
- package/lib/raster/shaders/raster_2d_vert.glsl +18 -0
- package/lib/raster/shaders/raster_frag.glsl +9 -0
- package/lib/raster/shaders/raster_vert.glsl +44 -0
- package/lib/tile/interface.js +17 -2
- package/lib/tile/manager/tileConfigManager.js +86 -126
- package/lib/tile/manager/tileLayerManager.js +227 -312
- package/lib/tile/manager/tilePickerManager.js +123 -187
- package/lib/tile/models/tileModel.js +51 -70
- package/lib/tile/tileFactory/base.js +292 -403
- package/lib/tile/tileFactory/index.js +48 -51
- package/lib/tile/tileFactory/line.js +50 -71
- package/lib/tile/tileFactory/point.js +50 -71
- package/lib/tile/tileFactory/polygon.js +50 -71
- package/lib/tile/tileFactory/raster.js +54 -72
- package/lib/tile/tileFactory/rasterData.js +76 -94
- package/lib/tile/tileFactory/rasterDataLayer.js +62 -98
- package/lib/tile/tileFactory/vectorLayer.js +95 -148
- package/lib/tile/tileLayer/baseTileLayer.js +220 -380
- package/lib/tile/tmsTileLayer.js +67 -109
- package/lib/tile/utils.js +86 -101
- package/lib/utils/blend.js +79 -60
- package/lib/utils/collision-index.js +63 -83
- package/lib/utils/dataMappingStyle.js +59 -56
- package/lib/utils/extrude_polyline.js +397 -554
- package/lib/utils/grid-index.js +111 -168
- package/lib/utils/layerData.js +88 -95
- package/lib/utils/multiPassRender.js +38 -31
- package/lib/utils/polylineNormal.js +86 -118
- package/lib/utils/simpleLine.js +85 -101
- package/lib/utils/symbol-layout.js +109 -173
- package/lib/utils/updateShape.js +40 -11
- package/lib/wind/index.js +71 -110
- package/lib/wind/models/index.js +30 -13
- package/lib/wind/models/utils.js +89 -104
- package/lib/wind/models/wind.js +224 -332
- package/lib/wind/models/windRender.js +215 -293
- package/lib/wind/models/windShader.js +181 -17
- package/lib/wind/shaders/wind_frag.glsl +9 -0
- package/lib/wind/shaders/wind_vert.glsl +17 -0
- package/package.json +11 -9
- package/es/Geometry/index.js.map +0 -1
- package/es/Geometry/models/billboard.js.map +0 -1
- package/es/Geometry/models/index.js.map +0 -1
- package/es/Geometry/models/plane.js.map +0 -1
- package/es/Geometry/models/sprite.js.map +0 -1
- package/es/canvas/index.js.map +0 -1
- package/es/canvas/models/canvas.js.map +0 -1
- package/es/canvas/models/index.js.map +0 -1
- package/es/citybuliding/building.js.map +0 -1
- package/es/citybuliding/models/build.js.map +0 -1
- package/es/core/BaseLayer.js.map +0 -1
- package/es/core/BaseModel.js.map +0 -1
- package/es/core/interface.js.map +0 -1
- package/es/core/schema.js.map +0 -1
- package/es/core/shape/Path.js.map +0 -1
- package/es/core/shape/extrude.js.map +0 -1
- package/es/core/triangulation.js.map +0 -1
- package/es/earth/index.js.map +0 -1
- package/es/earth/models/atmosphere.js.map +0 -1
- package/es/earth/models/base.js.map +0 -1
- package/es/earth/models/bloomsphere.js.map +0 -1
- package/es/earth/utils.js.map +0 -1
- package/es/glsl.d.js +0 -2
- package/es/glsl.d.js.map +0 -1
- package/es/heatmap/index.js.map +0 -1
- package/es/heatmap/models/grid.js.map +0 -1
- package/es/heatmap/models/grid3d.js.map +0 -1
- package/es/heatmap/models/heatmap.js.map +0 -1
- package/es/heatmap/models/hexagon.js.map +0 -1
- package/es/heatmap/models/index.js.map +0 -1
- package/es/heatmap/triangulation.js.map +0 -1
- package/es/image/index.js.map +0 -1
- package/es/image/models/dataImage.js.map +0 -1
- package/es/image/models/image.js.map +0 -1
- package/es/image/models/index.js.map +0 -1
- package/es/index.js.map +0 -1
- package/es/line/index.js.map +0 -1
- package/es/line/models/arc.js.map +0 -1
- package/es/line/models/arc_3d.js.map +0 -1
- package/es/line/models/earthArc_3d.js.map +0 -1
- package/es/line/models/great_circle.js.map +0 -1
- package/es/line/models/half.js.map +0 -1
- package/es/line/models/index.js.map +0 -1
- package/es/line/models/line.js.map +0 -1
- package/es/line/models/linearline.js.map +0 -1
- package/es/line/models/simpleLine.js.map +0 -1
- package/es/line/models/tile.js.map +0 -1
- package/es/line/models/wall.js.map +0 -1
- package/es/mask/index.js.map +0 -1
- package/es/mask/models/fill.js.map +0 -1
- package/es/mask/models/index.js.map +0 -1
- package/es/plugins/DataMappingPlugin.js.map +0 -1
- package/es/plugins/DataSourcePlugin.js.map +0 -1
- package/es/plugins/FeatureScalePlugin.js.map +0 -1
- package/es/plugins/LayerAnimateStylePlugin.js.map +0 -1
- package/es/plugins/LayerModelPlugin.js.map +0 -1
- package/es/plugins/LayerStylePlugin.js.map +0 -1
- package/es/plugins/LightingPlugin.js.map +0 -1
- package/es/plugins/MultiPassRendererPlugin.js.map +0 -1
- package/es/plugins/PixelPickingPlugin.js.map +0 -1
- package/es/plugins/RegisterStyleAttributePlugin.js.map +0 -1
- package/es/plugins/ShaderUniformPlugin.js.map +0 -1
- package/es/plugins/UpdateModelPlugin.js.map +0 -1
- package/es/plugins/UpdateStyleAttributePlugin.js.map +0 -1
- package/es/point/index.js.map +0 -1
- package/es/point/models/earthExtrude.js.map +0 -1
- package/es/point/models/earthFill.js.map +0 -1
- package/es/point/models/extrude.js.map +0 -1
- package/es/point/models/fill.js.map +0 -1
- package/es/point/models/fillmage.js.map +0 -1
- package/es/point/models/image.js.map +0 -1
- package/es/point/models/index.js.map +0 -1
- package/es/point/models/normal.js.map +0 -1
- package/es/point/models/radar.js.map +0 -1
- package/es/point/models/simplePoint.js.map +0 -1
- package/es/point/models/text.js.map +0 -1
- package/es/point/models/tile.js.map +0 -1
- package/es/point/shape/extrude.js.map +0 -1
- package/es/polygon/index.js.map +0 -1
- package/es/polygon/models/extrude.js.map +0 -1
- package/es/polygon/models/fill.js.map +0 -1
- package/es/polygon/models/index.js.map +0 -1
- package/es/polygon/models/ocean.js.map +0 -1
- package/es/polygon/models/tile.js.map +0 -1
- package/es/polygon/models/water.js.map +0 -1
- package/es/raster/buffers/triangulation.js.map +0 -1
- package/es/raster/index.js.map +0 -1
- package/es/raster/models/index.js.map +0 -1
- package/es/raster/models/raster.js.map +0 -1
- package/es/raster/raster.js.map +0 -1
- package/es/tile/interface.js.map +0 -1
- package/es/tile/manager/tileConfigManager.js.map +0 -1
- package/es/tile/manager/tileLayerManager.js.map +0 -1
- package/es/tile/manager/tilePickerManager.js.map +0 -1
- package/es/tile/models/tileModel.js.map +0 -1
- package/es/tile/tileFactory/base.js.map +0 -1
- package/es/tile/tileFactory/index.js.map +0 -1
- package/es/tile/tileFactory/line.js.map +0 -1
- package/es/tile/tileFactory/point.js.map +0 -1
- package/es/tile/tileFactory/polygon.js.map +0 -1
- package/es/tile/tileFactory/raster.js.map +0 -1
- package/es/tile/tileFactory/rasterData.js.map +0 -1
- package/es/tile/tileFactory/rasterDataLayer.js.map +0 -1
- package/es/tile/tileFactory/vectorLayer.js.map +0 -1
- package/es/tile/tileLayer/baseTileLayer.js.map +0 -1
- package/es/tile/tmsTileLayer.js.map +0 -1
- package/es/tile/utils.js.map +0 -1
- package/es/utils/blend.js.map +0 -1
- package/es/utils/collision-index.js.map +0 -1
- package/es/utils/dataMappingStyle.js.map +0 -1
- package/es/utils/extrude_polyline.js.map +0 -1
- package/es/utils/grid-index.js.map +0 -1
- package/es/utils/layerData.js.map +0 -1
- package/es/utils/multiPassRender.js.map +0 -1
- package/es/utils/polylineNormal.js.map +0 -1
- package/es/utils/simpleLine.js.map +0 -1
- package/es/utils/symbol-layout.js.map +0 -1
- package/es/utils/updateShape.js.map +0 -1
- package/es/wind/index.js.map +0 -1
- package/es/wind/models/index.js.map +0 -1
- package/es/wind/models/utils.js.map +0 -1
- package/es/wind/models/wind.js.map +0 -1
- package/es/wind/models/windRender.js.map +0 -1
- package/es/wind/models/windShader.js.map +0 -1
- package/lib/Geometry/index.js.map +0 -1
- package/lib/Geometry/models/billboard.js.map +0 -1
- package/lib/Geometry/models/index.js.map +0 -1
- package/lib/Geometry/models/plane.js.map +0 -1
- package/lib/Geometry/models/sprite.js.map +0 -1
- package/lib/canvas/index.js.map +0 -1
- package/lib/canvas/models/canvas.js.map +0 -1
- package/lib/canvas/models/index.js.map +0 -1
- package/lib/citybuliding/building.js.map +0 -1
- package/lib/citybuliding/models/build.js.map +0 -1
- package/lib/core/BaseLayer.js.map +0 -1
- package/lib/core/BaseModel.js.map +0 -1
- package/lib/core/interface.js.map +0 -1
- package/lib/core/schema.js.map +0 -1
- package/lib/core/shape/Path.js.map +0 -1
- package/lib/core/shape/extrude.js.map +0 -1
- package/lib/core/triangulation.js.map +0 -1
- package/lib/earth/index.js.map +0 -1
- package/lib/earth/models/atmosphere.js.map +0 -1
- package/lib/earth/models/base.js.map +0 -1
- package/lib/earth/models/bloomsphere.js.map +0 -1
- package/lib/earth/utils.js.map +0 -1
- package/lib/glsl.d.js +0 -2
- package/lib/glsl.d.js.map +0 -1
- package/lib/heatmap/index.js.map +0 -1
- package/lib/heatmap/models/grid.js.map +0 -1
- package/lib/heatmap/models/grid3d.js.map +0 -1
- package/lib/heatmap/models/heatmap.js.map +0 -1
- package/lib/heatmap/models/hexagon.js.map +0 -1
- package/lib/heatmap/models/index.js.map +0 -1
- package/lib/heatmap/triangulation.js.map +0 -1
- package/lib/image/index.js.map +0 -1
- package/lib/image/models/dataImage.js.map +0 -1
- package/lib/image/models/image.js.map +0 -1
- package/lib/image/models/index.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/line/index.js.map +0 -1
- package/lib/line/models/arc.js.map +0 -1
- package/lib/line/models/arc_3d.js.map +0 -1
- package/lib/line/models/earthArc_3d.js.map +0 -1
- package/lib/line/models/great_circle.js.map +0 -1
- package/lib/line/models/half.js.map +0 -1
- package/lib/line/models/index.js.map +0 -1
- package/lib/line/models/line.js.map +0 -1
- package/lib/line/models/linearline.js.map +0 -1
- package/lib/line/models/simpleLine.js.map +0 -1
- package/lib/line/models/tile.js.map +0 -1
- package/lib/line/models/wall.js.map +0 -1
- package/lib/mask/index.js.map +0 -1
- package/lib/mask/models/fill.js.map +0 -1
- package/lib/mask/models/index.js.map +0 -1
- package/lib/plugins/DataMappingPlugin.js.map +0 -1
- package/lib/plugins/DataSourcePlugin.js.map +0 -1
- package/lib/plugins/FeatureScalePlugin.js.map +0 -1
- package/lib/plugins/LayerAnimateStylePlugin.js.map +0 -1
- package/lib/plugins/LayerModelPlugin.js.map +0 -1
- package/lib/plugins/LayerStylePlugin.js.map +0 -1
- package/lib/plugins/LightingPlugin.js.map +0 -1
- package/lib/plugins/MultiPassRendererPlugin.js.map +0 -1
- package/lib/plugins/PixelPickingPlugin.js.map +0 -1
- package/lib/plugins/RegisterStyleAttributePlugin.js.map +0 -1
- package/lib/plugins/ShaderUniformPlugin.js.map +0 -1
- package/lib/plugins/UpdateModelPlugin.js.map +0 -1
- package/lib/plugins/UpdateStyleAttributePlugin.js.map +0 -1
- package/lib/point/index.js.map +0 -1
- package/lib/point/models/earthExtrude.js.map +0 -1
- package/lib/point/models/earthFill.js.map +0 -1
- package/lib/point/models/extrude.js.map +0 -1
- package/lib/point/models/fill.js.map +0 -1
- package/lib/point/models/fillmage.js.map +0 -1
- package/lib/point/models/image.js.map +0 -1
- package/lib/point/models/index.js.map +0 -1
- package/lib/point/models/normal.js.map +0 -1
- package/lib/point/models/radar.js.map +0 -1
- package/lib/point/models/simplePoint.js.map +0 -1
- package/lib/point/models/text.js.map +0 -1
- package/lib/point/models/tile.js.map +0 -1
- package/lib/point/shape/extrude.js.map +0 -1
- package/lib/polygon/index.js.map +0 -1
- package/lib/polygon/models/extrude.js.map +0 -1
- package/lib/polygon/models/fill.js.map +0 -1
- package/lib/polygon/models/index.js.map +0 -1
- package/lib/polygon/models/ocean.js.map +0 -1
- package/lib/polygon/models/tile.js.map +0 -1
- package/lib/polygon/models/water.js.map +0 -1
- package/lib/raster/buffers/triangulation.js.map +0 -1
- package/lib/raster/index.js.map +0 -1
- package/lib/raster/models/index.js.map +0 -1
- package/lib/raster/models/raster.js.map +0 -1
- package/lib/raster/raster.js.map +0 -1
- package/lib/tile/interface.js.map +0 -1
- package/lib/tile/manager/tileConfigManager.js.map +0 -1
- package/lib/tile/manager/tileLayerManager.js.map +0 -1
- package/lib/tile/manager/tilePickerManager.js.map +0 -1
- package/lib/tile/models/tileModel.js.map +0 -1
- package/lib/tile/tileFactory/base.js.map +0 -1
- package/lib/tile/tileFactory/index.js.map +0 -1
- package/lib/tile/tileFactory/line.js.map +0 -1
- package/lib/tile/tileFactory/point.js.map +0 -1
- package/lib/tile/tileFactory/polygon.js.map +0 -1
- package/lib/tile/tileFactory/raster.js.map +0 -1
- package/lib/tile/tileFactory/rasterData.js.map +0 -1
- package/lib/tile/tileFactory/rasterDataLayer.js.map +0 -1
- package/lib/tile/tileFactory/vectorLayer.js.map +0 -1
- package/lib/tile/tileLayer/baseTileLayer.js.map +0 -1
- package/lib/tile/tmsTileLayer.js.map +0 -1
- package/lib/tile/utils.js.map +0 -1
- package/lib/utils/blend.js.map +0 -1
- package/lib/utils/collision-index.js.map +0 -1
- package/lib/utils/dataMappingStyle.js.map +0 -1
- package/lib/utils/extrude_polyline.js.map +0 -1
- package/lib/utils/grid-index.js.map +0 -1
- package/lib/utils/layerData.js.map +0 -1
- package/lib/utils/multiPassRender.js.map +0 -1
- package/lib/utils/polylineNormal.js.map +0 -1
- package/lib/utils/simpleLine.js.map +0 -1
- package/lib/utils/symbol-layout.js.map +0 -1
- package/lib/utils/updateShape.js.map +0 -1
- package/lib/wind/index.js.map +0 -1
- package/lib/wind/models/index.js.map +0 -1
- package/lib/wind/models/utils.js.map +0 -1
- package/lib/wind/models/wind.js.map +0 -1
- package/lib/wind/models/windRender.js.map +0 -1
- package/lib/wind/models/windShader.js.map +0 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#define Animate 0.0
|
|
2
|
+
#define LineTexture 1.0
|
|
3
|
+
|
|
4
|
+
uniform float u_opacity : 1.0;
|
|
5
|
+
uniform float u_textureBlend;
|
|
6
|
+
uniform float u_iconStepCount;
|
|
7
|
+
|
|
8
|
+
varying vec4 v_color;
|
|
9
|
+
|
|
10
|
+
// line texture
|
|
11
|
+
uniform float u_line_texture;
|
|
12
|
+
uniform sampler2D u_texture;
|
|
13
|
+
uniform vec2 u_textSize;
|
|
14
|
+
|
|
15
|
+
varying vec2 v_iconMapUV;
|
|
16
|
+
varying float v_blur;
|
|
17
|
+
|
|
18
|
+
uniform float u_linearColor: 0;
|
|
19
|
+
uniform vec4 u_sourceColor;
|
|
20
|
+
uniform vec4 u_targetColor;
|
|
21
|
+
|
|
22
|
+
#pragma include "picking"
|
|
23
|
+
|
|
24
|
+
uniform float u_time;
|
|
25
|
+
uniform vec4 u_aimate: [ 0, 2., 1.0, 0.2 ]; // 控制运动
|
|
26
|
+
|
|
27
|
+
varying mat4 styleMappingMat;
|
|
28
|
+
// [animate, duration, interval, trailLength],
|
|
29
|
+
void main() {
|
|
30
|
+
float opacity = styleMappingMat[0][0];
|
|
31
|
+
float animateSpeed = 0.0; // 运动速度
|
|
32
|
+
float d_distance_ratio = styleMappingMat[3].r; // 当前点位距离占线总长的比例
|
|
33
|
+
float v = styleMappingMat[3].a;
|
|
34
|
+
|
|
35
|
+
if(u_linearColor == 1.0) { // 使用渐变颜色
|
|
36
|
+
gl_FragColor = mix(u_sourceColor, u_targetColor, v);
|
|
37
|
+
} else { // 使用 color 方法传入的颜色
|
|
38
|
+
gl_FragColor = v_color;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
gl_FragColor.a *= opacity; // 全局透明度
|
|
42
|
+
if(u_aimate.x == Animate) {
|
|
43
|
+
animateSpeed = u_time / u_aimate.y;
|
|
44
|
+
float alpha =1.0 - fract( mod(1.0- d_distance_ratio, u_aimate.z)* (1.0/ u_aimate.z) + animateSpeed);
|
|
45
|
+
alpha = (alpha + u_aimate.w -1.0) / u_aimate.w;
|
|
46
|
+
alpha = smoothstep(0., 1., alpha);
|
|
47
|
+
gl_FragColor.a *= alpha;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if(u_line_texture == LineTexture) { // while load texture
|
|
51
|
+
float aDistance = styleMappingMat[3].g; // 当前顶点的距离
|
|
52
|
+
float d_texPixelLen = styleMappingMat[3].b; // 贴图的像素长度,根据地图层级缩放
|
|
53
|
+
float u = fract(mod(aDistance, d_texPixelLen)/d_texPixelLen - animateSpeed);
|
|
54
|
+
float v = styleMappingMat[3].a; // 线图层贴图部分的 v 坐标值
|
|
55
|
+
|
|
56
|
+
// 计算纹理间隔 start
|
|
57
|
+
float flag = 0.0;
|
|
58
|
+
if(u > 1.0/u_iconStepCount) {
|
|
59
|
+
flag = 1.0;
|
|
60
|
+
}
|
|
61
|
+
u = fract(u*u_iconStepCount);
|
|
62
|
+
// 计算纹理间隔 end
|
|
63
|
+
|
|
64
|
+
vec2 uv= v_iconMapUV / u_textSize + vec2(u, v) / u_textSize * 64.;
|
|
65
|
+
vec4 pattern = texture2D(u_texture, uv);
|
|
66
|
+
|
|
67
|
+
// Tip: 判断纹理间隔
|
|
68
|
+
if(flag > 0.0) {
|
|
69
|
+
pattern = vec4(0.0);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if(u_textureBlend == 0.0) { // normal
|
|
73
|
+
pattern.a = 0.0;
|
|
74
|
+
gl_FragColor = filterColor(gl_FragColor + pattern);
|
|
75
|
+
} else { // replace
|
|
76
|
+
pattern.a *= opacity;
|
|
77
|
+
if(gl_FragColor.a <= 0.0) {
|
|
78
|
+
pattern.a = 0.0;
|
|
79
|
+
}
|
|
80
|
+
gl_FragColor = filterColor(pattern);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
// blur - AA
|
|
86
|
+
if(v < v_blur) {
|
|
87
|
+
gl_FragColor.a = mix(0.0, gl_FragColor.a, v/v_blur);
|
|
88
|
+
} else if(v > 1.0 - v_blur) {
|
|
89
|
+
gl_FragColor.a = mix(gl_FragColor.a, 0.0, (v - (1.0 - v_blur))/v_blur);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
gl_FragColor = filterColor(gl_FragColor);
|
|
93
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
#define Animate 0.0
|
|
2
|
+
|
|
3
|
+
attribute float a_Miter;
|
|
4
|
+
attribute vec4 a_Color;
|
|
5
|
+
attribute vec2 a_Size;
|
|
6
|
+
attribute vec3 a_Normal;
|
|
7
|
+
attribute vec3 a_Position;
|
|
8
|
+
attribute vec2 a_iconMapUV;
|
|
9
|
+
|
|
10
|
+
attribute float a_Total_Distance;
|
|
11
|
+
attribute float a_Distance;
|
|
12
|
+
|
|
13
|
+
uniform mat4 u_ModelMatrix;
|
|
14
|
+
uniform mat4 u_Mvp;
|
|
15
|
+
uniform vec4 u_aimate: [ 0, 2., 1.0, 0.2 ];
|
|
16
|
+
uniform float u_icon_step: 100;
|
|
17
|
+
uniform float u_heightfixed;
|
|
18
|
+
|
|
19
|
+
#pragma include "projection"
|
|
20
|
+
#pragma include "light"
|
|
21
|
+
#pragma include "picking"
|
|
22
|
+
|
|
23
|
+
varying vec4 v_color;
|
|
24
|
+
varying float v_blur;
|
|
25
|
+
|
|
26
|
+
// texV 线图层 - 贴图部分的 v 坐标(线的宽度方向)
|
|
27
|
+
varying vec2 v_iconMapUV;
|
|
28
|
+
|
|
29
|
+
uniform float u_linearColor: 0;
|
|
30
|
+
|
|
31
|
+
uniform float u_opacity: 1.0;
|
|
32
|
+
varying mat4 styleMappingMat; // 用于将在顶点着色器中计算好的样式值传递给片元
|
|
33
|
+
|
|
34
|
+
#pragma include "styleMapping"
|
|
35
|
+
#pragma include "light"
|
|
36
|
+
#pragma include "styleMappingCalOpacity"
|
|
37
|
+
|
|
38
|
+
void main() {
|
|
39
|
+
// cal style mapping - 数据纹理映射部分的计算
|
|
40
|
+
styleMappingMat = mat4(
|
|
41
|
+
0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty
|
|
42
|
+
0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA
|
|
43
|
+
0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]
|
|
44
|
+
0.0, 0.0, 0.0, 0.0 // distance_ratio/distance/pixelLen/texV
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
float rowCount = u_cellTypeLayout[0][0]; // 当前的数据纹理有几行
|
|
48
|
+
float columnCount = u_cellTypeLayout[0][1]; // 当看到数据纹理有几列
|
|
49
|
+
float columnWidth = 1.0/columnCount; // 列宽
|
|
50
|
+
float rowHeight = 1.0/rowCount; // 行高
|
|
51
|
+
float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets
|
|
52
|
+
float id = a_vertexId; // 第n个顶点
|
|
53
|
+
float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // 起始点在第几行
|
|
54
|
+
float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // 起始点在第几列
|
|
55
|
+
|
|
56
|
+
// cell 固定顺序 opacity -> strokeOpacity -> strokeWidth -> stroke ...
|
|
57
|
+
// 按顺序从 cell 中取值、若没有则自动往下取值
|
|
58
|
+
float textureOffset = 0.0; // 在 cell 中取值的偏移量
|
|
59
|
+
|
|
60
|
+
vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);
|
|
61
|
+
styleMappingMat[0][0] = opacityAndOffset.r;
|
|
62
|
+
textureOffset = opacityAndOffset.g;
|
|
63
|
+
// cal style mapping - 数据纹理映射部分的计算
|
|
64
|
+
|
|
65
|
+
float d_distance_ratio; // 当前点位距离占线总长的比例
|
|
66
|
+
float d_texPixelLen; // 贴图的像素长度,根据地图层级缩放
|
|
67
|
+
|
|
68
|
+
v_iconMapUV = a_iconMapUV;
|
|
69
|
+
if(u_heightfixed < 1.0) { // 高度随 zoom 调整
|
|
70
|
+
d_texPixelLen = project_pixel(u_icon_step);
|
|
71
|
+
} else {
|
|
72
|
+
d_texPixelLen = u_icon_step;
|
|
73
|
+
}
|
|
74
|
+
if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) {
|
|
75
|
+
d_texPixelLen *= 10.0;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if(u_aimate.x == Animate || u_linearColor == 1.0) {
|
|
79
|
+
d_distance_ratio = a_Distance / a_Total_Distance;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
float miter = (a_Miter + 1.0)/2.0;
|
|
83
|
+
// 设置数据集的参数
|
|
84
|
+
styleMappingMat[3][0] = d_distance_ratio; // 当前点位距离占线总长的比例
|
|
85
|
+
styleMappingMat[3][1] = a_Distance; // 当前顶点的距离
|
|
86
|
+
styleMappingMat[3][2] = d_texPixelLen; // 贴图的像素长度,根据地图层级缩放
|
|
87
|
+
styleMappingMat[3][3] = miter; // 线图层贴图部分的 v 坐标值 0 - 1
|
|
88
|
+
|
|
89
|
+
vec4 project_pos = project_position(vec4(a_Position.xy, 0, 1.0));
|
|
90
|
+
|
|
91
|
+
float originSize = a_Size.x; // 固定高度
|
|
92
|
+
if(u_heightfixed < 1.0) { // 高度随 zoom 调整
|
|
93
|
+
originSize = project_float_pixel(a_Size.x);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
float wallHeight = originSize * miter;
|
|
97
|
+
float lightWeight = calc_lighting(vec4(project_pos.xy, wallHeight, 1.0));
|
|
98
|
+
|
|
99
|
+
v_blur = min(project_float_pixel(2.0) / originSize, 0.05);
|
|
100
|
+
|
|
101
|
+
v_color = vec4(a_Color.rgb * lightWeight, a_Color.w);
|
|
102
|
+
// v_color = a_Color;
|
|
103
|
+
|
|
104
|
+
if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
|
|
105
|
+
gl_Position = u_Mvp * (vec4(project_pos.xy, wallHeight, 1.0));
|
|
106
|
+
} else {
|
|
107
|
+
gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, wallHeight, 1.0));
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
setPickingColor(a_PickingColor);
|
|
111
|
+
}
|
package/es/mask/index.js
CHANGED
|
@@ -10,10 +10,10 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
10
10
|
|
|
11
11
|
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; } }
|
|
12
12
|
|
|
13
|
-
import BaseLayer from
|
|
14
|
-
import MaskModels from
|
|
13
|
+
import BaseLayer from "../core/BaseLayer";
|
|
14
|
+
import MaskModels from "./models";
|
|
15
15
|
|
|
16
|
-
var MaskLayer = function (_BaseLayer) {
|
|
16
|
+
var MaskLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
17
17
|
_inherits(MaskLayer, _BaseLayer);
|
|
18
18
|
|
|
19
19
|
var _super = _createSuper(MaskLayer);
|
|
@@ -79,5 +79,4 @@ var MaskLayer = function (_BaseLayer) {
|
|
|
79
79
|
return MaskLayer;
|
|
80
80
|
}(BaseLayer);
|
|
81
81
|
|
|
82
|
-
export { MaskLayer as default };
|
|
83
|
-
//# sourceMappingURL=index.js.map
|
|
82
|
+
export { MaskLayer as default };
|
package/es/mask/models/fill.js
CHANGED
|
@@ -4,7 +4,6 @@ import _createClass from "@babel/runtime/helpers/createClass";
|
|
|
4
4
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
5
5
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
6
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
|
-
import _isNumber from "lodash/isNumber";
|
|
8
7
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
9
8
|
|
|
10
9
|
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,12 +11,17 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
12
11
|
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; } }
|
|
13
12
|
|
|
14
13
|
import { gl } from '@antv/l7-core';
|
|
15
|
-
import
|
|
16
|
-
import
|
|
14
|
+
import { isNumber } from 'lodash';
|
|
15
|
+
import BaseModel from "../../core/BaseModel";
|
|
16
|
+
import { polygonTriangulation } from "../../core/triangulation";
|
|
17
|
+
|
|
18
|
+
/* babel-plugin-inline-import '../shaders/mask_frag.glsl' */
|
|
17
19
|
var mask_frag = "uniform float u_opacity;\nvarying vec4 v_Color;\n\nvoid main() {\n gl_FragColor = v_Color;\n gl_FragColor.a *= u_opacity;\n}\n";
|
|
20
|
+
|
|
21
|
+
/* babel-plugin-inline-import '../shaders/mask_vert.glsl' */
|
|
18
22
|
var mask_vert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nvarying vec4 v_Color;\n\n#pragma include \"projection\"\n\nvoid main() {\n\n v_Color = a_Color;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n}\n\n";
|
|
19
23
|
|
|
20
|
-
var MaskModel = function (_BaseModel) {
|
|
24
|
+
var MaskModel = /*#__PURE__*/function (_BaseModel) {
|
|
21
25
|
_inherits(MaskModel, _BaseModel);
|
|
22
26
|
|
|
23
27
|
var _super = _createSuper(MaskModel);
|
|
@@ -36,7 +40,7 @@ var MaskModel = function (_BaseModel) {
|
|
|
36
40
|
opacity = _ref$opacity === void 0 ? 0 : _ref$opacity;
|
|
37
41
|
|
|
38
42
|
return {
|
|
39
|
-
u_opacity:
|
|
43
|
+
u_opacity: isNumber(opacity) ? opacity : 0.0
|
|
40
44
|
};
|
|
41
45
|
}
|
|
42
46
|
}, {
|
|
@@ -47,7 +51,7 @@ var MaskModel = function (_BaseModel) {
|
|
|
47
51
|
}, {
|
|
48
52
|
key: "buildModels",
|
|
49
53
|
value: function () {
|
|
50
|
-
var _buildModels = _asyncToGenerator(_regeneratorRuntime.mark(function _callee(callbackModel) {
|
|
54
|
+
var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(callbackModel) {
|
|
51
55
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
52
56
|
while (1) {
|
|
53
57
|
switch (_context.prev = _context.next) {
|
|
@@ -114,5 +118,4 @@ var MaskModel = function (_BaseModel) {
|
|
|
114
118
|
return MaskModel;
|
|
115
119
|
}(BaseModel);
|
|
116
120
|
|
|
117
|
-
export { MaskModel as default };
|
|
118
|
-
//# sourceMappingURL=fill.js.map
|
|
121
|
+
export { MaskModel as default };
|
package/es/mask/models/index.js
CHANGED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
attribute vec4 a_Color;
|
|
2
|
+
attribute vec3 a_Position;
|
|
3
|
+
uniform mat4 u_ModelMatrix;
|
|
4
|
+
uniform mat4 u_Mvp;
|
|
5
|
+
|
|
6
|
+
varying vec4 v_Color;
|
|
7
|
+
|
|
8
|
+
#pragma include "projection"
|
|
9
|
+
|
|
10
|
+
void main() {
|
|
11
|
+
|
|
12
|
+
v_Color = a_Color;
|
|
13
|
+
vec4 project_pos = project_position(vec4(a_Position, 1.0));
|
|
14
|
+
// gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
|
|
15
|
+
|
|
16
|
+
if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
|
|
17
|
+
gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));
|
|
18
|
+
} else {
|
|
19
|
+
gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
1
2
|
import _initializerDefineProperty from "@babel/runtime/helpers/initializerDefineProperty";
|
|
2
3
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
4
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
5
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
5
6
|
import _applyDecoratedDescriptor from "@babel/runtime/helpers/applyDecoratedDescriptor";
|
|
6
7
|
import _initializerWarningHelper from "@babel/runtime/helpers/initializerWarningHelper";
|
|
7
|
-
import _cloneDeep from "lodash/cloneDeep";
|
|
8
8
|
|
|
9
9
|
var _dec, _dec2, _dec3, _dec4, _class, _class2, _descriptor, _descriptor2, _descriptor3;
|
|
10
10
|
|
|
11
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
|
-
|
|
13
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
-
|
|
15
11
|
import { TYPES } from '@antv/l7-core';
|
|
16
12
|
import { Version } from '@antv/l7-maps';
|
|
17
13
|
import { isColor, normalize, rgb2arr } from '@antv/l7-utils';
|
|
18
14
|
import { inject, injectable } from 'inversify';
|
|
15
|
+
import { cloneDeep } from 'lodash';
|
|
19
16
|
import 'reflect-metadata';
|
|
20
|
-
var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfigService), _dec3 = inject(TYPES.IMapService), _dec4 = inject(TYPES.IFontService), _dec(_class = (_class2 = function () {
|
|
17
|
+
var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfigService), _dec3 = inject(TYPES.IMapService), _dec4 = inject(TYPES.IFontService), _dec(_class = (_class2 = /*#__PURE__*/function () {
|
|
21
18
|
function DataMappingPlugin() {
|
|
22
19
|
_classCallCheck(this, DataMappingPlugin);
|
|
23
20
|
|
|
@@ -35,6 +32,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
35
32
|
|
|
36
33
|
var styleAttributeService = _ref.styleAttributeService;
|
|
37
34
|
layer.hooks.init.tap('DataMappingPlugin', function () {
|
|
35
|
+
// 初始化重新生成 map
|
|
38
36
|
var source = layer.getSource();
|
|
39
37
|
|
|
40
38
|
if (source.inited) {
|
|
@@ -47,7 +45,8 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
47
45
|
styleAttributeService: styleAttributeService
|
|
48
46
|
});
|
|
49
47
|
});
|
|
50
|
-
}
|
|
48
|
+
} // this.generateMaping(layer, { styleAttributeService });
|
|
49
|
+
|
|
51
50
|
});
|
|
52
51
|
layer.hooks.beforeRenderData.tap('DataMappingPlugin', function () {
|
|
53
52
|
layer.dataState.dataMappingNeedUpdate = false;
|
|
@@ -63,10 +62,12 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
63
62
|
styleAttributeService: styleAttributeService
|
|
64
63
|
});
|
|
65
64
|
});
|
|
66
|
-
}
|
|
65
|
+
} // this.generateMaping(layer, { styleAttributeService });
|
|
66
|
+
|
|
67
67
|
|
|
68
68
|
return true;
|
|
69
|
-
});
|
|
69
|
+
}); // remapping before render
|
|
70
|
+
|
|
70
71
|
layer.hooks.beforeRender.tap('DataMappingPlugin', function () {
|
|
71
72
|
var source = layer.getSource();
|
|
72
73
|
|
|
@@ -80,8 +81,9 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
80
81
|
var dataArray = source.data.dataArray;
|
|
81
82
|
var attributesToRemapping = attributes.filter(function (attribute) {
|
|
82
83
|
return attribute.needRemapping;
|
|
83
|
-
}
|
|
84
|
-
|
|
84
|
+
} // 如果filter变化
|
|
85
|
+
);
|
|
86
|
+
var filterData = dataArray; // 数据过滤完 再执行数据映射
|
|
85
87
|
|
|
86
88
|
if (filter !== null && filter !== void 0 && filter.needRemapping && filter !== null && filter !== void 0 && filter.scale) {
|
|
87
89
|
filterData = dataArray.filter(function (record) {
|
|
@@ -90,12 +92,14 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
90
92
|
}
|
|
91
93
|
|
|
92
94
|
if (attributesToRemapping.length) {
|
|
95
|
+
// 过滤数据
|
|
93
96
|
if (filter !== null && filter !== void 0 && filter.needRemapping) {
|
|
94
97
|
layer.setEncodedData(_this.mapping(layer, attributes, filterData, undefined, bottomColor));
|
|
95
98
|
filter.needRemapping = false;
|
|
96
99
|
} else {
|
|
97
100
|
layer.setEncodedData(_this.mapping(layer, attributesToRemapping, filterData, layer.getEncodedData(), bottomColor));
|
|
98
|
-
}
|
|
101
|
+
} // 处理文本更新
|
|
102
|
+
|
|
99
103
|
|
|
100
104
|
layer.emit('remapping', null);
|
|
101
105
|
}
|
|
@@ -111,7 +115,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
111
115
|
var attributes = styleAttributeService.getLayerStyleAttributes() || [];
|
|
112
116
|
var filter = styleAttributeService.getLayerStyleAttribute('filter');
|
|
113
117
|
var dataArray = layer.getSource().data.dataArray;
|
|
114
|
-
var filterData = dataArray;
|
|
118
|
+
var filterData = dataArray; // 数据过滤完 再执行数据映射
|
|
115
119
|
|
|
116
120
|
if (filter !== null && filter !== void 0 && filter.scale) {
|
|
117
121
|
filterData = dataArray.filter(function (record) {
|
|
@@ -119,7 +123,8 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
119
123
|
});
|
|
120
124
|
}
|
|
121
125
|
|
|
122
|
-
layer.setEncodedData(this.mapping(layer, attributes, filterData, undefined, bottomColor));
|
|
126
|
+
layer.setEncodedData(this.mapping(layer, attributes, filterData, undefined, bottomColor)); // 对外暴露事件
|
|
127
|
+
|
|
123
128
|
layer.emit('dataUpdate', null);
|
|
124
129
|
}
|
|
125
130
|
}, {
|
|
@@ -152,17 +157,21 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
152
157
|
attributes.filter(function (attribute) {
|
|
153
158
|
return attribute.scale !== undefined;
|
|
154
159
|
}).forEach(function (attribute) {
|
|
155
|
-
|
|
160
|
+
// console.log('record', record)
|
|
161
|
+
var values = _this3.applyAttributeMapping(attribute, record, minimumColor); // console.log('values', values)
|
|
156
162
|
|
|
157
|
-
|
|
163
|
+
|
|
164
|
+
attribute.needRemapping = false; // TODO: 支持每个属性配置 postprocess
|
|
158
165
|
|
|
159
166
|
if (attribute.name === 'color') {
|
|
167
|
+
// console.log('attribute', attribute)
|
|
160
168
|
values = values.map(function (c) {
|
|
161
169
|
return rgb2arr(c);
|
|
162
170
|
});
|
|
163
|
-
}
|
|
171
|
+
} // @ts-ignore
|
|
164
172
|
|
|
165
|
-
|
|
173
|
+
|
|
174
|
+
encodeRecord[attribute.name] = Array.isArray(values) && values.length === 1 ? values[0] : values; // 增加对 layer/text/iconfont unicode 映射的解析
|
|
166
175
|
|
|
167
176
|
if (attribute.name === 'shape') {
|
|
168
177
|
encodeRecord.shape = _this3.fontService.getIconFontKey(encodeRecord[attribute.name]);
|
|
@@ -170,6 +179,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
170
179
|
});
|
|
171
180
|
|
|
172
181
|
if (arrow.enable && (encodeRecord.shape === 'line' || encodeRecord.shape === 'halfLine')) {
|
|
182
|
+
// 只有在线图层且支持配置箭头的时候进行插入顶点的处理
|
|
173
183
|
var coords = encodeRecord.coordinates;
|
|
174
184
|
|
|
175
185
|
var arrowPoint = _this3.getArrowPoints(coords[0], coords[1]);
|
|
@@ -178,8 +188,11 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
178
188
|
}
|
|
179
189
|
|
|
180
190
|
return encodeRecord;
|
|
181
|
-
});
|
|
182
|
-
|
|
191
|
+
}); // console.log('mappedData', mappedData)
|
|
192
|
+
// 调整数据兼容 Amap2.0
|
|
193
|
+
|
|
194
|
+
this.adjustData2Amap2Coordinates(mappedData, layer); // 调整数据兼容 SimpleCoordinates
|
|
195
|
+
|
|
183
196
|
this.adjustData2SimpleCoordinates(mappedData);
|
|
184
197
|
return mappedData;
|
|
185
198
|
}
|
|
@@ -188,23 +201,38 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
188
201
|
value: function adjustData2Amap2Coordinates(mappedData, layer) {
|
|
189
202
|
var _this4 = this;
|
|
190
203
|
|
|
204
|
+
// 根据地图的类型判断是否需要对点位数据进行处理, 若是高德2.0则需要对坐标进行相对偏移
|
|
191
205
|
if (mappedData.length > 0 && this.mapService.version === Version['GAODE2.x']) {
|
|
192
206
|
var layerCenter = this.getLayerCenter(layer);
|
|
193
207
|
|
|
194
208
|
if (typeof mappedData[0].coordinates[0] === 'number') {
|
|
195
|
-
|
|
209
|
+
// 单个的点数据
|
|
210
|
+
// @ts-ignore
|
|
211
|
+
mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
|
|
212
|
+
.filter(function (d) {
|
|
196
213
|
return !d.originCoordinates;
|
|
197
214
|
}).map(function (d) {
|
|
198
|
-
d.version = Version['GAODE2.x'];
|
|
199
|
-
|
|
215
|
+
d.version = Version['GAODE2.x']; // @ts-ignore
|
|
216
|
+
|
|
217
|
+
d.originCoordinates = cloneDeep(d.coordinates); // 为了兼容高德1.x 需要保存一份原始的经纬度坐标数据(许多上层逻辑依赖经纬度数据)
|
|
218
|
+
// @ts-ignore
|
|
219
|
+
// d.coordinates = this.mapService.lngLatToCoord(d.coordinates);
|
|
220
|
+
|
|
200
221
|
d.coordinates = _this4.mapService.lngLatToCoordByLayer(d.coordinates, layerCenter);
|
|
201
222
|
});
|
|
202
223
|
} else {
|
|
203
|
-
|
|
224
|
+
// 连续的线、面数据
|
|
225
|
+
// @ts-ignore
|
|
226
|
+
mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
|
|
227
|
+
.filter(function (d) {
|
|
204
228
|
return !d.originCoordinates;
|
|
205
229
|
}).map(function (d) {
|
|
206
|
-
d.version = Version['GAODE2.x'];
|
|
207
|
-
|
|
230
|
+
d.version = Version['GAODE2.x']; // @ts-ignore
|
|
231
|
+
|
|
232
|
+
d.originCoordinates = cloneDeep(d.coordinates); // 为了兼容高德1.x 需要保存一份原始的经纬度坐标数据(许多上层逻辑依赖经纬度数据)
|
|
233
|
+
// @ts-ignore
|
|
234
|
+
// d.coordinates = this.mapService.lngLatToCoords(d.coordinates);
|
|
235
|
+
|
|
208
236
|
d.coordinates = _this4.mapService.lngLatToCoordsByLayer(d.coordinates, layerCenter);
|
|
209
237
|
});
|
|
210
238
|
}
|
|
@@ -240,20 +268,27 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
240
268
|
}
|
|
241
269
|
|
|
242
270
|
if (coordinates[0] && coordinates[0][0] instanceof Array) {
|
|
271
|
+
// @ts-ignore
|
|
243
272
|
var coords = [];
|
|
244
273
|
coordinates.map(function (coord) {
|
|
274
|
+
// @ts-ignore
|
|
245
275
|
var c1 = [];
|
|
246
276
|
coord.map(function (co) {
|
|
247
277
|
c1.push(_this6.mapService.simpleMapCoord.unproject(co));
|
|
248
|
-
});
|
|
278
|
+
}); // @ts-ignore
|
|
279
|
+
|
|
249
280
|
coords.push(c1);
|
|
250
|
-
});
|
|
281
|
+
}); // @ts-ignore
|
|
282
|
+
|
|
251
283
|
return coords;
|
|
252
284
|
} else {
|
|
253
|
-
|
|
285
|
+
// @ts-ignore
|
|
286
|
+
var _coords = []; // @ts-ignore
|
|
287
|
+
|
|
254
288
|
coordinates.map(function (coord) {
|
|
255
289
|
_coords.push(_this6.mapService.simpleMapCoord.unproject(coord));
|
|
256
|
-
});
|
|
290
|
+
}); // @ts-ignore
|
|
291
|
+
|
|
257
292
|
return _coords;
|
|
258
293
|
}
|
|
259
294
|
}
|
|
@@ -274,16 +309,19 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
274
309
|
var field = _ref4.field;
|
|
275
310
|
|
|
276
311
|
if (record.hasOwnProperty(field) || ((_attribute$scale2 = attribute.scale) === null || _attribute$scale2 === void 0 ? void 0 : _attribute$scale2.type) === 'variable') {
|
|
312
|
+
// TODO:多字段,常量
|
|
277
313
|
params.push(record[field]);
|
|
278
314
|
}
|
|
279
|
-
});
|
|
315
|
+
}); // console.log('params', params)
|
|
316
|
+
// console.log('attribute', attribute)
|
|
317
|
+
|
|
280
318
|
var mappingResult = attribute.mapping ? attribute.mapping(params) : [];
|
|
281
319
|
|
|
282
320
|
if (attribute.name === 'color' && !isColor(mappingResult[0])) {
|
|
283
321
|
return [minimumColor];
|
|
284
322
|
}
|
|
285
323
|
|
|
286
|
-
return mappingResult;
|
|
324
|
+
return mappingResult; // return attribute.mapping ? attribute.mapping(params) : [];
|
|
287
325
|
}
|
|
288
326
|
}]);
|
|
289
327
|
|
|
@@ -304,5 +342,4 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
|
|
|
304
342
|
writable: true,
|
|
305
343
|
initializer: null
|
|
306
344
|
})), _class2)) || _class);
|
|
307
|
-
export { DataMappingPlugin as default };
|
|
308
|
-
//# sourceMappingURL=DataMappingPlugin.js.map
|
|
345
|
+
export { DataMappingPlugin as default };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
2
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
3
|
|
|
5
4
|
var _dec, _class;
|
|
6
5
|
|
|
@@ -8,11 +7,9 @@ import { TYPES } from '@antv/l7-core';
|
|
|
8
7
|
import Source, { DEFAULT_DATA, DEFAULT_PARSER, DEFAULT_SOURCE } from '@antv/l7-source';
|
|
9
8
|
import { injectable } from 'inversify';
|
|
10
9
|
import 'reflect-metadata';
|
|
11
|
-
var DataSourcePlugin = (_dec = injectable(), _dec(_class = function () {
|
|
10
|
+
var DataSourcePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function () {
|
|
12
11
|
function DataSourcePlugin() {
|
|
13
12
|
_classCallCheck(this, DataSourcePlugin);
|
|
14
|
-
|
|
15
|
-
_defineProperty(this, "mapService", void 0);
|
|
16
13
|
}
|
|
17
14
|
|
|
18
15
|
_createClass(DataSourcePlugin, [{
|
|
@@ -25,6 +22,7 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = function () {
|
|
|
25
22
|
var source = layer.getSource();
|
|
26
23
|
|
|
27
24
|
if (!source) {
|
|
25
|
+
// TODO: 允许用户不使用 layer 的 source 方法,在这里传入一个默认的替换的默认数据
|
|
28
26
|
var defaultSourceConfig = DEFAULT_SOURCE[layer.type] || {
|
|
29
27
|
data: DEFAULT_DATA,
|
|
30
28
|
options: DEFAULT_PARSER
|
|
@@ -42,10 +40,13 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = function () {
|
|
|
42
40
|
_this.updateClusterData(layer);
|
|
43
41
|
} else {
|
|
44
42
|
source.once('sourceUpdate', function () {
|
|
45
|
-
_this.updateClusterData(layer);
|
|
43
|
+
_this.updateClusterData(layer); // TODO: layer.hooks.init.call();
|
|
44
|
+
|
|
46
45
|
});
|
|
47
|
-
}
|
|
48
|
-
|
|
46
|
+
} // this.updateClusterData(layer);
|
|
47
|
+
|
|
48
|
+
}); // 检测数据是否需要更新
|
|
49
|
+
|
|
49
50
|
layer.hooks.beforeRenderData.tap('DataSourcePlugin', function () {
|
|
50
51
|
var neeUpdateCluster = _this.updateClusterData(layer);
|
|
51
52
|
|
|
@@ -65,8 +66,10 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = function () {
|
|
|
65
66
|
var dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
|
|
66
67
|
|
|
67
68
|
if (cluster && dataSourceNeedUpdate) {
|
|
69
|
+
// 数据发生更新
|
|
68
70
|
source.updateClusterData(Math.floor(newZoom));
|
|
69
|
-
}
|
|
71
|
+
} // 如果 dataSource 有更新,跳过 zoom 的判断,直接更新一次
|
|
72
|
+
|
|
70
73
|
|
|
71
74
|
if (cluster && Math.abs(layer.clusterZoom - newZoom) >= 1) {
|
|
72
75
|
if (zoom !== Math.floor(newZoom)) {
|
|
@@ -83,5 +86,4 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = function () {
|
|
|
83
86
|
|
|
84
87
|
return DataSourcePlugin;
|
|
85
88
|
}()) || _class);
|
|
86
|
-
export { DataSourcePlugin as default };
|
|
87
|
-
//# sourceMappingURL=DataSourcePlugin.js.map
|
|
89
|
+
export { DataSourcePlugin as default };
|