echarts实现地图效果

通过echarts.min.js和china.js实现中国地图效果。

html代码如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>省份客户量实时监控</title>
    <link href="/js/map/index.css" rel="stylesheet" />
    <script src="/js/jquery/jquery-1.8.2.js" type="text/javascript"></script>
    <script src="/js/map/echarts.min.js"></script>
    <script src="/js/map/china.js"></script>
    <script src="/js/map/center2.js?v=20250208"></script>
</head>
<body>
    <div id="title">全国客户分布分析</div>
    <div id="center2"></div>
</body>
</html>

index.css代码如下:

body {
    background: #333;
}

#title {
    position: absolute;
    z-index: 1;
    top: 40px;
    left: 0;
    width: 100%;
    height: 10%;
    letter-spacing: 2px;
    /* background: #555; */
    /* color: white; */
    color: yellow;
    /* font-size: 35px; */
    font-size: 18px;
    font-weight: bold;
    /* 弹性盒子布局 */
    display: flex;
    /* 水平剧中*/
    justify-content: center;
    /* 垂直居中*/
    align-items: center;
}

#center2 {
    position: absolute;
    width: 79%;
    height: 100%;
    top: 3%;
    left: 10%;
    background: #888;
}

center2.js代码如下:

// 初始化echart实例对象
var myChart = echarts.init(document.getElementById('center2'), 'dark');

// 指定图表的配置项和数据
var option = {
    /*backgroundColor: '#fff', // 设置整个地图容器的背景色*/
    grid: {
        left: '10%',   // 距离容器左侧的距离
        right: '10%',  // 距离容器右侧的距离
        top: '10%',    // 距离容器顶部的距离
        bottom: '10%'  // 距离容器底部的距离
    },
    title: {
        text: '',
        textStyle: {
            color: 'gold',
            fontStyle: 'normal',

        },
        left: 'center',
        top: '0px'

    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: { // 左侧小导航图标
        show: true,
        x: 'left',
        y: 'bottom',
        top: '75%',
        left: '22%',
        textStyle: {
            fontSize: 8,
        },
        //calculable: true,
        //inRange: {
        //    color: [ '#F9DCD1', '#F2AD92', '#E55B25', '#C64918','#8A3310']
        //},
        splitList: [{
                start: 1,
                end: 9
            },
            {
                start: 10,
                end: 99
            },
            {
                start: 100,
                end: 999
            },
            {
                start: 1000,
                end: 9999
            },
            {
                start: 10000
            }
        ],
        color: ['#8A3310', '#C64918', '#E55B25', '#F2AD92', '#F9DCD1']
    },
    series: [{
        name: '客户量',
        type: 'map',
        mapType: 'china',
        roam: false, // 禁用拖动和缩放
        itemStyle: { // 图形样式
            normal: {
                borderWidth: .5, //区域边框宽度
                borderColor: '#009fe8', //区域边框颜色
                areaColor: "#ffefd5", //区域颜色
            },
            emphasis: { // 鼠标滑过地图高亮的相关设置
                borderWidth: .5,
                borderColor: '#4b0082',
                areaColor: "#fff",
            }
        },
        label: { // 图形上的文本标签
            normal: {
                show: true, //省份名称
                fontSize: 10,
            },
            emphasis: {
                show: true,
                fontSize: 10,
            }
        },
        data: [] /*{'name': '上海','value': 318}, {'name': '云南','value': 162}*/
    }]
};

$(document).ready(function () {
    // 初始化数据
    bindData();

    // 获取省份数据并绑定-地图
    function bindData() {
        $.ajax({
            type: "POST", //用POST方式传输
            dataType: "json", //数据格式:html
            url: '/tools/admin_ajax.ashx?action=GetProvinceCustomersNum', //目标地址
            data: {},
            async: false,
            success: function (data) {
                if (data != null) {
                    $.each(data, function (i, val) {
                        var province = val.Name.replace('省', '').replace('壮族自治区', '').replace('回族自治区', '').replace('维吾尔自治区', '').replace('自治区', '');
                        option.series[0].data.push({
                            'name': province,
                            'value': val.CusNum
                        })
                    });
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                return false;
            }
        });

        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
    }


});

效果如下:

注:echarts.min.js和china.js可从网上搜索下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值