這裏使用的是ECharts 2,由於用EChart 3製做的地圖上的省市文字標識會有重疊,推測是引入的地圖文件china.js,繪製文字的座標方面的問題,因此,這裏仍是使用老版本。html
ECharts 2須要require加載模塊。html中只須要用script引入echarts.js便可。echarts
具體代碼以下:dom
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>echarts.js插件實現中國地圖省份選擇效果</title> <style> *{margin:0;padding:0;} </style> </head> <body> <div id="main" style="height:500px"></div> <script src="dist/echarts.js"></script> <script> // 路徑配置 require.config({ paths: { echarts: 'dist' } }); // 使用 require(['echarts','echarts/chart/map'],function (ch) { // 基於準備好的dom,初始化echarts圖表 var myChart = ch.init(document.getElementById('main')); option = { tooltip : { trigger: 'item', formatter: '{b}' }, series : [{ name: '中國', type: 'map', mapType: 'china', selectedMode : 'single',//multiple多選 itemStyle:{ normal:{ label:{ show:true, textStyle: { color: "#231816" } }, areaStyle:{color:'#B1D0EC'}, color:'#B1D0EC', borderColor:'#dadfde'//區塊的邊框顏色 }, emphasis:{//鼠標hover樣式 label:{ show:true, textStyle:{ color:'#fa4f04' } } } }, data:[ {name:'四川',selected:true} ] }] }; var ecConfig = require('echarts/config'); myChart.on(ecConfig.EVENT.MAP_SELECTED, function (param){ var selected = param.selected; var urlArr = ['http://www.baidu.com','http://http://www.cnblogs.com/sapho']; for (var p in selected) { if (selected[p]) { switch(p){ case '河南': location.href = urlArr[0]; break; case '重慶': location.href = urlArr[1]; break; default: break; } } } }); // 爲echarts對象加載數據 myChart.setOption(option); }); </script> </body> </html>
文件結構以下:字體
效果以下:ui
點擊四川或重慶,就會跳轉到指定連接。url
區塊背景的顏色控制:itemStyle-->normal-->color。spa
區塊裏面的字體顏色控制:itemStyle-->normal-->label-->textStyle-->color。插件