地图

描述:当前是关于Echarts图表中的 示例。
 
            var uploadedDataURL = '/asset/get/s/data-1528971808162-BkOXf61WX.json';

$.getJSON(uploadedDataURL, function (geoJson) {
    echarts.registerMap('china', geoJson);

    var colors = ['rgba(0,255,0,0.24)', 'rgba(0,255,0,0.50)', 'rgba(0,255,0,1)']
    let chartData = [
        {
            year:2021,
            month:1,
            name: '内蒙古',
            coord: [110.3467, 41.4899],
            from: [
                { name: '甘肃', coord: [103.5901, 36.3043], value: 100 },
                { name: '宁夏', coord: [106.3586, 38.1775], value: 100 },
                { name: '青海', coord: [101.4038, 36.8207], value: 100 },
                { name: '新疆', coord: [87.9236, 43.5883], value: 100 },
                { name: '西藏', coord: [91.11, 29.97], value: 100 },
                { name: '四川', coord: [103.9526, 30.7617], value: 100 },
                { name: '重庆', coord: [108.384366, 30.439702], value: 100 },
                { name: '山东', coord: [117.1582, 36.8701], value: 100 },
                { name: '河南', coord: [113.4668, 34.6234], value: 100 },
                { name: '江苏', coord: [118.8062, 31.9208], value: 100 },
                { name: '安徽', coord: [117.29, 32.0581], value: 100 },
                { name: '湖北', coord: [114.3896, 30.6628], value: 100 },
                { name: '浙江', coord: [119.5313, 29.8773], value: 100 },
                { name: '福建', coord: [119.4543, 25.9222], value: 100 },
                { name: '江西', coord: [116.0046, 28.6633], value: 100 },
                { name: '湖南', coord: [113.0823, 28.2568], value: 100 },
                { name: '贵州', coord: [106.6992, 26.7682], value: 100 },
                { name: '云南', coord: [102.9199, 25.4663], value: 100 },
                { name: '广东', coord: [113.12244, 23.009505], value: 100 },
                { name: '广西', coord: [108.479, 23.1152], value: 100 },
                { name: '海南', coord: [110.3893, 19.8516], value: 100 },
            ],
        },
        {
            name: '重庆',
            year:2021,
            month:1,
            coord: [108.384366, 30.439702],
            from: [
                { name: '黑龙江', coord: [127.9688, 45.368], value: 100 },
                { name: '内蒙古', coord: [110.3467, 41.4899], value: 100 },
                { name: '吉林', coord: [125.8154, 44.2584], value: 100 },
                { name: '北京市', coord: [116.4551, 40.2539], value: 100 },
                { name: '辽宁', coord: [123.1238, 42.1216], value: 100 },
                { name: '河北', coord: [114.4995, 38.1006], value: 100 },
                { name: '天津', coord: [117.4219, 39.4189], value: 100 },
                { name: '山西', coord: [112.3352, 37.9413], value: 100 },
                { name: '陕西', coord: [109.1162, 34.2004], value: 100 },
                { name: '甘肃', coord: [103.5901, 36.3043], value: 100 },
                { name: '宁夏', coord: [106.3586, 38.1775], value: 100 },
                { name: '青海', coord: [101.4038, 36.8207], value: 100 },
                { name: '新疆', coord: [87.9236, 43.5883], value: 100 },
                { name: '西藏', coord: [91.11, 29.97], value: 100 },

                { name: '广西', coord: [108.479, 23.1152], value: 100 },
                { name: '海南', coord: [110.3893, 19.8516], value: 100 },
            ],
        },
    ];

    let optionXyMap01 = {
        timeline: {
            data: chartData.map((m) => {
                return m.name;
            }),
            axisType: 'category',
            autoPlay: true,
            playInterval: 3000,
            left: '10%',
            right: '10%',
            bottom: '3%',
            width: '80%',
             label: {
                normal: {
                    textStyle: {
                        color: 'rgba(2,139,255,1)'
                    }
                },
                emphasis: {
                    textStyle: {
                        color: 'rgba(2,139,255,1)'
                    }
                }
            },
            
            symbolSize: 10,
            lineStyle: {
                color: 'rgba(40,68,253,0.6)'
            },
            checkpointStyle: {
                borderColor: 'rgba(113,245,247,1)',
                color: 'rgba(40,68,253,1)',
                borderWidth: 2,
            },
            controlStyle: {
                showNextBtn: true,
                showPrevBtn: true,
                normal: {
                    color: 'rgba(40,68,253,0.6)',
                    borderColor: 'rgba(40,68,253,0.6)'
                },
                emphasis: {
                    color: 'rgba(40,68,253,0.6)',
                    borderColor: 'rgba(40,68,253,0.6)'
                }
            }
        },
        baseOption: {
            animation: true,
            animationDuration: 1000,
            animationEasing: 'cubicInOut',
            animationDurationUpdate: 1000,
            animationEasingUpdate: 'cubicInOut',
            grid: {
                right: '1%',
                top: '15%',
                bottom: '10%',
                width: '20%',
            },
            visualMap: {
                text: ['高', '低'],
                showLabel: false,
                left: '3%',
                bottom: '20%',
                calculable: true,
                seriesIndex: [1, 2, 3],
                inRange: {
                    color: colors,
                },
                textStyle: {
                    color: '#24CFF4',
                },
            },
            tooltip: {
                trigger: 'axis', // hover触发器
                axisPointer: {
                    // 坐标轴指示器,坐标轴触发有效
                    type: 'shadow', // 默认为直线,可选为:'line' | 'shadow'
                    shadowStyle: {
                        color: 'rgba(150,150,150,0.1)', //hover颜色
                    },
                },
            },
            geo: {
                show: true,
                map: 'china',
                roam: false,
                zoom: 1,
                label: {
                    emphasis: {
                        show: false,
                    },
                },
                itemStyle: {
                    normal: {
                        color: '#092765', //地图背景色
                        borderColor: 'RGB(083, 217, 255,0.3)', //省市边界线00fcff 516a89
                        borderWidth: 5,
                        shadowColor: 'rgba(128, 217, 248, 1)',
                        shadowBlur: 5,
                    },
                    emphasis: {
                        areaColor: 'rgba(2,139,255,1)',
                        borderWidth: 0,
                    },
                    emphasis: {
                        color: 'RGB(037, 120, 184)', //悬浮背景
                        borderWidth: 0,
                    },
                },
            },
        },
        options: [],
    };
    for (var it of chartData) {
        optionXyMap01.options.push({
            backgroundColor: '#000000',

            series: [
                //地图
                {
                    type: 'map',
                    map: 'china',
                    roam: false,
                    //geoIndex: 0,
                    //aspectScale: 1, //长宽比
                    showLegendSymbol: false, // 存在legend时显示
                    label: {
                        normal: {
                            show: false,
                        },
                        emphasis: {
                            show: false,
                            textStyle: {
                                color: '#fff',
                            },
                        },
                    },

                    itemStyle: {
                        normal: {
                            borderColor: 'RGB(083, 217, 255,0.5)', //省市边界线00fcff 516a89
                            borderWidth: 1,
                            areaColor: 'RGB(000, 038, 109)',
                        },
                        emphasis: {
                            areaColor: 'RGB(037, 120, 184)', //悬浮背景
                            borderWidth: 0,
                        },
                    },
                    animation: true,
                    data: it.from.map((item) => {
                        return { name: item.name, value: [...item.coord, item.value] };
                    }),
                },
                //地图线的动画效果
                {
                    type: 'lines',
                    zlevel: 2,
                    effect: {
                        show: true,
                        period: 5, //箭头指向速度,值越小速度越快
                        trailLength: 0.2, //特效尾迹长度[0,1]值越大,尾迹越长重
                        symbol: 'arrow', //箭头图标
                        symbolSize: 6, //图标大小
                    },
                    lineStyle: {
                        normal: {
                            //color: colors[0],
                            width: 0.1, //尾迹线条宽度
                            opacity: 0.5, //尾迹线条透明度
                            curveness: 0.3, //尾迹线条曲直度
                        },
                    },

                    data: it.from.map((item) => {
                        return [
                            {
                                coord: item.coord,
                                value: item.value,
                            },
                            {
                                coord: it.coord,
                                name:it.name
                            },
                        ];
                    }),
                },
                {
                    //文字和标志
                    name: 'light',
                    type: 'scatter',
                    coordinateSystem: 'geo',
                    data: it.from.map((item) => {
                        return { name: item.name, value: [...item.coord, item.value] };
                    }),
                    symbolSize: function (val) {
                        return val[2] / 10;
                    },
                    label: {
                        normal: {
                            formatter: '{b}',
                            position: 'right',
                            show: true,
                        },
                        emphasis: {
                            show: true,
                        },
                    },
                    itemStyle: {
                        normal: {
                            //color: colors[0],
                        },
                    },
                },
                //地图点的动画效果
                {
                    //  name: 'Top 5',
                    type: 'effectScatter',
                    coordinateSystem: 'geo',
                    data: it.from.map((item) => {
                        return { name: item.name, value: [...item.coord, item.value] };
                    }),
                    symbolSize: function (val) {
                        return val[2] / 10;
                    },
                    showEffectOn: 'render',
                    rippleEffect: {
                        brushType: 'stroke',
                    },
                    hoverAnimation: true,
                    label: {
                        normal: {
                            formatter: '{b}',
                            position: 'right',
                            show: true,
                        },
                    },
                    itemStyle: {
                        normal: {
                            //color: colors[0],
                            shadowBlur: 10,
                           // shadowColor: colors[0],
                        },
                    },
                    zlevel: 1,
                },
            ],
        });
    }
    myChart.setOption(optionXyMap01);
});