中国地图点击下钻到省份(含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="[email protected]">
    <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: 0
                        },
                        series: [{
                            name: ‘MAP‘,
                            type: ‘map‘,
                            mapType: name,
                            selectedMode: ‘false‘,//是否允许选中多个区域
                            label: {
                                normal: {
                                    show: true
                                },
                                emphasis: {
                                    show: true
                                }
                            },
                            data: allData
                        }]
                    };
                    myChart.setOption(option);
                    // curMap = {
                    //     mapCode: mapCode,
                    //     mapName: name
                    // };
                } else {
                    alert(‘无法加载该地图‘);
                }
            });
        }
</script>
</body>
</html>

效果图:

下载地址:

https://github.com/Smartisa/ChinaMap

原文地址:https://www.cnblogs.com/smartisn/p/12336134.html

时间: 2024-10-10 12:19:22

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

【百度地图API】多家地图API内存消耗对比测验(带源码)

原文:[百度地图API]多家地图API内存消耗对比测验(带源码) 任务描述: 啊,美妙的春节结束了.酸奶小妹和妈妈的山西平遥之旅也宣告成功!距离平遥古城7km,有一个同样身为“世界文化遗产”的寺庙,叫做“双林寺”.双林寺的精致.纯木质结构.保存完好等特点,让我不由得为之一振.这让我想到了,万事万物都需要对比,“取其精华,去其糟粕”. 双林寺如是,API也如是.这不,上班第一天,我就迫不及待地做起了API性能测试. 如何实现: 使用不同家的API,分别以随机新增覆盖物为测试用例,观察内存消耗变化.

【从零之六&amp;完结】android口语对话系统(含全部源码)

做了一个半月终于完成了,下面这个就是我参考Olympus/RavenClaw系统编写的对话管理系统,目前实现了一个简单的航班查询,部分截图 目前能实现的功能: 1.航班查询,具体的航班信息是我自己编的,下一步可以写个爬虫把真实的数据爬下来.编的数据放到了res/raw/flightinfo.txt中.航班查询就设定了三个要素,时间,起始地和目的地,想更全面的话可以增加任务树的agent即可. 2.在MainActivity中可以语音打开已安装的应用程序,这在前一篇博文也介绍过了. 3.别的功能就

快餐刷卡消费之触摸屏实现(含关键源码)

本项目为连锁店餐饮系统.前台C#,服务器采用Java开发,oracle数据库:通过webservice实现前后台的交互,后台以提供服务的方式,供前端调用并进行数据库操作. 商家根据餐饮副食店实际情况提出了新的需求,希望能够通过在店内放置触摸屏的方式,使会员顾客能够以触摸屏的方式选择商品并放入自己的购物车,之后售货员只需要读取卡内的购物车信息即可刷卡消费,这样大大节约了顾客挑选商品的时间,使整个购物流程并行化程度提高.由于顾客消费的时间大多集中在早中晚,并行化会使店内的销售量显著提高. 经过一周的

Android自定义控件:Android L控件点击水波纹的实现(源码 + Demo)

实现思路来自singwhatiwanna http://blog.csdn.net/singwhatiwanna/article/details/42614953 Demo: 一.控件的流程: 大致上如下,实际是有些偏差的大家可以自己画画 RevealLayout()--->init()--->onMeasure()--->onLayout()--->onDraw()--->dispatchTouchEvent()--->getTargetView()--->is

Tyrion中文文档(含示例源码)

Tyrion是一个基于Python实现的支持多个WEB框架的Form表单验证组件,其完美的支持Tornado.Django.Flask.Bottle Web框架.Tyrion主要有两大重要动能: 表单验证 生成HTML标签 保留上次提交内容 对于表单验证,告别书写重复的正则表达式对用户提交的数据进行验证的工作,从此解放双手,跟着我左手右手一个慢动作... 对于生成HTML标签,不在人工书写html标签,让Tyrion帮你自动创建... 对于保留上次提交内容,由于默认表单提交后页面刷新,原来输入的

Tyrion 中文文档(含示例源码)

原文出处: Mr.Seven Tyrion是一个基于Python实现的支持多个WEB框架的Form表单验证组件,其完美的支持Tornado.Django.Flask.Bottle Web框架.Tyrion主要有两大重要动能: 表单验证 生成HTML标签 保留上次提交内容 对于表单验证,告别书写重复的正则表达式对用户提交的数据进行验证的工作,从此解放双手,跟着我左手右手一个慢动作- 对于生成HTML标签,不在人工书写html标签,让Tyrion帮你自动创建- 对于保留上次提交内容,由于默认表单提交

网狐荣耀源码(含内核源码)可二次开发

GHO2VMDK转换工具分享含VS2010源码

平常经常用到虚拟机,每次从gho转换为vmdk时都要输入cmd代码,觉得麻烦,自己动手做了个gho2vmdk转换工具,集成ghost32.exe文件,可以一键转换,省时省事.运行时会将ghost32.exe保存到Program FIles文件夹里,运行完自动删除ghost32.exe.觉得还不错,在此分享一下,有什么好的建议,欢迎反馈.代码贴上.需要完整工程的请留言邮箱.开发工具为VS2010,没用任何第三方插件.觉得有帮助举手点个推荐. 程序下载地址:链接:http://pan.baidu.c

post sharp 与log4net 结合使用,含执行源码 转拷

环境: VS 2012 PostSharp-4.1.28 (下载地址)https://visualstudiogallery.msdn.microsoft.com/a058d5d3-e654-43f8-a308-c3bdfdd0be4a/file/89212/69/PostSharp-4.1.28.exe log4net 2.0.3 首先搭建环境: 下载好PostSharp 之后进行安装.之后创建项目 1.引用PoastSharp PoastSharp引用方式如下: VS工具 —>> NuGe