原生html 使用echarts实现地图轨迹

本文展示了如何在HTML页面中利用ECharts库结合china.js、china.json数据文件,创建一个显示中国地图并带有轨迹效果的示例。涉及到的依赖包括jQuery、echarts.min.js和地理json文件。代码详细解释了各属性配置,包括地图样式、轨迹点颜色、线条动画等,可依据需求调整。
摘要由CSDN通过智能技术生成

原生html 使用echarts实现地图轨迹

需要引入下载的依赖文件

1,china.js
2,china.json
3,echarts.min.js
4,jquery-3.6.0.min.js

老样子 先上效果图
在这里插入图片描述

echarts.html 具体代码

<!DOCTYPE html>
<html style="height: 100%" lang="en">

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta charset="utf-8">
</head>

<body style="height: 100%; margin: 0">
    <div id="container" style="height: 100%"></div>
    <script src="./jquery-3.6.0.min.js"></script>
    <script type="text/javascript" src="./echarts.min.js"></script>
    <script src="./china.js"></script>
    <script type="text/javascript">
        var uploadedDataURL = "./china.json";



        var points = [
            {
                value: [118.8062, 31.9208], itemStyle: { color: '#4ab2e5' }
            }
            , { value: [127.9688, 45.368], itemStyle: { color: '#4fb6d2' } }
            , { value: [110.3467, 41.4899], itemStyle: { color: '#52b9c7' } }
            , { value: [125.8154, 44.2584], itemStyle: { color: '#5abead' } }
            , { value: [116.4551, 40.2539], itemStyle: { color: '#f34e2b' } }
            , { value: [123.1238, 42.1216], itemStyle: { color: '#f56321' } }
            , { value: [114.4995, 38.1006], itemStyle: { color: '#f56f1c' } }
            , { value: [117.4219, 39.4189], itemStyle: { color: '#f58414' } }
            , { value: [112.3352, 37.9413], itemStyle: { color: '#f58f0e' } }
            , { value: [109.1162, 34.2004], itemStyle: { color: '#f5a305' } }
            , { value: [103.5901, 36.3043], itemStyle: { color: '#e7ab0b' } }
            , { value: [106.3586, 38.1775], itemStyle: { color: '#dfae10' } }
            , { value: [101.4038, 36.8207], itemStyle: { color: '#d5b314' } }
            , { value: [103.9526, 30.7617], itemStyle: { color: '#c1bb1f' } }
            , { value: [108.384366, 30.439702], itemStyle: { color: '#b9be23' } }
            , { value: [113.0823, 28.2568], itemStyle: { color: '#a6c62c' } }
            , { value: [102.9199, 25.46639], itemStyle: { color: '#96cc34' } }
            , {
                value: [119.4543, 25.9222]
            }
        ]

        var myChart = echarts.init(document.getElementById('container'))
        myChart.showLoading();

        let index = -1;



        $.getJSON(uploadedDataURL, function (geoJson) {

            echarts.registerMap('china', geoJson);
            myChart.hideLoading();
            option = {
                backgroundColor: '#013954',
                /*   title: {
                       top: 20,
                       text: '“困难人数” - 杭州市',
                       subtext: '',
                       x: 'center',
                       textStyle: {
                           color: '#ccc'
                       }
                   },*/

                // tooltip: {
                //     trigger: 'item',
                //     formatter: function(params) {
                //         console.log(params)
                //             return params.name + ' : ' + params.value[2];
                //     }
                // },
                /*visualMap: {
                   min: 0,
                   max: 1000000,
                   right: 100,
                   seriesIndex: 1,
                   type: 'piecewise',
                   bottom: 100,
                   textStyle: {
                     color: '#FFFF'
                   },
                   splitList: [
                     {
                       gt: 50000,
                       color: '#F5222D',
                       label: '困难人数大于5万人'
                     }, //大于5万人
                     {
                       gte: 30000,
                       lte: 50000,
                       color: '#FA541C ',
                       label: '困难人数3-5万人'
                     }, //3-5万人
                     {
                       gte: 10000,
                       lte: 30000,
                       color: '#FA8C16',
                       label: '困难人数1-3万人'
                     }, //1-3万人
                     {
                       lte: 10000,
                       color: '#fbe1d6',
                       label: '困难人数小于1万人'
                     }
                   ]
                 },*/

                geo: {
                    map: 'china',
                    aspectScale: 0.75, //长宽比
                    zoom: 1.1,
                    roam: false,
                    itemStyle: {
                        normal: {
                            areaColor: {
                                type: 'radial',
                                x: 0.5,
                                y: 0.5,
                                r: 0.8,
                                colorStops: [{
                                    offset: 0,
                                    color: '#09132c' // 0% 处的颜色
                                }, {
                                    offset: 1,
                                    color: '#274d68'  // 100% 处的颜色
                                }],
                                globalCoord: true // 缺省为 false
                            },
                            shadowColor: 'rgb(58,115,192)',
                            shadowOffsetX: 10,
                            shadowOffsetY: 11
                        },
                        emphasis: {
                            areaColor: '#2AB8FF',
                            borderWidth: 0,
                            color: 'green',
                            label: {
                                show: false
                            }
                        }
                    },
                    regions: [{
                        name: '南海诸岛',
                        itemStyle: {
                            areaColor: 'rgba(0, 10, 52, 1)',

                            borderColor: 'rgba(0, 10, 52, 1)',
                            normal: {
                                opacity: 0,
                                label: {
                                    show: false,
                                    color: "#009cc9",
                                }
                            }
                        },


                    }],
                },
                series: [{
                    type: 'map',
                    roam: false,
                    label: {
                        normal: {
                            show: true,
                            textStyle: {
                                color: '#1DE9B6'
                            }
                        },
                        emphasis: {
                            textStyle: {
                                color: 'rgb(183,185,14)'
                            }
                        }
                    },

                    itemStyle: {
                        normal: {
                            borderColor: 'rgb(147, 235, 248)',
                            borderWidth: 1,
                            areaColor: {
                                type: 'radial',
                                x: 0.5,
                                y: 0.5,
                                r: 0.8,
                                colorStops: [{
                                    offset: 0,
                                    color: '#09132c' // 0% 处的颜色
                                }, {
                                    offset: 1,
                                    color: '#274d68'  // 100% 处的颜色
                                }],
                                globalCoord: true // 缺省为 false
                            },
                        },
                        emphasis: {
                            areaColor: 'rgb(46,229,206)',
                            //    shadowColor: 'rgb(12,25,50)',
                            borderWidth: 0.1
                        }
                    },
                    zoom: 1.1,
                    //     roam: false,
                    map: 'china' //使用
                    // data: this.difficultData //热力图数据   不同区域 不同的底色
                }, {
                    type: 'effectScatter',
                    coordinateSystem: 'geo',
                    showEffectOn: 'render',
                    zlevel: 1,
                    rippleEffect: {
                        period: 15,
                        scale: 4,
                        brushType: 'fill'
                    },
                    hoverAnimation: true,
                    label: {
                        normal: {
                            formatter: '{b}',
                            position: 'right',
                            offset: [15, 0],
                            color: '#1DE9B6',
                            show: true
                        },
                    },
                    itemStyle: {
                        normal: {
                            color: '#1DE9B6'/* function (value){ //随机颜色
 return "#"+("00000"+((Math.random()*16777215+0.5)>>0).toString(16)).slice(-6);
 }*/,
                            shadowBlur: 10,
                            shadowColor: '#333'
                        }
                    },
                    symbolSize: 12,
                    data: points
                }, //地图线的动画效果
                {
                    type: 'lines',
                    zlevel: 2,
                    effect: {
                        show: true,
                        period: 4, //箭头指向速度,值越小速度越快
                        trailLength: 0.4, //特效尾迹长度[0,1]值越大,尾迹越长重
                        symbol: 'arrow', //箭头图标
                        symbolSize: 7, //图标大小
                    },
                    lineStyle: {
                        normal: {
                            color: '#1DE9B6'
                        /* function (value){ //随机颜色
                        
                        ['#f21347','#f3243e','#f33736','#f34131','#f34e2b',
                        '#f56321','#f56f1c','#f58414','#f58f0e','#f5a305',
                        '#e7ab0b','#dfae10','#d5b314','#c1bb1f','#b9be23',
                        '#a6c62c','#96cc34','#89d23b','#7ed741','#77d64c',
                        '#71d162','#6bcc75','#65c78b','#5fc2a0','#5abead',
                        '#52b9c7','#4fb6d2','#4ab2e5']
 return "#"+("00000"+((Math.random()*16777215+0.5)>>0).toString(16)).slice(-6);
 }*/,
                            width: 1, //线条宽度
                            opacity: 0.1, //尾迹线条透明度
                            curveness: .3 //尾迹线条曲直度
                        }
                    },
                    data: [
                        { coords: [[118.8062, 31.9208], [119.4543, 25.9222]], lineStyle: { color: '#4ab2e5' } }
                        , { coords: [[127.9688, 45.368], [119.4543, 25.9222]], lineStyle: { color: '#4fb6d2' } }
                        , { coords: [[110.3467, 41.4899], [119.4543, 25.9222]], lineStyle: { color: '#52b9c7' } }
                        , { coords: [[125.8154, 44.2584], [119.4543, 25.9222]], lineStyle: { color: '#5abead' } }
                        , { coords: [[116.4551, 40.2539], [119.4543, 25.9222]], lineStyle: { color: '#f34e2b' } }
                        , { coords: [[123.1238, 42.1216], [119.4543, 25.9222]], lineStyle: { color: '#f56321' } }
                        , { coords: [[114.4995, 38.1006], [119.4543, 25.9222]], lineStyle: { color: '#f56f1c' } }
                        , { coords: [[117.4219, 39.4189], [119.4543, 25.9222]], lineStyle: { color: '#f58414' } }
                        , { coords: [[112.3352, 37.9413], [119.4543, 25.9222]], lineStyle: { color: '#f58f0e' } }
                        , { coords: [[109.1162, 34.2004], [119.4543, 25.9222]], lineStyle: { color: '#f5a305' } }
                        , { coords: [[103.5901, 36.3043], [119.4543, 25.9222]], lineStyle: { color: '#e7ab0b' } }
                        , { coords: [[106.3586, 38.1775], [119.4543, 25.9222]], lineStyle: { color: '#dfae10' } }
                        , { coords: [[101.4038, 36.8207], [119.4543, 25.9222]], lineStyle: { color: '#d5b314' } }
                        , { coords: [[103.9526, 30.7617], [119.4543, 25.9222]], lineStyle: { color: '#c1bb1f' } }
                        , { coords: [[108.384366, 30.439702], [119.4543, 25.9222]], lineStyle: { color: '#b9be23' } }
                        , { coords: [[113.0823, 28.2568], [119.4543, 25.9222]], lineStyle: { color: '#a6c62c' } }
                        , { coords: [[102.9199, 25.46639], [119.4543, 25.9222]], lineStyle: { color: '#96cc34' } }
                    ]
                }

                ]
            };
            myChart.setOption(option, true);
        });

    </script>
</body>

</html>

具体属性含义解释 根据自身情况进行更改
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

源码包括所有依赖的文件地址我放在百度云了 有需要的自行下载
百度云盘链接
提取码 : xku4

希望此文章能帮助到你 记得一键三连哈

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cheng Lucky

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值