echarts实现在市级行政区点击县级行政区,显示单个县级行政区地图数据

因需兼容ie,此处所有变量声明都用var。如无需支持,可另做let修改。 这里以常州市为例,我们可以去阿里云提供的地理工具去截取地图json数据DataV.GeoAtlas地理小工具系列

点击所选区域,右侧会对应显示json数据,再次点击右侧红框内的第一个按钮即可复制南通市的geoJson数据,同时按照此方法,把常州市内的所有区县的地图数据都保存为单个json文件,

html主要代码

<div class="map" id="map"></div>//此处为常州大市的图表<div class="map" id="map_ct" style="display: none"></div>//单个区县行<!--中文转拼音js-->
<script src="../static/js/pinyin4js.js"></script>

js方法:需要注意的是初始化市级地图必须要销毁click事件,同时切换到二级行政区必须要先清空图表信息,否则会有上一次的地图残影闪烁,此处点击获取二级行政区另外使用了pinyin4js.js中文转拼音的插件,点击即可免费下载使用,因不需要声调,只需要拼音来获取对应的geoJson数据,即可

 
function echarts(data) {// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('map'));var option;var convertData = function convertData(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(0,0).concat(data[i].value),value: geoCoord,itemStyle: {color: 'white'}});}}return res;};myChart.showLoading();$.get('../static/js/bdcDp/changzhouMap/changzhou.json', function (geoJson) {//此处地址为所保存的南通市的jsonmyChart.hideLoading();myChart.hideLoading();echarts.registerMap('changzhou', geoJson);myChart.setOption(option = {tooltip: {trigger: 'item',}},geo: {map: 'nantong',roam: false, // 不开启缩放和平移zoom: 1, // 视角缩放比例top: 50,aspectScale: 0.8,label: {normal: {show: false,fontSize: '10',color: 'rgba(0,0,0,0.7)'}},itemStyle: {normal: {areaColor: '#2282d6',borderColor: '#2282d6',borderWidth: 1,borderType: 'solid',opacity: 0.8,shadowBlur: 10,shadowColor: '#080D15',shadowOffsetX: 5,shadowOffsetY: 5},emphasis: {areaColor: {type: 'linear',x: 0,y: 0,x2: 0,y2: 1,colorStops: [{offset: 0,color: '#fff' // 0% 处的颜色}, {offset: 1,color: '#fff' // 100% 处的颜色}],globalCoord: false // 缺省为 false}}}},series: [{type: 'map',geoIndex: 1,aspectScale: 0.8,map: 'changzhou',zoom: 1,top: 42,roam: false,nameProperty: 'name',colorBy: 'series',data:data,itemStyle: {borderColor: '#3dd4ff',borderWidth: '2',// shadowBlur: 20, //软阴影值shadowColor: '#95d3fd',shadowOffsetX: 0,// shadowOffsetY: 0,emphasis: {areaColor: {type: 'linear',x: 0,y: 0,x2: 0,y2: 1,colorStops: [{offset: 0,color: '#2332c5' // 0% 处的颜色}, {offset: 1,color: '#2332c5' // 100% 处的颜色}],globalCoord: false // 缺省为 false},label: {show: false}}}}, {name: 'city',type: 'effectScatter',rippleEffect: {// 涟漪特效相关配置。scale: 4 // 控制涟漪大小},colorBy: 'series',coordinateSystem: 'geo',data: convertData(data),label: {formatter: '{b}',position: 'right',show: true,fontSize:18,color: '#2E9FF6'},itemStyle: {color: '#ffffff',shadowBlur: 10,shadowColor: '#333'},tooltip: {formatter: '{b0}'}}]});});// 使用刚指定的配置项和数据显示图表。// myChart.setOption(option)setTimeout(function () {myChart.resize();}, 200)window.addEventListener('resize', function () {myChart.resize();});//销毁点击事件myChart.off('click');myChart.on("click", function (params) {qxmc = params.name;color =  params.color;// 显示返回按钮$(".gobackMap").show();//此处用于返回一级市区大地图});
}// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('map_ct'));//清空图表信息 否则会有上一次地图的残影闪烁myChart.clear();var option;var geoCoordMap = {天宁区: [120.11, 31.84],新北区: [119.9, 31.92],钟楼区: [119.85, 31.81],金坛区: [119.5, 31.74],武进区: [119.91, 31.6],溧阳市: [119.39, 31.46]};//匹配地图坐标值var convertData = function convertData(data) {var res = [];for (var i = 0; i < data.length; i++) {var geoCoord = geoCoordMap[data[i].name];//取传入的区县值if ( !isNullOrEmpty(geoCoord) &&data[i].name==qxmc) {res.push({name: data[i].name,value: geoCoord,itemStyle: {color: 'white'}});}}return res;};//判断返回的区县地图 此处调用了pinyin4js.js中文转拼音的插件 qxmc是点击地图获取的区县名称 后面是格式var area = PinyinHelper.convertToPinyinString(qxmc,'', PinyinFormat.WITHOUT_TONE)// myChart.showLoading();$.get('../static/js/bdcDp/changzhouMap/' + area + '.json', function (geoJson) {// myChart.hideLoading();//展示地图echarts.registerMap('changzhou', geoJson);//地图配置myChart.setOption(option = {tooltip: {trigger: 'item',formatter: function formatter(params) {
//如无需显示该处代码可忽略,此处多为显示对应区县的某些数据var res = params.name + '<br/>';var myseries = params.data.value;if (isNotBlank(myseries)) {res += '总面积:' + myseries[0] + '万㎡' + '<br/>' + '套数:' + myseries[1] + '<br/>';} else {res += '总面积:' + 0 + '万㎡' + '<br/>' + '套数:' + 0 + '<br/>';}return res;},textStyle: {fontFamily: "Microsoft YaHei",fontSize:18}},geo: {map: 'changzhou',roam: false, // 不开启缩放和平移zoom: 1, // 视角缩放比例top: 50,aspectScale: 0.8,label: {normal: {show: false,fontSize: '10',color: 'rgba(0,0,0,0.7)'}},itemStyle: {normal: {areaColor: '#2282d6',borderColor: '#2282d6',borderWidth: 1,borderType: 'solid',opacity: 0.8,shadowBlur: 10,shadowColor: '#080D15',shadowOffsetX: 5,shadowOffsetY: 5},emphasis: {areaColor: {type: 'linear',x: 0,y: 0,x2: 0,y2: 1,colorStops: [{offset: 0,color: '#fff' // 0% 处的颜色}, {offset: 1,color: '#fff' // 100% 处的颜色}],globalCoord: false // 缺省为 false}}}},series: [{type: 'map',geoIndex: 1,aspectScale: 0.8,map: 'changzhou',zoom: 1,top: 42,roam: false,nameProperty: 'name',colorBy: 'series',data: data,itemStyle: {borderColor: '#3dd4ff',borderWidth: '2',shadowBlur: 20,shadowColor: '#95d3fd',shadowOffsetX: 0,shadowOffsetY: 0,emphasis: {areaColor: {type: 'linear',x: 0,y: 0,x2: 0,y2: 1,colorStops: [{offset: 0,color: '#2332c5' // 0% 处的颜色}, {offset: 1,color: '#2332c5' // 100% 处的颜色}],globalCoord: false // 缺省为 false},label: {show: false}}}}, {name: 'city',type: 'effectScatter',rippleEffect: {// 涟漪特效相关配置。scale: 4 // 控制涟漪大小},colorBy: 'series',coordinateSystem: 'geo',data: convertData(data),label: {formatter: '{b}',position: 'right',show: true,fontSize:18,color: '#1292F5'},itemStyle: {color: '#ffffff',shadowBlur: 10,shadowColor: '#333'},tooltip: {formatter: '{b0}'}}]});});setTimeout(function () {myChart.resize();}, 200)window.addEventListener('resize', function () {myChart.resize();});
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/51353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 索引相关基本概念

