中国地图点击下钻到省份(含html源码,可直接运行,令含各省份json,全国json)

Posted Smartisan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中国地图点击下钻到省份(含html源码,可直接运行,令含各省份json,全国json)相关的知识,希望对你有一定的参考价值。

话不多说直接上源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="ECharts">
    <meta name="author" content="kener.linfeng@gmail.com">
    <title>ECharts · Example</title>
    
<script src="../js/echarts.js"></script>
<script src="../js/jquery-3.1.1.min.js"></script>
</head>

<body>
    <div id="chart" class="chart" style="height: 530px;"></div>
    
    <script type="text/javascript">
        // 基于准备好的dom,初始化echarts图表
        var myChart = echarts.init(document.getElementById(\'chart\')); 
        
      //各省份的地图json文件
        var provinces = {
            \'上海\': \'json/data-1482909900836-H1BC_1WHg.json\',
            \'河北\': \'json/data-1482909799572-Hkgu_yWSg.json\',
            \'山西\': \'json/data-1482909909703-SyCA_JbSg.json\',
            \'内蒙古\': \'json/data-1482909841923-rkqqdyZSe.json\',
            \'辽宁\': \'json/data-1482909836074-rJV9O1-Hg.json\',
            \'吉林\': \'json/data-1482909832739-rJ-cdy-Hx.json\',
            \'黑龙江\': \'json/data-1482909803892-Hy4__J-Sx.json\',
            \'江苏\': \'json/data-1482909823260-HkDtOJZBx.json\',
            \'浙江\': \'json/data-1482909960637-rkZMYkZBx.json\',
            \'安徽\': \'json/data-1482909768458-HJlU_yWBe.json\',
            \'福建\': \'json/data-1478782908884-B1H6yezWe.json\',
            \'江西\': \'json/data-1482909827542-r12YOJWHe.json\',
            \'山东\': \'json/data-1482909892121-BJ3auk-Se.json\',
            \'河南\': \'json/data-1482909807135-SJPudkWre.json\',
            \'湖北\': \'json/data-1482909813213-Hy6u_kbrl.json\',
            \'湖南\': \'json/data-1482909818685-H17FOkZSl.json\',
            \'广东\': \'json/data-1482909784051-BJgwuy-Sl.json\',
            \'广西\': \'json/data-1482909787648-SyEPuJbSg.json\',
            \'海南\': \'json/data-1482909796480-H12P_J-Bg.json\',
            \'四川\': \'json/data-1482909931094-H17eKk-rg.json\',
            \'贵州\': \'json/data-1482909791334-Bkwvd1bBe.json\',
            \'云南\': \'json/data-1482909957601-HkA-FyWSx.json\',
            \'西藏\': \'json/data-1482927407942-SkOV6Qbrl.json\',
            \'陕西\': \'json/data-1482909918961-BJw1FyZHg.json\',
            \'甘肃\': \'json/data-1482909780863-r1aIdyWHl.json\',
            \'青海\': \'json/data-1482909853618-B1IiOyZSl.json\',
            \'宁夏\': \'json/data-1482909848690-HJWiuy-Bg.json\',
            \'新疆\': \'json/data-1482909952731-B1YZKkbBx.json\',
            \'北京\': \'json/data-1482818963027-Hko9SKJrg.json\',
            \'天津\': \'json/data-1482909944620-r1-WKyWHg.json\',
            \'重庆\': \'json/data-1482909775470-HJDIdk-Se.json\',
            \'香港\': \'json/data-1461584707906-r1hSmtsx.json\',
            \'澳门\': \'json/data-1482909771696-ByVIdJWBx.json\'
        };

        //各省份的数据
        var allData = [{
            name: \'北京\'
        }, {
            name: \'天津\'
        }, {
            name: \'上海\'
        }, {
            name: \'重庆\'
        }, {
            name: \'河北\'
        }, {
            name: \'河南\'
        }, {
            name: \'云南\'
        }, {
            name: \'辽宁\'
        }, {
            name: \'黑龙江\'
        }, {
            name: \'湖南\'
        }, {
            name: \'安徽\'
        }, {
            name: \'山东\'
        }, {
            name: \'新疆\'
        }, {
            name: \'江苏\'
        }, {
            name: \'浙江\'
        }, {
            name: \'江西\'
        }, {
            name: \'湖北\'
        }, {
            name: \'广西\'
        }, {
            name: \'甘肃\'
        }, {
            name: \'山西\'
        }, {
            name: \'内蒙古\'
        }, {
            name: \'陕西\'
        }, {
            name: \'吉林\'
        }, {
            name: \'福建\'
        }, {
            name: \'贵州\'
        }, {
            name: \'广东\'
        }, {
            name: \'青海\'
        }, {
            name: \'西藏\'
        }, {
            name: \'四川\'
        }, {
            name: \'宁夏\'
        }, {
            name: \'海南\'
        }, {
            name: \'台湾\'
        }, {
            name: \'香港\'
        }, {
            name: \'澳门\'
        }];
        for (var i = 0; i < allData.length; i++) {
            allData[i].value = Math.round(Math.random() * 100);
        }


        loadMap(\'json/data-1527045631990-r1dZ0IM1X.json\', \'china\');//初始化全国地图

        var timeFn = null;

        //单击切换到省级地图,当mapCode有值,说明可以切换到下级地图
        myChart.on(\'click\', function(params) {
            clearTimeout(timeFn);
            //由于单击事件和双击事件冲突,故单击的响应事件延迟250毫秒执行
            timeFn = setTimeout(function() {
                var name = params.name; //地区name
                var mapCode = provinces[name]; //地区的json数据
                if (!mapCode) {
                    alert(\'无此区域地图显示\');
                    return;
                }

                loadMap(mapCode, name);
                
            }, 250);
        });


        // 绑定双击事件,返回全国地图
        myChart.on(\'dblclick\', function(params) {
            //当双击事件发生时,清除单击事件,仅响应双击事件
            clearTimeout(timeFn);
            
            //返回全国地图
            loadMap(\'json/data-1527045631990-r1dZ0IM1X.json\', \'china\');
        });

        /**
         获取对应的json地图数据,然后向echarts注册该区域的地图,最后加载地图信息
         @params {String} mapCode:json数据的地址
         @params {String} name: 地图名称
         */
        function loadMap(mapCode, name) {
            $.get(mapCode, function(data) {
                if (data) {
                    echarts.registerMap(name, data);
                    var option = {
                            title: {
                                text: \'地图下钻\',
                                subtext: \'双击返回中国地图\',
                                left: \'center\'
                            },
                            toolbox: {
                                feature: {
                                    dataView: {show: true, readOnly: false},
                                    magicType: {show: true, type: [\'line\', \'map\']},
                                    restore: {show: true},
                                    saveAsImage: {show: true}
                                }
                            },
                        tooltip: {
                            show: true,
                            formatter: function(params) {
                                if (params.data) return params.name + \'\' + params.data[\'value\']
                            },
                        },
                        visualMap: {
                            type: \'continuous\',
                            text: [\'\', \'\'],
                            showLabel: true,
                            left: \'50\',
                            min: 0,
                            max: 100,
                            inRange: {
                                color: [\'#edfbfb\', \'#b7d6f3\', \'#40a9ed\', \'#3598c1\', \'#215096\', ]
                            },
                            splitNumber: 0vue+ECharts4.x地图下钻/散点分布以及热力图

全国疫情统计可视化地图

Echarts地图散点+下钻怎么实现?

Vue进阶(幺玖肆):VantUI 实现 Dialog 弹框动态显示 message

使用 SVG、HTML/CSS、ImageMap 创建带有可点击省份/州的地图

JS监听浏览器后退事件