今天使用echarts做了一个地图的下钻,上网找了各种资料之后终于完成了!具体代码可以区我的github上观看 https://github.com/yunpengLiang/echarts
下载下来之后不能在本地直接访问,因为使用jquery的$.getJSON获取json,产生了跨域,需要放到项目中使用http开头的访问


$(function () {map();function map() {// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('map'));//存储切换的每一级地图信息var mapStack = [];var timeFn = null;var curMap = {};//初始化地图loadMap('100000', 'china');/**绑定用户切换地图区域事件cityMap对象存储着地图区域名称和区域的信息(name-code)当mapCode有值,说明可以切换到下级地图同时保存上级地图的编号和名称  */myChart.on('click', function(params) {clearTimeout(timeFn);//由于单击事件和双击事件冲突,故单击的响应事件延迟250毫秒执行timeFn = setTimeout(function(){var name = params.name;var mapCode = cityMap[name];if (!mapCode) {alert('无此区域地图显示');return;}loadMap(mapCode, name);    //将上一级地图信息压入mapStackmapStack.push({mapCode: curMap.mapCode,mapName: curMap.mapName});   }, 250);   });/**绑定双击事件,并加载上一级地图*/myChart.on('dblclick', function(params) {//当双击事件发生时,清除单击事件,仅响应双击事件clearTimeout(timeFn);var map = mapStack.pop();if (!mapStack.length && !map) {alert('已经到达最上一级地图了');return;}loadMap(map.mapCode, map.mapName);});var dataValue = [{name: '海门', value: 9},{name: '鄂尔多斯', value: 12},{name: '招远', value: 12},{name: '舟山', value: 12},{name: '齐齐哈尔', value: 14},{name: '盐城', value: 15},{name: '赤峰', value: 16},{name: '青岛', value: 18},{name: '乳山', value: 18},{name: '金昌', value: 19},{name: '泉州', value: 21},{name: '莱西', value: 21},{name: '日照', value: 21},{name: '胶南', value: 22},{name: '南通', value: 23},{name: '拉萨', value: 24},{name: '云浮', value: 24},{name: '梅州', value: 25},{name: '文登', value: 25},{name: '上海', value: 25},{name: '大庆', value: 279}];var geoCoordMap = {'海门':[121.15,31.89],'鄂尔多斯':[109.781327,39.608266],'招远':[120.38,37.35],'舟山':[122.207216,29.985295],'齐齐哈尔':[123.97,47.33],'盐城':[120.13,33.38],'赤峰':[118.87,42.28],'青岛':[120.33,36.07],'乳山':[121.52,36.89],'金昌':[102.188043,38.520089],'泉州':[118.58,24.93],'莱西':[120.53,36.86],'日照':[119.46,35.42],'胶南':[119.97,35.88],'南通':[121.05,32.08],'拉萨':[91.11,29.97],'云浮':[112.02,22.93],'梅州':[116.1,24.55],'文登':[122.05,37.2],'上海':[121.48,31.22],'攀枝花':[101.718637,26.582347],'威海':[122.1,37.5],'承德':[117.93,40.97],'厦门':[118.1,24.46],'汕尾':[115.375279,22.786211],'潮州':[116.63,23.68],'丹东':[124.37,40.13],'太仓':[121.1,31.45],'曲靖':[103.79,25.51],'烟台':[121.39,37.52],'福州':[119.3,26.08],'瓦房店':[121.979603,39.627114],'即墨':[120.45,36.38],'抚顺':[123.97,41.97],'玉溪':[102.52,24.35],'张家口':[114.87,40.82],'阳泉':[113.57,37.85],'莱州':[119.942327,37.177017],'湖州':[120.1,30.86],'汕头':[116.69,23.39],'昆山':[120.95,31.39],'宁波':[121.56,29.86],'湛江':[110.359377,21.270708],'揭阳':[116.35,23.55],'荣成':[122.41,37.16],'连云港':[119.16,34.59],'葫芦岛':[120.836932,40.711052],'常熟':[120.74,31.64],'东莞':[113.75,23.04],'河源':[114.68,23.73],'淮安':[119.15,33.5],'泰州':[119.9,32.49],'南宁':[108.33,22.84],'营口':[122.18,40.65],'惠州':[114.4,23.09],'江阴':[120.26,31.91],'蓬莱':[120.75,37.8],'韶关':[113.62,24.84],'嘉峪关':[98.289152,39.77313],'广州':[113.23,23.16],'延安':[109.47,36.6],'太原':[112.53,37.87],'清远':[113.01,23.7],'中山':[113.38,22.52],'昆明':[102.73,25.04],'寿光':[118.73,36.86],'盘锦':[122.070714,41.119997],'长治':[113.08,36.18],'深圳':[114.07,22.62],'珠海':[113.52,22.3],'宿迁':[118.3,33.96],'咸阳':[108.72,34.36],'铜川':[109.11,35.09],'平度':[119.97,36.77],'佛山':[113.11,23.05],'海口':[110.35,20.02],'江门':[113.06,22.61],'章丘':[117.53,36.72],'肇庆':[112.44,23.05],'大连':[121.62,38.92],'临汾':[111.5,36.08],'吴江':[120.63,31.16],'石嘴山':[106.39,39.04],'沈阳':[123.38,41.8],'苏州':[120.62,31.32],'茂名':[110.88,21.68],'嘉兴':[120.76,30.77],'长春':[125.35,43.88],'胶州':[120.03336,36.264622],'银川':[106.27,38.47],'张家港':[120.555821,31.875428],'三门峡':[111.19,34.76],'锦州':[121.15,41.13],'南昌':[115.89,28.68],'柳州':[109.4,24.33],'三亚':[109.511909,18.252847],'自贡':[104.778442,29.33903],'吉林':[126.57,43.87],'阳江':[111.95,21.85],'泸州':[105.39,28.91],'西宁':[101.74,36.56],'宜宾':[104.56,29.77],'呼和浩特':[111.65,40.82],'成都':[104.06,30.67],'大同':[113.3,40.12],'镇江':[119.44,32.2],'桂林':[110.28,25.29],'张家界':[110.479191,29.117096],'宜兴':[119.82,31.36],'北海':[109.12,21.49],'西安':[108.95,34.27],'金坛':[119.56,31.74],'东营':[118.49,37.46],'牡丹江':[129.58,44.6],'遵义':[106.9,27.7],'绍兴':[120.58,30.01],'扬州':[119.42,32.39],'常州':[119.95,31.79],'潍坊':[119.1,36.62],'重庆':[106.54,29.59],'台州':[121.420757,28.656386],'南京':[118.78,32.04],'滨州':[118.03,37.36],'贵阳':[106.71,26.57],'无锡':[120.29,31.59],'本溪':[123.73,41.3],'克拉玛依':[84.77,45.59],'渭南':[109.5,34.52],'马鞍山':[118.48,31.56],'宝鸡':[107.15,34.38],'焦作':[113.21,35.24],'句容':[119.16,31.95],'北京':[116.46,39.92],'徐州':[117.2,34.26],'衡水':[115.72,37.72],'包头':[110,40.58],'绵阳':[104.73,31.48],'乌鲁木齐':[87.68,43.77],'枣庄':[117.57,34.86],'杭州':[120.19,30.26],'淄博':[118.05,36.78],'鞍山':[122.85,41.12],'溧阳':[119.48,31.43],'库尔勒':[86.06,41.68],'安阳':[114.35,36.1],'开封':[114.35,34.79],'济南':[117,36.65],'德阳':[104.37,31.13],'温州':[120.65,28.01],'九江':[115.97,29.71],'邯郸':[114.47,36.6],'临安':[119.72,30.23],'兰州':[103.73,36.03],'沧州':[116.83,38.33],'临沂':[118.35,35.05],'南充':[106.110698,30.837793],'天津':[117.2,39.13],'富阳':[119.95,30.07],'泰安':[117.13,36.18],'诸暨':[120.23,29.71],'郑州':[113.65,34.76],'哈尔滨':[126.63,45.75],'聊城':[115.97,36.45],'芜湖':[118.38,31.33],'唐山':[118.02,39.63],'平顶山':[113.29,33.75],'邢台':[114.48,37.05],'德州':[116.29,37.45],'济宁':[116.59,35.38],'荆州':[112.239741,30.335165],'宜昌':[111.3,30.7],'义乌':[120.06,29.32],'丽水':[119.92,28.45],'洛阳':[112.44,34.7],'秦皇岛':[119.57,39.95],'株洲':[113.16,27.83],'石家庄':[114.48,38.03],'莱芜':[117.67,36.19],'常德':[111.69,29.05],'保定':[115.48,38.85],'湘潭':[112.91,27.87],'金华':[119.64,29.12],'岳阳':[113.09,29.37],'长沙':[113,28.21],'衢州':[118.88,28.97],'廊坊':[116.7,39.53],'菏泽':[115.480656,35.23375],'合肥':[117.27,31.86],'武汉':[114.31,30.52],'大庆':[125.03,46.58]};var convertData = function (data) {var res = [];for (var i = 0; i < data.length; i++) {var geoCoord = geoCoordMap[data[i].name];if (geoCoord) {res.push({name: data[i].name,value: geoCoord.concat(data[i].value)});}}return res;};function loadMap(mapCode, mapName) {$.getJSON('china-main-city/' + mapCode + '.json', function (data) {if (data) {//定义一个dataMapValue存储指定位置的数据var dataMapValue = [];if(mapCode!=100000){var nameList = [];for(var i=0;i<data.features.length;i++){nameList.push(data.features[i].properties.name);}for(var j=0;j<nameList.length;j++){for(var i=0;i<dataValue.length;i++){if(!nameList[j].indexOf(dataValue[i].name)){dataMapValue.push({name: dataValue[i].name, value: dataValue[i].value});break;}}}}else{dataMapValue = dataValue;}echarts.registerMap(mapName, data);var option = {tooltip : {trigger: 'item'},geo: {map: mapName,label: {emphasis: {show: false}},
//                          roam: true,itemStyle: {normal: {areaColor: '#3eabff',borderColor: '#fff'},emphasis: {areaColor: '#006be4'}}},series: [{name: '',type: 'scatter',coordinateSystem: 'geo',data: convertData(dataMapValue),
//                              symbolSize: function (val) {
//                                  return val[2] / 10;
//                              },label: {normal: {formatter: '{b}',position: 'right',show: false},emphasis: {show: true}},itemStyle: {normal: {color: '#fff'}}}]};myChart.setOption(option);window.addEventListener("resize",function(){myChart.resize();});curMap = {mapCode: mapCode,mapName: mapName};} else {alert('无法加载该地图');}      });}}
})

echarts地图实现地区下钻相关推荐

  1. 【echarts地图制作】下钻到乡镇/街道级别的

    需求 展示西安市各区县的地图,点击各区县下钻到各乡镇/街道,只能内网环境使用,不可用通过百度/高德地图来实现. 解决 利用地图数据生成区域的geojson 网络上大部分地图数据只是到省市,最多到区县, ...

  2. vue+echarts 地图携带参数下钻【demo二】

    相关必要文件已上传个人GIT代码库,自行下载 https://gitee.com/lemon-design/EchartsMapDeepDown.git 下钻数据为假数据 中国–>辽宁–> ...

  3. vue+echarts 地图携带参数下钻【demo一】

    相关必要文件已上传个人GIT代码库,自行下载 https://gitee.com/lemon-design/EchartsMap.git 个人鼓捣了快一周了 本文地图下钻部分通过watch监控返回数据 ...

  4. Vue使用echarts地图进阶2(实现多级下钻功能)

    echarts地图实现多级下钻功能 点击下钻效果图: 先来小看一下,多级下钻和单次下钻跳转json文件的区别: 1.如果要实现多级下钻并且展示子区域的话,下钻点击事件请求的JSON必须是该点击区域的全 ...

  5. echarts地图学习(使用geoJson数据绘制地图)

    参考文档 使用echarts完成中国省市区县镇地图展示 echarts地图(中国地图展示各省数据) echarts实现中国地图区域分布图 vue + echarts 利用echarts中的map地图中 ...

  6. echarts 地图下钻 功能

    vue 实现 echarts 地图下钻 安装 效果图 echarts 安装 npm install echarts // 引入echarts 中国地图 import echarts from 'ech ...

  7. echarts地图下钻(vue)

    效果 <template><div><h3>地图下钻</h3><button class="button" @click=&q ...

  8. VUE 下钻到街道的echarts地图——geoJson

    下钻到街道的echarts地图 在echarts中有自带的geojson文件但是只有到县级,县级以下的街道是没有的 此时我们需要利用其他工具自己来写一个geojson 下载一个地图软件(这里以水经微图 ...

  9. vue echarts地图省市区下钻

    一 项目做了一个省市区下钻 全国 放不出来图 市 县区 二 直接上代码 这就是上面丑丑的省市区,代码没优化,撸出来什么样就是什么样, 看着这几个if  感觉自己好low, 但是比较直观哈哈哈 low就 ...

最新文章

  1. Mac制作Ubuntu USB启动盘
  2. 什么是数据结构,为什么我们需要数据结构?
  3. SharePoint 升级 Web Site 模式
  4. 汇编语言(三十三)之四进制转十进制
  5. c++动态绑定的技术实现
  6. 3.请求安全-- 结合使用的安全优势总结
  7. 3月第一周中国五大顶级域名增6万 美国增1.8万
  8. android----AsyncHttpClient的get,post和图片上传
  9. MySQL 8.0窗口函数介绍(一)
  10. 安全防御——防病毒网关
  11. 正则化方法拟合曲线c语言,过拟合(Overfitting)和正则化(Regularized)
  12. java exception message_Java 如何摆脱Exception.getMessage()输出带类名
  13. 计算机软件服务票可以抵扣吗,航天的软件技术维护费是否可以全额抵扣?
  14. sheetJS+input——实现vue导入excel文件,并判断文件内容是否正确——基础积累
  15. 【调剂】211北京科技大学钢铁共性技术协同创新中心2020年硕士研究生招生拟接收调剂公告...
  16. 第十三周总结——认清自己
  17. scrapy 保存到mysql_Scrapy保存数据到mysql
  18. PHP类实例教程(四):PHP5类中的方法
  19. 视频网站-添加动漫专用手机播放器-提示处理
  20. 查日志定位问题常用命令

热门文章

  1. day14_雷神_前端02
  2. 图像处理(灰度化的三种方式)
  3. android消息推送标准,标准统一 安卓告别垃圾消息推送
  4. 在百度地图上开启 测距的功能
  5. NTT DATA创建东盟地区历史文化遗产的数字档案并向公众开放
  6. 2022年(2023届)计算机保研经历
  7. B2B、B2C和O2O商城开发
  8. 老图搬砖day04.2——JavaScript基础
  9. Webix UI JavaScript 10.0.6 Crack
  10. 最大数字字符串(leetCode179)