echarts-可视化地图防重叠文本框

我在第一篇可视化地图中,有一些基础介绍,本篇文章就是多展示一些效果,大家可以按需获取。
先直接上效果图
在这里插入图片描述
这里的配置项有用到
1、通过geo展示多层地图,这样可以像上图所示,通过错位有了一些3D效果;
2、北京的特殊图标展示通过scatter类型实现;
3、区域散点图effectScatter类型;
4、有方向流动的线,lines类型;
5、也是通过scatter实现了黄色icon的效果;
6、series最后一组类型lines,实现文本框;

  let box = document.querySelector('.box');$.get('./chinas.json', function (chinaJson) {echarts.registerMap('china', chinaJson);let e = echarts.init(box);let data = [{name: "郑州",value: [114.14, 34.16, 100]},{name: "深圳",value: [114.271522, 22.753644]},{name: "重庆",value: [106.54, 29.59]},{name: "浙江",value: [120.19, 30.26]}];let LableData = [{name: "郑州",coords: [[114.14, 34.16],[120.24, 46.55]], // 线条位置[开始位置,结束位置]value: [10.21, 1.20]},{name: "深圳",coords: [[114.271522, 22.753644],[118.24, 18.55]], // 线条位置[开始位置,结束位置]value: [10.21, 1.20]},{name: "重庆",coords: [[106.54, 29.59],[100.24, 40.55]], // 线条位置[开始位置,结束位置]value: [10.21, 1.20]},{name: "浙江",coords: [[120.19, 30.26],[128.24, 35.55]], // 线条位置[开始位置,结束位置]value: [10.21, 1.20]},];let option = {backgroundColor: '#000f1e',geo: {map: 'china',aspectScale: 0.85,layoutCenter: ["50%", "50%"], //地图位置layoutSize: '100%',itemStyle: {normal: {shadowColor: '#276fce',shadowOffsetX: 0,shadowOffsetY: 15,opacity: 0.5,},emphasis: {areaColor: '#276fce'}},regions: [{name: '南海诸岛',itemStyle: {areaColor: 'rgba(0, 10, 52, 1)',borderColor: 'rgba(0, 10, 52, 1)',normal: {opacity: 0,label: {show: false,color: "#009cc9",}}},label: {show: false,color: '#FFFFFF',fontSize: 12,}}]},series: [// 常规地图{type: 'map',mapType: 'china',aspectScale: 0.85,layoutCenter: ["50%", "50%"], //地图位置layoutSize: '100%',zoom: 1, //当前视角的缩放比例// roam: true, //是否开启平游或缩放scaleLimit: { //滚轮缩放的极限控制min: 1,max: 2},itemStyle: {normal: {areaColor: '#0c274b',borderColor: '#1cccff',borderWidth: 1.5},emphasis: {areaColor: '#02102b',label: {color: "#fff"}}}},{ //首都星图标name: '首都',type: 'scatter',coordinateSystem: 'geo',data: [{name: '首都',value: [116.24, 41.55, 100],},],symbol: 'diamond',symbolSize: 20,itemStyle: {color: "#f00"},label: {normal: {show: false,color: "#f00"},emphasis: {show: false}}},// 区域散点图{type: 'effectScatter',coordinateSystem: 'geo',zlevel: 2,symbolSize: 10,rippleEffect: { //坐标点动画period: 3,scale: 5,brushType: 'fill'},label: {normal: {show: true,position: 'right',formatter: '{b}',color: '#b3e2f2',fontWeight: "bold",fontSize: 18}},data: data,itemStyle: { //坐标点颜色normal: {show: true,color: 'green',shadowBlur: 20,shadowColor: '#fff'},emphasis: {areaColor: '#f00'}},},// 线 和 点{type: 'lines',zlevel: 1, //设置这个才会有轨迹线的小尾巴polyline: true,effect: {show: true,period: 10,trailLength: 0.7,color: '#fff', //流动点颜色symbol: 'arrow',symbolSize: 6},lineStyle: {normal: {color: '#fff', //线条颜色width: 1.5,curveness: 0.2,shadowColor: '#fff',}},data: [{fromName: "深圳",toName: "郑州",coords: [[114.271522, 22.753644],[114.14, 34.16],[114.271522, 22.753644]]},{fromName: "深圳",toName: "浙江",coords: [[114.271522, 22.753644],[120.19, 30.26],[114.271522, 22.753644]]},{fromName: "深圳",toName: "重庆",coords: [[114.271522, 22.753644],[106.54, 29.59],[114.271522, 22.753644]]}],},// 黄色icon{name: 'lable',type: 'scatter',coordinateSystem: 'geo',symbol: 'pin',symbolSize: [50, 50],label: {normal: {show: true,textStyle: {color: '#fff',fontSize: 9,},formatter(value) {return value.data.value[2]}}},itemStyle: {normal: {color: '#D8BC37', //标志颜色}},data: data,showEffectOn: 'render',rippleEffect: {brushType: 'stroke'},hoverAnimation: true,zlevel: 1},// 文本框,白色圆点{type: 'lines',zlevel: 3,symbol: 'circle',symbolSize: [5, 5],color: '#ff8003',opacity: 1,label: {show: true,padding: [10, 20],color: '#fff',backgroundColor: "#1a3961",borderColor: '#aee9fb',borderWidth: 3,borderRadius: 6,formatter(params) let arr = [params.name, "上行:" + params.value[1] + "G/s", "下行:" + params.value[0] + "G/s"];return arr.join("\n")},textStyle: {align: 'left',lineHeight: 20}/* normal: {textStyle: {color: '#fff',fontSize: 9,},formatter (value){return value.data.value[2]},}*/},lineStyle: {type: 'solid',color: '#fff',width: 1,opacity: 1,},data: LableData,},]};e.setOption(option);});

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

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

相关文章

沉积物微体古生物鉴定

声明 本文是学习GB-T 42629.4-2023 国际海底区域和公海环境调查规程 第4部分:海洋沉积物物理特性调查. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了国际海底区域和公海环境调查中的沉积物组成、物理力学性质、生物…

【AWS】AI 代码生成器—Amazon CodeWhisperer初体验 | 开启开挂编程之旅

使用 AI 编码配套应用程序更快、更安全地构建应用程序 文章目录 1.1 Amazon CodeWhisperper简介1.2 Amazon CodeWhisperer 定价2.1 打开VS Code2.2 安装AWS ToolKit插件 一、前言 1.1 Amazon CodeWhisperper简介 1️⃣更快地完成更多工作 CodeWhisperer 经过数十亿行代码的训…

Docker实战技巧(二):Kubernetes基础操作实战

Kubernetes定位在Saas层,重点解决了微服务大规模部署时的服务编排问题 1、关闭防火墙并设置开机禁用   systemctl stop firewalld   systemctl disable firewalld 2、配置repo   cd /etc/yum.repos.d/   下载Docker repo   wget https://mirrors.aliyun.com/docker-…

Android毕业设计,基于Android 语音朗读书籍管理系统

视频演示: 基于Android 语音朗读书籍管理系统 基于 Android 的语音朗读书籍管理系统可以提供用户管理书籍、朗读书籍的功能。以下是一个简单的步骤和功能列表: 用户注册和登录功能: 用户可以注册新账号或使用现有账号登录系统。用户信息可以包…

【扩散生成模型】Diffusion Generative Models

提出扩散模型思想的论文: 《Deep Unsupervised Learning using Nonequilibrium Thermodynamics》理解 扩散模型综述: “扩散模型”首篇综述论文分类汇总,谷歌&北大最新研究 理论推导、代码实现: What are Diffusion Models?…

基于win32实现TB登陆滑动验证

这里写目录标题 滑动验证触发条件:失败条件:解决方法:清除cooKie 滑动验证方式一:win32 api获取窗口句柄,选择固定位置 成功率高方式二: 原自动化滑动,成功率中 案例 先谈理论,淘宝 taobao.com …

【网络协议】Http-中

搜索引擎:搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上采集信息,在对信息进行组织和处理后,为用户提供检索服务,将检索的相关信息展示给用户的系统。搜索引擎是工作于互联网上的一门检索技术,它旨在提…

向表中针对全部列插入数据

MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 语法格式: insert into 表名 values(); 我们来查看test01表里面有几列 mysql> show databases; -------------------- | Database …

易知微防洪“四预”智慧水利平台上线!全面助力智慧水利建设发展

自古以来,中国的基本水情一直是夏汛冬枯、北缺南丰,水资源时空分布极不均衡,水旱灾害多发频发重发。因此,兴水利、除水害,一直都是涉及国家长治久安的大事要事。随着全球气候变化影响加剧,极端天气增多&…

行业首款数字牙刷 F10 系列:笑容加带来的智能刷牙革命

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

【proverif】proverif的下载安装和初使用

文章目录 一、proverif下载1. 下载proverif安装包2. 解压proverif安装包3. 点开其中的README,安装graphciz和gtk4. 查看安装是否成功5. 测试 一、proverif下载 1. 下载proverif安装包 官网:proverif 首先下载全过程无需开外网,而且安装包下…

基于SSM的出租车管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

9.25day5---Qt

登录页面设计,建立用户注册以及登录的数据库,数据库保存用户名和密码 (ps:本篇只完成了登录功能,其他功能,请见下篇嘿嘿。) 再次注册则失败: 代码如下: 头文件: 登录…

堆的OJ题

🔥🔥 欢迎来到小林的博客!!       🛰️博客主页:✈️林 子       🛰️博客专栏:✈️ 小林的算法笔记       🛰️社区 :✈️ 进步学堂       &am…

redis深度历险 千帆竞发 —— 分布式锁

分布式应用进行逻辑处理时经常会遇到并发问题。 比如一个操作要修改用户的状态,修改状态需要先读出用户的状态,在内存里进行修改,改完了再存回去。如果这样的操作同时进行了,就会出现并发问题,因为读取和保存状态这两个…

生产消费者模型的介绍以及其的模拟实现

目录 生产者消费者模型的概念 生产者消费者模型的特点 基于阻塞队列BlockingQueue的生产者消费者模型 对基于阻塞队列BlockingQueue的生产者消费者模型的模拟实现 ConProd.c文件的整体代码 BlockQueue.h文件的整体代码 对【基于阻塞队列BlockingQueue的生产者消费者模型…

uniapp----微信小程序 日历组件(周日历 月日历)【Vue3+ts+uView】

uniapp----微信小程序 日历组件(周日历&& 月日历)【Vue3tsuView】 用Vue3tsuView来编写日历组件;存在周日历和月日历两种显示方式;高亮显示当天日期,红点渲染有数据的日期,点击显示数据 1. calenda…

数据结构——AVL树

目录 1.什么是AVL树? 2.AVL树插入的模拟实现 ①节点定义 ②插入 ③旋转 ⑴右单旋 ⑵左单旋 ⑶双旋(右左旋) ⑷双旋(左右旋) ⑸完整的插入代码 3.AVL树的性能分析 1.什么是AVL树? AVL树是一种自…

NLP文本生成全解析:从传统方法到预训练完整介绍

目录 1. 引言1.1 文本生成的定义和作用1.2 自然语言处理技术在文本生成领域的使用 2 传统方法 - 基于统计的方法2.1.1 N-gram模型2.1.2 平滑技术 3. 传统方法 - 基于模板的生成3.1 定义与特点3.2 动态模板 4. 神经网络方法 - 长短时记忆网络(LSTM)LSTM的核心概念PyTorch中的LST…

中尺度混凝土二维有限元求解——运行弯曲、运行光盘、运行比较、运行半圆形(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…