文章目录 前言一. B Tree 索引1. 概念2. 聚集索引/聚簇索引3. 辅助索引/二级索引4. 回表5. 联合索引/复合索引6. 覆盖索引 二. 哈希索引三. 全文索引 前言 InnoDB存储引擎支持以下几种常见索引&#xff1a;BTree索引&#xff0c;哈希索引&#xff0c;全文索引 一. B Tree 索引…

2024巴黎奥运会竟然用AI做这些?

人工智能将成为 2024 年巴黎奥运会的焦点&#xff0c;组织者于四月制定了《奥运会人工智能议程》&#xff0c;这是一个涵盖人工智能对奥运会未来影响的框架。 该议程体现了国际奥委会及其主要合作伙伴的承诺&#xff0c;确保在奥运会上使用人工智能来促进团结、提高可持续性并加…

从零到一使用 Ollama、Dify 和 Docker 构建 Llama 3.1 模型服务

本篇文章聊聊&#xff0c;如何使用 Ollama、Dify 和 Docker 来完成本地 Llama 3.1 模型服务的搭建。 如果你需要将 Ollama 官方不支持的模型运行起来&#xff0c;或者将新版本 llama.cpp 转换的模型运行起来&#xff0c;并且想更轻松的使用 Dify 构建 AI 应用&#xff0c;那么…

网络传输层——UDP与TCP

前言&#xff1a; 1.国际网络体系结构&#xff1a; OSI模型: open system interconnect 理论模型 1977 国际标准化组织 各种不同体系结构的计算机能在世界范围内互联成网。 应用层:要传输的数据信息&#xff0c;如文件传输&#xff0c;电子邮件等…

数据结构:队列(顺序存储和链式存储)

文章目录 1. 队列的概念和结构2. 队列的链式存储实现2.1 初始化2.2 判断队列是否为空2.3 入队列2.4 出队列2.5 取队头数据2.6 取队尾数据2.7 队列有效数据的个数2.8 打印队列数据2.9 销毁2.10 源代码 3. 队列的顺序存储实现(循环队列)3.1 初始化3.2 判断队列是否为空3.3 判断队…

【数据结构之C语言实现动态顺序表】

