echarts2地图省份依次高亮显示的demo

在echarts2中我找不到dispatchAction的方法,所以通过多次setOption来实现省份的逐个高亮

代码:

<script src="http://echarts.baidu.com/build/dist/echarts-all.js"></script>
<script>
var mycharts = echarts.init(document.getElementById('charts'))
option = {
    series : [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            selectedMode : 'single',
            hoverable: false,
            itemStyle:{
                normal:{label:{show:true}},
                emphasis:{label:{show:true}}
            },
            data:[
                {name:'广东',selected:true},
                {name:'广西',selected:false},
                {name:'河南',selected:false},
                {name:'河北',selected:false},
                {name:'黑龙江',selected:false},
                {name:'山西',selected:false},
                {name:'甘肃',selected:false}
            ]
        }
    ]
};
mycharts.setOption(option);
var provArr = ['广东', '广西', '河南', '河北', '黑龙江', '山西', '甘肃']
var num = 0
setInterval(function(){
    num = (num+1) % provArr.length
    for(let i in provArr){
        if(i == num){
            option.series[0].data[i].selected = true
        }else{
            option.series[0].data[i].selected = false
        }
    }
    // option.series[0].data = [{name:provArr[num],selected:true}]    单独设data里的一项是不行的,会出现逐个高亮,最后全部高亮
    mycharts.setOption(option);
},1000);
</script>


这个只是做了一个小效果,后面还要和其他效果结合在一起。

echarts初学阶段,如果有错误的地方请指出。

猜你喜欢

转载自blog.csdn.net/aydongzhiping/article/details/78625762