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>

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