zoukankan      html  css  js  c++  java
  • mapbox、echarts实现地图流动效果

    实现效果:

    
    <html>
    
    <head>
        <script src="https://api.mapbox.com/mapbox-gl-js/v0.38.0/mapbox-gl.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/echarts@v3.8.0/dist/echarts.min.js"></script>
        <script src="http://echarts.baidu.com/resource/echarts-gl-latest/dist/echarts-gl.min.js"></script>
    </head>
    
    <body style="margin: 0; padding: 0;">
        <div id="map" style=" 100vw; height: 100vh"></div>
    </body>
    
    <script type="text/javascript">
        async function initialize() {
            let jsonData = 请求的数据'
            var szRoad=jsonData;
    
            var busLines = [];
            var data = szRoad.data;
            var hStep = 300 / (data.length - 1);
    
            var i = 0;
            for (var x in data) {
                // i++;
                // if(i<5000)
                //     continue;
                var line = data[x];
                // if(busLines.length>500)
                //     break;
                var pointString = line.ROAD_LINE;
                var pointArr = pointString.split(';');
                var lnglats = [];
                for (var j in pointArr) {
                    lnglats.push(pointArr[j].split(','))
                }
                busLines.push({
                    coords: lnglats,
                    lineStyle: {
                        normal: {
                            color: echarts.color.modifyHSL('#5A94DF', Math.round(hStep * x))
                        }
                    }
                })
            }
    
            option = {
                backgroundColor: '#404a59',
                mapbox: {
                    center: [113.89764, 22.58294],
                    zoom: 14,
                    altitudeScale: 10000,
                    style: {
                        'version': 8,
                        'sources': {
                            'raster-tiles': {
                                'type': 'raster',
                                'tiles': [
                                    'https://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}'
                                ],
                                'tileSize': 256
                            }
                        },
                        'layers': [
                            {
                                'id': 'simple-tiles',
                                'type': 'raster',
                                'source': 'raster-tiles',
                                'minzoom': 0,
                                'maxzoom': 22
                            }
                        ]
                    },
                    postEffect: {
                        enable: true,
                        FXAA: {
                            enable: true
                        }
                    },
                    light: {
                        main: {
                            intensity: 1,
                            shadow: true,
                            shadowQuality: 'high'
                        },
                        ambient: {
                            intensity: 0
                        },
                        ambientCubemap: {
                            // texture: '/asset/get/s/data-1491838644249-ry33I7YTe.hdr',
                            texture: '/asset/get/s/Milkyway_Light.hdr',
                            exposure: 1,
                            diffuseIntensity: 0.5,
                            specularIntensity: 2
                        }
                    }
                },
                series: [{
                    type: 'lines3D',
    
                    coordinateSystem: 'mapbox',
    
                    effect: {
                        show: true,
                        constantSpeed: 2,
                        trailWidth: 2,
                        trailLength: 0.4,
                        trailOpacity: 1,
                        spotIntensity: 10
                    },
    
                    blendMode: 'lighter',
    
                    polyline: true,
    
                    lineStyle: {
                         0.1,
                        color: 'rgb(200, 40, 0)',
                        opacity: 0
                    },
    
                    data: {
                        count: function () {
                            return busLines.length;
                        },
                        getItem: function (idx) {
                            return busLines[idx]
                        }
                    }
                }]
            };
       
            var myChart = echarts.init(document.getElementById('map'));
            myChart.setOption(option);
    
        }
        initialize();
    
    
    
    </script>
    
    </html>
    
  • 相关阅读:
    hdu 5146 Sequence
    hdu 1232 畅通工程
    hdu 1213 How Many Tables
    hdu 2822 Dogs
    hdu 1242 Rescue
    hdu 5101 Select
    hdu 1873 看病要排队
    hdu 5112 A Curious Matt
    hdu 5154 Harry and Magical Computer
    hdu 1548 A strange lift
  • 原文地址:https://www.cnblogs.com/dxy9527/p/14984547.html
Copyright © 2011-2022 走看看