ECharts地圖使用一段代碼即可搞定

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Demo</title>

</head>
<body>
<!--1 準備一個容器來顯示echarts地圖-->
<div class="map-demo" style="width: 940px;height:660px;border:1px solid #ccc;padding:10px;"></div>

<!--2 引入echarts.js,官網可下載-->
<script src="build/dist/echarts.js"></script>

<script>
    // 3 配置echarts的路徑
    require.config({
        paths: {
            echarts: './build/dist'
        }
    });

    // 4 動態加載echarts然後在回調函數中開始使用,注意保持按需加載結構定義圖表路徑
    require(
        [
            //這裏的'echarts'相當於'./js'
            'echarts',
            'echarts/chart/map'//一定要下載好map.js這個文件,不然不會顯示地圖
        ],
        //創建ECharts圖表方法
        function (ec) {
            // --- 地圖 ---
            //基於準備好的dom,初始化echart圖表
            var myChart = ec.init(document.querySelector('.map-demo'));
            //定義圖表option
            var option = {
                //標題,每個圖表最多僅有一個標題控件,每個標題控件可設主副標題
                title: {
                    //主標題文本,'\n'指定換行
                    text: '全部加盟商',
                    //副標題文本,'\n'指定換行
                    subtext: '藍職培',
                    //水平安放位置,默認爲左側,可選爲:'center' | 'left' | 'right' | {number}(x座標,單位px)
                    x: 'center',
                    //垂直安放位置,默認爲全圖頂端,可選爲:'top' | 'bottom' | 'center' | {number}(y座標,單位px)
                    y: 'top'
                },
                //圖例,每個圖表最多僅有一個圖例
                tooltip : {
                    //觸發類型,默認('item')數據觸發,可選爲:'item' | 'axis'
                    trigger: 'item'
                },
                //圖例,每個圖表最多僅有一個圖例
                legend: {
                    //佈局方式,默認爲水平佈局(即horizontal),可選爲:'horizontal' | 'vertical'
                    orient: 'vertical',
                    //水平安放位置,默認爲全圖居中,可選爲:'center' | 'left' | 'right' | {number}(x座標,單位px)
                    x: 'left',
                    //垂直安放位置,默認爲全圖頂端,可選爲:'top' | 'bottom' | 'center' | {number}(y座標,單位px)
                    y: 'top',
                    //legend的data: 用於設置圖例,data內的字符串數組需要與sereis數組內每一個series的name值對應
                    data:['門店加盟','合作伙伴','公司股東']
                },
                //值域選擇,每個圖表最多僅有一個值域控件
                dataRange: {
                    //佈局方式,默認爲垂直佈局('vertical'),可選爲:'horizontal' | 'vertical'
                    orient: 'vertical',
                    //指定的最小值,eg: 0,默認無(null),必須參數
                    min: 0,
                    //指定的最大值,eg: 100,默認無(null),必須參數
                    max: 2500,
                    //水平安放位置,默認爲全圖左對齊('left'),可選爲:'center' | 'left' | 'right' | {number}(x座標,單位px)
                    x: 'left',
                    //垂直安放位置,默認爲全圖底部('bottom'),可選爲:'top' | 'bottom' | 'center' | {number}(y座標,單位px)
                    y: 'bottom',
                    //值域文字顯示,默認爲數值文本
                    text: ['高','低'],
                    //是否啓用值域漫遊,默認爲關閉(false),啓用後無視splitNumber,值域顯示爲線性漸變
                    calculable: true
                },

                //series(地圖),驅動圖表生成的數據內容數組,數組中每一項爲一個系列的選項及數據
                series : [
                    {
                        //系列名稱,如果啓用legend,該值將被legend.data索引相關
                        name: '門店加盟',
                        //圖表類型,必要參數!如爲空或不支持類型,則該系列數據不被顯示
                        type: 'map',
                        //地圖類型,支持world,china及全國34個省市自治區。省市自治區的mapType直接使用簡體中文:如'廣東'
                        mapType: 'china',
                        //是否開啓滾輪縮放和拖拽漫遊,默認爲false(關閉),其他有效輸入爲true(開啓),'scale'(僅開啓滾輪縮放),'move'(僅開啓拖拽漫遊)
                        roam: 'scale',
                        //圖形樣式,可設置圖表內圖形的默認樣式和強調樣式(懸浮時樣式)
                        itemStyle:{
                            //正常時的樣式
                            normal:{
                                //邊框線寬,單位px
                                borderWidth: 1,
                                //邊框顏色
                                borderColor: '#696969',
                                color:'#eeeeee',//地圖背景顏色
                                //標籤,餅圖默認顯示在外部,離餅圖距離由labelLine.length決定,地圖標籤不可指定位置
                                label: {show:true}
                            },
                            //鼠標經過時的樣式
                            emphasis: {
                                //邊框線寬,單位px
                                borderWidth:1,
                                //邊框顏色
                                borderColor:'#fff',
                                //鼠標經過時區域的顏色
                                color: '#c65454',
                                //標籤
                                label: {
                                    show: true,
                                    //文本樣式
                                    textStyle: {
                                        //文本字體顏色
                                        color: '#c65454'
                                    }
                                }
                            }
                        },
                        //當圖表類型爲地圖時,需要說明每部分數據對應的省份,可設置選中狀態,如 :{name: '北京',value: 1234,selected: true},
                        data:[
                            {name: '上海',value: Math.round(Math.random()*1000)},
                            {name: '河南',value: Math.round(Math.random()*1000)},
                            {name: '湖南',value: Math.round(Math.random()*1000)},
                            {name: '安徽',value: Math.round(Math.random()*1000)},
                            {name: '江蘇',value: Math.round(Math.random()*1000)},
                            {name: '浙江',value: Math.round(Math.random()*1000)},
                            {name: '江西',value: Math.round(Math.random()*1000)},
                            {name: '湖北',value: Math.round(Math.random()*1000)},
                            {name: '福建',value: Math.round(Math.random()*1000)},
                            {name: '山東',value: Math.round(Math.random()*1000)},
                        ],
                    },
                    {
                        //系列名稱,如果啓用legend,該值將被legend.data索引相關
                        name: '合作伙伴',
                        //圖表類型,必要參數!如爲空或不支持類型,則該系列數據不被顯示
                        type: 'map',
                        //地圖類型,支持world,china及全國34個省市自治區。省市自治區的mapType直接使用簡體中文:如'廣東'
                        mapType: 'china',
                        //是否開啓滾輪縮放和拖拽漫遊,默認爲false(關閉),其他有效輸入爲true(開啓),'scale'(僅開啓滾輪縮放),'move'(僅開啓拖拽漫遊)
                        roam: 'scale',
                        //圖形樣式,可設置圖表內圖形的默認樣式和強調樣式(懸浮時樣式)
                        itemStyle:{
                            //正常時的樣式
                            normal:{
                                //邊框線寬,單位px
                                borderWidth: 2,
                                //邊框顏色
                                borderColor: 'lightgreen',
                                //標籤,餅圖默認顯示在外部,離餅圖距離由labelLine.length決定,地圖標籤不可指定位置
                                label: {show:true}
                            },
                            //鼠標經過時的樣式
                            emphasis: {
                                //邊框線寬,單位px
                                borderWidth:2,
                                //邊框顏色
                                borderColor:'#fff',
                                //鼠標經過時區域的顏色
                                color: '#c65454',
                                //標籤
                                label: {
                                    show: true,
                                    //文本樣式
                                    textStyle: {
                                        //文本字體顏色
                                        color: '#fff'
                                    }
                                }
                            }
                        },
                        data:[
                            {name: '上海',value: Math.round(Math.random()*1000)},
                            {name: '安徽',value: Math.round(Math.random()*1000)},
                            {name: '浙江',value: Math.round(Math.random()*1000)},
                            {name: '江西',value: Math.round(Math.random()*1000)},
                            {name: '福建',value: Math.round(Math.random()*1000)},
                        ]
                    },
                    {
                        //系列名稱,如果啓用legend,該值將被legend.data索引相關
                        name: '公司股東',
                        //圖表類型,必要參數!如爲空或不支持類型,則該系列數據不被顯示
                        type: 'map',
                        //地圖類型,支持world,china及全國34個省市自治區。省市自治區的mapType直接使用簡體中文:如'廣東'
                        mapType: 'china',
                        //是否開啓滾輪縮放和拖拽漫遊,默認爲false(關閉),其他有效輸入爲true(開啓),'scale'(僅開啓滾輪縮放),'move'(僅開啓拖拽漫遊)
                        roam: 'scale',
                        //圖形樣式,可設置圖表內圖形的默認樣式和強調樣式(懸浮時樣式)
                        itemStyle:{
                            //正常時的樣式
                            normal:{
                                //邊框線寬,單位px
                                borderWidth: 2,
                                //邊框顏色
                                borderColor: 'lightgreen',
                                //標籤,餅圖默認顯示在外部,離餅圖距離由labelLine.length決定,地圖標籤不可指定位置
                                label: {show:true}
                            },
                            //鼠標經過時的樣式
                            emphasis: {
                                //邊框線寬,單位px
                                borderWidth:2,
                                //邊框顏色
                                borderColor:'#fff',
                                //鼠標經過時區域的顏色
                                color: '#c65454',
                                //標籤
                                label: {
                                    show: true,
                                    //文本樣式
                                    textStyle: {
                                        //文本字體顏色
                                        color: '#fff'
                                    }
                                }
                            }
                        },
                        data:[
                            {name: '安徽',value: Math.round(Math.random()*1000)},
                            {name: '蘇州',value: Math.round(Math.random()*1000)},
                            {name: '上海',value: Math.round(Math.random()*1000)},
                            {name: '江蘇',value: Math.round(Math.random()*1000)},
                        ]
                    }
                ]
            };
            //爲echarts對象加載數據
            myChart.setOption(option);
        }
    );
</script>
</body>
</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章