引 入: 在讲顺序表之前得先了解线性表是什么&#xff1f; 线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表&#xff0c;链表&#xff0c;栈&#xff0c;队列&#xff0c;字符串…… 线性表…

Meta 发布地表最大、最强大模型 Llama 3.1

最近这一两周看到不少互联网公司都已经开始秋招提前批了。不同以往的是&#xff0c;当前职场环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;HC 在变少&#xff0c;岗位要求还更高了。 最近&#xff0c;我们又陆续整理了很多大厂的面试题&#xff0c;帮助一些球友解…

【iOS】暑期第一周——ZARA app仿写

目录 前言无限轮播图分栏控件和滚动视图自定义cell遇到的问题调整图标大小单元格附件视图设置 总结 前言 暑假学习的第一周任务是对ZARA app进行仿写&#xff0c;充分运用之前学习的Objective-C语言和UI控件。我在编写demo的过程中遇到了一些问题&#xff0c;特写该博客作为学习…

LLM与搜索推荐

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…

VScode连接服务器免密登录

1、生成 SSH 密钥对 打开终端并输入以下命令生成 SSH 密钥对&#xff1a; 直接搜索 cmd&#xff0c;然后输入&#xff1a; ssh-keygen -t rsa -b 4096 一直回车就好了 这时公钥存储在/Users/你的用户名/.ssh/id_rsa.pub文件里&#xff0c;私钥存储在/Users/你的用户名/.ss…

简单的数据结构:栈

1.栈的基本概念 1.1栈的定义 栈是一种线性表&#xff0c;只能在一端进行数据的插入或删除&#xff0c;可以用数组或链表来实现&#xff0c;这里以数组为例进行说明 栈顶 &#xff1a;数据出入的那一端&#xff0c;通常用Top表示 栈底 :相对于栈顶的另一端&#xff0c;也是固…

黑马头条vue2.0项目实战(一)——项目初始化

1. 图标素材&#xff08;iconfont简介&#xff09; 制作字体图标的工具有很多&#xff0c;推荐使用&#xff1a;iconfont-阿里巴巴矢量图标库。 注册账户 创建项目 可以根据项目自定义 class 前缀 上传图标到项目 生成链接&#xff0c;复制 css 代码&#xff0c;在项目中使用…

【知识梳理】Shell的变量计算

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 Shell中有很多变量的计算&#xff0c;会用到多种运算符。例如这几种&#xff1a; 1. Shell中常见的算术运算符 运算符意义&…

github-page静态网页将字符串写入github库中文本文档

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 问题描述 github-page静态…

Natutre Methods|单细胞+空间转录,值得去复现的开源单细胞分析pipeline

肺癌是全球第二大最常见的癌症&#xff0c;也是癌症相关死亡的主要原因。肿瘤生态系统具有多种免疫细胞类型。尤其是髓系细胞&#xff0c;髓系细胞普遍存在&#xff0c;并且在促进疾病方面发挥着众所周知的作用。该篇通过单细胞和空间转录组学分析了 25 名未经治疗的腺癌和鳞状…

网络模型优化——从参数向量到性能提升的最优化之旅

网络模型优化——从参数向量到性能提升的最优化之旅 网络模型优化的核心作用 组件/步骤描述参数向量网络模型中的可学习部分&#xff0c;决定了模型的输出泛函最优化通过调整参数向量以最小化或最大化某个目标函数的过程目标函数用于评估模型性能的指标&#xff0c;如损失函数…

【初阶数据结构篇】顺序表的实现(赋源码)

文章目录 本篇代码位置顺序表和链表1.线性表2.顺序表2.1 概念与结构2.2分类2.2.1 静态顺序表2.2.2 动态顺序表 2.3 动态顺序表的实现2.3.1动态顺序表的初始化和销毁及打印2.3.2动态顺序表的插入动态顺序表的尾插动态顺序表的头插动态顺序表的在指定位置插入数据 2.3.3动态顺序表…

区块链——hardhat使用

一、引入hardhat yarn add --dev hardhat // 引入验证合约的插件 yarn add --dev nomicfoundation/hardhat-verify 二、创建hardhat项目 yarn hardhat 三、编写我们的合约 四、编译我们的合约 yarn hardhat compile 五、编写脚本部署合约以及验证合约 // 获取hardhat环境对象 c…

Python操作Redis指南

文本主要介绍使用Python中的redis-py库来操作Redis数据库&#xff0c;包括安装必要的包、建立和关闭连接、执行增删改查操作以及处理可能的异常。这些操作将在Python应用程序中与Redis数据库进行有效的交互。 一. 简介和包的安装 Redis是一种开源的内存数据结构存储&#xff…

Jmeter混合压测(2407)

一 压测需求&#xff1a; 电商作为服务端&#xff0c;至少需要满足并发量,QPS:100/s,TPS:20/s。例如场景&#xff1a; 电商交易中&#xff0c;商品图片请求量最多&#xff0c;电商服务端需要满足并发请求查询图片信息。各家可能会并发请求同一家电商商品、订单等内容。 二 压…