echarts 根据geojson 数据绘制区域图(精确到镇)
步骤:1)先获取区域(县、镇)json数据 ;2)使用echarts 绘制地图;
先上一波效果图(昆明市东川区)

一、获取区域json数据
1、下载工具“水经微图”,
2、下载东川区,以及东川区各个镇的kml文件

选择影像——50M以下

注意:要下载,东川区,东川区下的每个镇;
3、打开网站( http://geojson.io ),合成地图生成json数据

点击open——file 打开从水径微图下载的文件,选择后缀名为.kml 的文件,从区到镇依次添加,不可以先添加镇

最终合成

然后点击save——geojson 下载文件
4、将json数据复制到目录下并将文件后缀名改为.json
5、要给json数据里面的每一块区域设置名字,

二、使用echarts 将地图绘制出来
html代码:
<div id="allmap" style="width:100%;height:600px"> //必须设置宽高 </div>
js 代码:
var chartDom = document.getElementById('allmap');
var myChart = echarts.init(chartDom);
var option;
/* myChart.showLoading(); */
var myChart = echarts.init(document.getElementById('allmap'));
$.get('../geojson/map.json', function(geoJson) {
echarts.registerMap('map', geoJson, {});
var option = {
tooltip: {
trigger: 'item',
/* formatter: '{b}<br/>{c} (p / km2)' */
formatter: function(params) { //用于显示多个数据
var res = params.name + '<br/>';
var myseries = option.series;
for (var i = 0; i < myseries.length; i++) {
for (var j = 0; j < myseries[i].data.length; j++) {
if (myseries[i].data[j].name == params.name) {
res += myseries[i].name + ' : ' + myseries[i].data[j].value + '</br>';
}
}
}
return res;
}
},
visualMap: {
min: 500,
max: 50000,
text: ['High', 'Low'],
left: 'right',
realtime: false,
calculable: true,
show:false,
inRange: {
color: ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', "#718cef", "#947aad"]
}
},
series: [{
name: '碳排放',
type: 'map',
mapType: 'map',
aspectScale: 0.85, //地图长度比
label: {
normal: {
show: true,
textStyle: {
color: '#000'
}
},
emphasis: {
show: true,
textStyle: {
color: '#333'
}
}
},
data: [{
name: '阿旺镇',
value: 17000
},
/* {name: '阿旺镇', value: 19000}, */
{
name: '红土地镇',
value: 1000
},
{
name: '舍块乡',
value: 5000
},
{
name: '汤丹镇',
value: 20000
},
{
name: '铜都街道',
value: 25000
},
{
name: '拖布卡镇',
value: 30000
},
{
name: '乌龙镇',
value: 18000
},
{
name: '因民镇',
value: 2300
},
]
}
]
};
myChart.setOption(option);
});
——————end————————
echarts 根据geojson 数据绘制区域图(精确到镇)的更多相关文章
- Excel应该这么玩——7、我是预言家:绘制趋势图
让我们先看一个场景:你是公司销售部的员工,你手里有公司最近几年的销售额相关的数据,经理希望你预测下个月的销售额.盯着一堆数据,你或许会想到画一张XY坐标图,然后将每个月份的销售额标定为一个坐标.但是下 ...
- 利用JFreeChart生成区域图 (5) (转自 JSP开发技术大全)
利用JFreeChart生成区域图 (5) (转自 JSP开发技术大全) 14.5 利用JFreeChart生成区域图 通过JFreeChart插件只能生成普通效果的区域图,利用工厂类ChartFac ...
- R绘图 第六篇:绘制线图(ggplot2)
线图是由折线构成的图形,线图是把散点从左向右用直线连接起来而构成的图形,在以时间序列为x轴的线图中,可以看到数据增长的趋势. geom_line(mapping = NULL, data = NULL ...
- echarts地图边界数据的实时获取与应用,省市区县多级联动【附最新geoJson文件下载】
首先,来看下效果图 在线体验地址:https://hxkj.vip/demo/echartsMap/,并提供实时geoJson数据文件下载 echarts官方社区链接地址(可在线编辑):https:/ ...
- python3 读取txt文件数据,绘制趋势图,matplotlib模块
python3 读取txt文件数据,绘制趋势图 test1.txt内容如下: 时间/min cpu使用率/% 内存使用率/% 01/12-17:06 0.01 7.61 01/12-17:07 0.0 ...
- 【带着canvas去流浪(7)】绘制水球图
目录 一. 任务说明 二. 重点提示 三. 示例代码 四. 文字淹水效果的实现 五. 关于canvas抗锯齿 六. 小结 示例代码托管在:http://www.github.com/dashnowor ...
- 【带着canvas去流浪(6)】绘制雷达图
目录 一. 任务说明 二. 重点提示 三. 示例代码 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文 ...
- 带着canvas去流浪系列之七 绘制水球图
[摘要] 用原生canvasAPI实现百度echarts 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制 ...
- 带着canvas去流浪系列之六 绘制雷达图
[摘要] 用canvas原生API实现百度Echarts基本图表. 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvas ...
随机推荐
- Docker Swarm(六)Label 节点标签与服务约束
前言 多节点 Swarm 集群下,可能节点的配置不同(比如 CPU.内存等),部署着不同类型的服务(比如 Web服务.Job服务等),当这些服务以 Service 或者 Stack 的形式部署到集群, ...
- Samba服务配置及配置文件说明
前言 1.配置Samba服务为什么要关闭防火墙(firewalld)和Selinux? 在linux操作系统中默认开启了防火墙,Selinux也处于启动状态,一般状态为enforing:所以,在我们搭 ...
- 使用Prometheus Operator 监控Kubernetes(15)
一.Prometheus概述: Prometheus是一个开源系统监测和警报工具箱. Prometheus Operator 是 CoreOS 开发的基于 Prometheus 的 Kubernete ...
- 7.json&pickle及软件目录结构规范
json(可以序列化简单数据类型,用于不同语言之间的数据交换传输)import jsonjson.dumps() 写入json.loads() 读取json.dump(info,f) == f.wri ...
- GCC编译 C与C++ C89与C99
1) 最初的 ANSI C 标准 (X3.159-1989) 在 1989 年被批准,并于 1990 年发布.稍后这个标准被接受为 ISO 标准 (ISO/IEC 9899:1990) .虽然 ISO ...
- nginx 的基础知识(二)
Nginx 多进程网络模型 进程模型 nginx启动后以daemon的方式在后台运行,后台进程包括一个master进程和多个worker进程 master进程主要作用,接收来自外界的信号:向各work ...
- windows下nginx配合nodejs进行反向代理
本文原创,转载请附上原作者链接!https://www.cnblogs.com/LSWu/articles/14848324.html 1.安装node.js 从node.js官网上下载node.js ...
- [leetcode] 36. 有效的数独(Java)
没啥好说的,直接上就行 36. 有效的数独 class Solution { public boolean isValidSudoku(char[][] board) { Map<Charact ...
- linux中用iptables开启指定端口
linux中用iptables开启指定端口 centos默认开启的端口只有22端口,专供于SSH服务,其他端口都需要自行开启. 1.修改/etc/sysconfig/iptables文件,增加如下 ...
- Go语言网络通信---多用户连续通信的TCP编程
server端: package main import ( "fmt" "net" ) func main() { //建立监听 listener, err ...