Echarts 地图生成 以及生成geojson文件(附带完整代码)

Echarts 地图生成 以及生成geojson文件(附带完整代码)前言:需要实现的效果就是生成省级地图,点击省级地图中的市切换至市级地图。为了自己方便查阅,也方便大家使用。效果如下:所用的插件echarts.js官方地址:http://echarts.baidu.com/examples/使用方法:1、头部引入(官网下载地址:点这里下载文件)<!–引入ECharts文件–><scriptsr…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

前言:需要实现的效果就是生成省级地图,点击省级地图中的市切换至市级地图。为了自己方便查阅,也方便大家使用。

 

效果如下:

Echarts 地图生成 以及生成geojson文件(附带完整代码)

所用的插件

echarts.js  官方地址:Examples – Apache ECharts

Echarts 地图生成 以及生成geojson文件(附带完整代码)

 

使用方法:

1、头部引入(官网下载地址:点这里下载文件

<!-- 引入 ECharts 文件 -->
<script src="echarts.min.js"></script>

Jetbrains全家桶1年46,售后保障稳定

2、基础应用(参考官网)

<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
  // 基于准备好的dom,初始化echarts实例
  var myChart = echarts.init(document.getElementById('main'));

  // 指定图表的配置项和数据
  var option = {
    title: {
      text: 'ECharts 入门示例'
    },
    tooltip: {},
    legend: {
      data:['销量']
    },
    xAxis: {
      data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
    },
    yAxis: {},
    series: [{
      name: '销量',
      type: 'bar',
      data: [5, 20, 36, 10, 10, 20]
    }]
  };

  // 使用刚指定的配置项和数据显示图表。
  myChart.setOption(option);
</script>

3、地图的使用

//引入山西的js文件
<script src="js/province/shanxi.js" type="text/javascript" charset="utf-8"></script>

具体代码如下: 

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
<script src="js/echarts.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/province/shanxi.js" type="text/javascript" charset="utf-8"></script>
<title>山西地图</title>
</head>
<body>
<div id="main" style="width: 1200px;height:900px;"></div>
</body>
<script type="text/javascript">
//container 为div的id 
var dom = document.getElementById("main");
//得到echarts的实例对象
var myChart = echarts.init(dom);
initEcharts('山西');
function initEcharts(pName) {
  //关键是配置项
  var option = {
    series: [{
      name: '网点个数',
      //series[i]-map:系列列表。每个系列通过 type 决定自己的图表类型,此处是地图类型
      type: 'map',
      mapType: pName,
      //地图区域的多边形 图形样式,有 normal 和 emphasis 两个状态
      itemStyle: {
        //normal 是图形在默认状态下的样式;
        normal: {
          show: true,
          areaColor: "#CECECE",
          borderColor: "#FCFCFC",
          borderWidth: "1"
        },
        //emphasis 是图形在高亮状态下的样式,比如在鼠标悬浮或者图例联动高亮时。
        emphasis: {
          show: true,
          areaColor: "#C8A5DF",
        }
      },
      //图形上的文本标签,可用于说明图形的一些数据信息
      label: {
        normal: {
          show: true
        },
        emphasis: {
          show: true
        }
      },
    }],
    title: {
      text: pName,
      left: 'center'
    }
  };
  //使用刚指定的配置项和数据显示图表。
  myChart.setOption(option);
}
//定义全国省份的数组
var provinces = ['datong', 'shuozhou', 'xinzhou', 'lvliang', 'taiyuan', 'yangquan', 'jinzhong', 'linfen', 'changzhi', 'jincheng', 'yuncheng'];
var provincesText = ['大同市', '朔州市', '忻州市', '吕梁市', '太原市', '阳泉市', '晋中市', '临汾市', '长治市', '晋城市', '运城市'	];
myChart.on('click', function(param) {
  //console.log(param);
  //遍历取到provincesText 中的下标  去拿到对应的省js
  for (var i = 0; i < provincesText.length; i++) {
    if (param.name == provincesText[i]) {
      //显示对应省份的方法
      showProvince(provincesText[i],provinces[i]);
      break;
    }
  }
});
//展示对应的省
function showProvince(pText,pName) {
  loadBdScript('$' + pName + 'JS', 'js/province/' + pName + '.js', function() {
    //初始化echarts
    initEcharts(pText);
  });
}
//加载对应的JS
function loadBdScript(scriptId, url, callback) {
  var script = document.createElement("script")
  script.type = "text/javascript";
  if (script.readyState) { //IE  
    script.onreadystatechange = function() {
      if (script.readyState == "loaded" || script.readyState == "complete") {
        script.onreadystatechange = null;
        callback();
      }
    };
  } else { //Others  
    script.onload = function() {
      callback();
    };
  }
  script.src = url;
  script.id = scriptId;
  document.getElementsByTagName("head")[0].appendChild(script);
};
</script>
</html>

完整代码包:点这里下载

geojson生成工具:geojson.io

geojson全国各省市区地图json数据(目前仅到全国、省、市、区级别,无法到乡、镇、社区):

地图选择器

阿里云开放平台geojson文件下载地址:地图选择器

注:本文纯属资源整合,如有问题请联系博主

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231298.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mongodb 导出数据_dbeaver导出查询结果

    mongodb 导出数据_dbeaver导出查询结果目录1、定义查询js(1)导出json(2)导出csv2、执行导出命令(1)json(2)csv1、定义查询js在mongo所在服务器,添加查询文件:query.js。内容如下:(1)导出jsondb.getCollection(‘集合名称’).find({查询条件},{“o_guid”:1,”ebs_name”:1,”ebs_f_name”:1})(2)导出csvdb.getCollection(‘集合名称’).find({查询条件},{“o_guid”:1,”ebs_name”

    2025年6月14日
    5
  • Kali Linux 安装过程 超详细(图文并茂,通用版)

    Kali Linux 安装过程 超详细(图文并茂,通用版)从Kali2020.1版本新功能说起,在大致读过版本发布说明后,再进行安装,就不会有太大问题,不会频繁出错。然后给出了多种镜像下载途径,包括历史所有版本的镜像,供读者自行选择下载。最后开始正式安装,内容也是十分详细,图文并茂。在文章最后,介绍了默认安装的情况下,如果获取large版本,获取更多工具。最后介绍如何更新Kali,可升级至Kali2020.2版本。

    2022年6月4日
    72
  • 【angular】Can’t bind to ‘ngModel’ since it isn’t a known property of ‘select’.

    【angular】Can’t bind to ‘ngModel’ since it isn’t a known property of ‘select’.【angular】Can’t bind to ‘ngModel’ since it isn’t a known property of ‘select’.

    2022年4月25日
    36
  • 中文词向量大全[通俗易懂]

    中文词向量大全[通俗易懂]#中文词向量大全https://github.com/Embedding/Chinese-Word-Vectors里面有词向量下载(很多的类型)#使用方法下载后加载方式:unicode字符哦!importgensimfromgensim.modelsimportKeyedVectorsmodel=KeyedVectors.load_word2vec_format…

    2022年5月3日
    74
  • java删除数组中指定元素_java学习中如何删除数组中的指定元素「建议收藏」

    java删除数组中指定元素_java学习中如何删除数组中的指定元素「建议收藏」java的api中,并没有提供删除数组中元素的方法。虽然数组是一个对象,不过并没有提供add()remove()或查找元素的方法。这就是为什么类似ArrayList和HashSet受欢迎的原因。不过,我们要感谢ApacheCommonsUtils,我们可以使用这个库的ArrayUtils类来轻易的删除数组中的元素。不过有一点需要注意,数组是在大小是固定的,这意味这我们删除元素后,并不会减少数组的…

    2022年8月11日
    10
  • 计算机桌面锁写快捷,锁定计算机快捷键_锁定计算机的快捷键

    计算机桌面锁写快捷,锁定计算机快捷键_锁定计算机的快捷键2017-01-0515:11:14当有事需暂时离开,又不想他人动用电脑时,可采取锁定桌面的办法。1、首先要在电脑中设置好一个用户帐户密码(开机密码)。在锁定桌面时,只需按Win十L键(即按住那个有微软视窗图标的键…2016-12-1814:43:081在电脑上键盘上找到Windows键和L键,这两个键就是快速锁定计算机的关键所在步骤阅读2两只手一只手按Windows键,另一只手按L键,…

    2022年7月21日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号