Echarts世界地图中国分区显示

需求:在报表显示世界地图,国外显示到国家,国内显示到省份。


  分析:由于之前系统中所有的报表都是用Echarts做的,所以决定世界地图也用Echarts来做,查了一下Echarts网方网站,貌似和地图有关的Demo都已关闭(API尚在);查了一些资料,发现Echarts支持的地图大都只显示到国家,如下图。很明显不符合我们的需求,对于我这个半屌子前端,着实费了好大精力,好在查到了Echarts是可以支持自定义,这里记录一下,供有需求同学参考。
  
w-m-0.png


1、简述地图坐标加载的两种方式


  第一种:通过动态从后台加载,这里可以参考Echarts API文档,这里后台的数据要以JSON格式返回

$.get('map/json/china.json', function (chinaJson) {
    echarts.registerMap('china', chinaJson);
    var chart = echarts.init(document.getElementById('main'));
    chart.setOption({
        series: [{
            type: 'map',
            map: 'china'
        }]
    });
});
//https://echarts.baidu.com/option.html#geo.map

  第二种:比较简单,就是直接在页面上引入js文件,这里改造前用的是world.js,改造后用的是world_new.js文件。

<script type="text/javascript" src="js/echarts.min.js"></script>
<script type="text/javascript" src="js/world.js"></script>
//<script type="text/javascript" src="js/world_new.js"></script>

  这里采用引入JS的方式作示例说明,后面我会把两个JS都附上。


2、改造world.js


  大家可以自行下载world.js文件打开看一下源码,这里只拿出一行核心代码说明,registerMap里面的world.json就是我们要自定义的json(原world.js中world.json参数位置坐标是不包含中国省份的),这里我们要做的就是把中国省份地理坐标加入,因为registerMap支持的是标准的geo坐标系(不了解的可自行搜索),关于中国省份的坐标,大家可以从网上自行下载china.js,很容易找到,记得要稍微转换一下格式。

&emsp;&emsp;echarts.registerMap('world', world.json);
&emsp;&emsp;改造后
&emsp;&emsp;echarts.registerMap('world', world_new.json);

改造后的效果如下:
w-m-1.png


3、打包下载


链接:https://pan.baidu.com/s/1xazTcjHyGOKQsi-jyRe6eA 
提取码:kapq 

  若链接莫名失效,可以留言联系,也可以按照上述的方式自行改造一下,包中有一份世界地图中的中国坐标供参考。

持续更新中,可以关注…
javaview.jpg

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值