echarts2.0 map ,地图显示、通过dataRange 动态改变地图上线的颜色

map.png

如上图所示我想动态改变map上线的颜色,废话少说,先上代码,首先是引入配置文件

 <script  type="text/javascript" src="./bundles/require/require.js"></script>
 <script  src="js/echarts.js" charset="UTF-8"></script>

然后是全部代码

function getEcharts(end_obj,pointsdata,linedata){
    // Step:3 conifg ECharts's path, link to echarts.js from current page.
    // Step:3 为模块加载器配置echarts的路径,从当前页面链接到echarts.js,定义所需图表路径
    require.config({
        paths: {
            echarts: './js'
        }
    });
    
    // Step:4 require echarts and use it in the callback.
    // Step:4 动态加载echarts然后在回调函数中开始使用,注意保持按需加载结构定义图表路径
    require(
        [
            'echarts',
            'echarts/chart/map'
        ],
        function (ec) {
            // --- 地图 ---
        var myChart2 = ec.init(document.getElementById('mapcontainer'));
        myChart2.setOption({
                title : {
                    text: '',
                    subtext: '',
                    left: 'center',
                    textStyle : {
                        color: '#fff'
                    }
                },
                tooltip : {
                    trigger: 'axis',
                    backgroundColor: 'rgba(0,0,0,.6)',
                    padding: 14,
                    textStyle:{
                        color:'#fff'
                    },
                    fontSize: 12,
                    lineHeight:20
                },

                dataRange: {
                    /*min :min,
                    max:max,*/
                                 calculable : false,
                  //splitList控制线与点的颜色,start意思是大于等于,end是小于等于,当满足条件时可以改变颜色,这里是通过linedata与pointsdata,来改变的
                    splitList: [
                                    {start: 6,  color:'2a2a2a'},
                                    {start: 4, end: 5,color:'#fa9c08'},
                                    {start: 3, end: 3,color:'#fc0c38'},
                                    {start: 2, end: 2,color:'#f1ff0e'}, 
                                    {start: 1, end: 1,color:'#39f60e'},                   
                                    {start: 0, end: 0,color:'#d0d0d0'}, 
                              ],

                    // color: ['#ff3333','#0af08c'], 如果不加splitList,也可以通过color,但是必须得有max,与min
                    x: '',
                    show: false,
                    textStyle:{
                        color:'#fff'
                    }
                },
                layoutCenter: ['50%', '50%'],
                series : [
                    {
                        name: '湖南\n\n',
                        type: 'map',
                        roam: false,
                        hoverable: true,
                        clickable:true,
                        mapType: '湖南',
    
                        data:end_obj,
                       //这是鼠标悬停的时候的数据
                        tooltip : {
                   
                            trigger: 'item',
                            formatter: function (params){
                          var chityname = params.name;                       
                                if(end_obj!=null){
                                    for(var i=0;i<end_obj.length;i++){
                                        if(chityname.indexOf(end_obj[i].name)!=-1){
                                                return(`${chityname}<br>
                                                    站点数量:${end_obj[i].count}<br>
                                                    正常站点:${end_obj[i].good}<br>
                                                    告警站点:${end_obj[i].fault}<br>`)
                                        }
                                    }
                                }else{
                                    return  chityname
                                } 
                          
                        },
                        },
                        itemStyle:{
                            normal:{
                                label:{
                                    show:true,
                                    textStyle: {
                                        color: 'rgba(255,255,255,0.7)',
                                        fontSize: 10
                                    }
                                },
                                borderColor:'rgba(104,183,239,0.7)',
                                borderWidth:1,
                                areaStyle:{
                                    color: 'rgba(104,183,239,0.2)'
                                }
                            },
                            emphasis:{
                                label:{
                                    show:true,
                                    textStyle: {
                                        color: 'rgba(255,255,255,1)',
                                        fontSize: 14
                                    }
                                },
                                areaStyle:{
                                    color:'rgba(0,0,0,0.6)'
                                }
                            }
                            
                        },
                    
                        markLine : {
                            smooth:true,
                            symbol: ['none', 'circle'], 
                             
                            symbolSize : 1,
                            itemStyle : {
                                normal: {
                                    color:'#fff',
                                    borderWidth:1,
                                    borderColor:'rgba(30,144,255,0.5)'
                                }
                            },
                            data : [
                            ],
                        },
                        geoCoord: {
                            '长沙': [112.93,28.23],
                            '株洲': [113.13,27.83],
                            '湘潭': [112.93,27.83],
                            '衡阳': [112.57,26.90],
                            '邵阳': [111.47,27.25],
                            '岳阳': [113.12,29.37],
                            '常德': [111.68,29.05],
                            '张家界': [110.47,29.13],
                            '益阳': [112.32,28.60],
                            '郴州': [113.02,25.78],
                            '永州': [111.62,26.43],
                            '怀化': [110.00,27.57],
                            '娄底': [112.00,27.73],
                            '湘西土家族苗族自治州': [109.73,28.32]
                        },
                        markPoint : {
                            symbol:'emptyCircle',
                            symbolSize : function (v){
                                return 10 + 2*v            
                            },
                            effect : { 
                                show: true,
                                shadowBlur : 1
                            },
                            itemStyle:{      
                                normal:{
                                    label:{show:true}
                                },
                                emphasis: {
                                    label:{position:'bottom'}
                                }
                            },
                            data : pointsdata
                                                       // 这是点的数据格式是[{name:'长沙',value:2},{name:'郴州',value:1}]
                        }
                    },
                    {
                        name: '',
                        type: 'map',
                        mapType: '湖南',
                        data:[],
                        markLine : {
                            smooth:true,
                            effect : {
                                show: true,
                                scaleSize: 2,
                                period: 15,
                                color: 'rgba(255,255,255,0.7)',
                                shadowBlur: 5
                            },
                            itemStyle : {
                                normal: {
                                    label:{
                                        show:false,
                                        color: '#333333',
                                         formatter: '{b}'
                                        },
                                    silent:true,
                                    borderWidth:1,
                                    lineStyle: {   
                                        type: 'solid',
                                        shadowBlur: 3

                                    },
                                   
                                },
                                emphasis: {
                                        label:{show:false}
                                    }
                            },
                            
                            data : linedata,
                                        // 这是线的数据格式是[[{name:'长沙'},{name:'郴州',value:1}],[{name:'长沙'},{name:'邵阳',value:1}]]
                            
                        },
                    
                    }
                ]
        });
   
    window.addEventListener("resize",function(){              
        myChart2.resize();
     })        

                

    });
}
// 有时候地图点的位置混乱了,如果定位没错的话,linedata 中的{name:'长沙'}的name要和地理位置中的一致对

有时候地图点的位置混乱了,如果定位没错的话,linedata 中的{name:'长沙'}的name要和地理位置中的一致对

https://echarts.baidu.com/echarts2/doc/example/dataRange2.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容