基于vue的地图特效(飞线和标注)

news/2024/9/14 2:00:16/ 标签: vue.js, 前端, javascript

这段代码的主要功能是在页面加载完成后,初始化一个 echarts 地图图表,并配置了相关的地理数据、散点数据、线条数据以及样式效果,最后在指定的 div 元素中进行展示。

需要再vue中的框架实现,不能单独直接运行。

标注

  • type: 'effectScatter' 表示这是一个带有特效的散点图。
  • coordinateSystem: 'geo' 表明其坐标系统基于地理坐标系。
  • label 配置了标签的显示格式、位置和是否显示。
  • itemStyle 设定了元素的阴影模糊度、阴影颜色和自身颜色。
  • symbolSize: 20 定义了散点的大小。
  • rippleEffect 配置了涟漪效果的相关参数。
  • data 数组中包含了几个具有名称和坐标值的城市数据,用于在地图上显示散点。

代码:

{type: 'effectScatter',coordinateSystem: 'geo',label: {formatter: '{b}',position: 'right',show: true},itemStyle: {shadowBlur: 10,shadowColor: '#f00',color:'#f00'},symbolSize:20,rippleEffect: {brushType: 'stroke',scale:3},data:[{name:'北京',value: [116.46, 39.92]},{name:'乌鲁木齐',value: [87.68, 43.77]},{name:'海口',value:  [110.35, 20.02]},{name:'大连',value: [121.62, 38.92]}],},

飞线

  • type: "lines" 表示这是一个线条类型的图表。
  • effect 配置了线条的特效显示相关参数,如是否显示、周期和符号。
  • lineStyle 设定了线条的颜色、宽度、透明度和弯曲度。
  • data 数组中包含了两组坐标数据,用于绘制线条。
 //箭头动画{type:"lines",effect:{show:true,period:5,shmbol:'arrow',symbolSize:10},lineStyle:{color:'#C1A43C',width:1,opacity:1,curveness:0.1,},data:[[{coord: [91.11, 29.97],},{coord:[121.48, 31.22]}],[{coord:  [110.35, 20.02]},{coord: [121.62, 38.92]}]]}

完整代码:

<script setup> 部分

  • 引入了 Vue 的 refreactive 和 onMounted 钩子,以及 echarts 库和中国地图数据 chinaMap 。
  • 定义了一个 ref 变量 chart ,用于引用模板中的 div 元素。
  • 在 onMounted 钩子中调用 chartInit 函数进行图表的初始化。
  • chartInit 函数中:
    • 使用 echarts.init 基于 chart.value 初始化图表实例 myChart 。
    • 注册了名为 china 的地图。
    • 配置了图表的选项 option ,包括地理信息(geo)部分的地图类型、地图数据、标签样式、区域颜色和强调效果等,以及两个系列的数据(一个是散点效果,一个是线条效果),并设置了相关的样式和数据。
    • 最后使用 setOption 方法应用配置选项显示图表。

<template> 部分

  • 定义了一个具有 ref="chart" 属性的 div 元素,用于展示图表,并设置了宽度为 100% ,高度为 600 像素。
<script setup>
import {ref,reactive, onMounted} from 'vue'
import * as echarts from 'echarts';
import chinaMap from '../../assets/json/china.json'let chart =ref();
onMounted(()=>{chartInit()
})
function chartInit(){// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(chart.value);echarts.registerMap('china',chinaMap)// 指定图表的配置项和数据var option = {geo:{type:'map',map:'china',label:{show:true,color:'#fff',fontSize:10},itemStyle:{areaColor:'#4D98FB',borderColor:'#fff'},zoom:1.2,emphasis:{lable:{color:'#333'},itemStyle:{areaColor:"#1BC1AD"}}},series:[{type: 'effectScatter',coordinateSystem: 'geo',label: {formatter: '{b}',position: 'right',show: true},itemStyle: {shadowBlur: 10,shadowColor: '#f00',color:'#f00'},symbolSize:20,rippleEffect: {brushType: 'stroke',scale:3},data:[{name:'北京',value: [116.46, 39.92]},{name:'乌鲁木齐',value: [87.68, 43.77]},{name:'海口',value:  [110.35, 20.02]},{name:'大连',value: [121.62, 38.92]}],},//箭头动画{type:"lines",effect:{show:true,period:5,shmbol:'arrow',symbolSize:10},lineStyle:{color:'#C1A43C',width:1,opacity:1,curveness:0.1,},data:[[{coord: [91.11, 29.97],},{coord:[121.48, 31.22]}],[{coord:  [110.35, 20.02]},{coord: [121.62, 38.92]}]]}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option);
}
</script><template><div ref="chart" style="width: 100%;height:600px;"></div>
</template><style scoped></style>

 


http://www.ppmy.cn/news/1474677.html

相关文章

Python | Leetcode Python题解之第224题基本计算器

题目&#xff1a; 题解&#xff1a; class Solution:def calculate(self, s: str) -> int:ops [1]sign 1ret 0n len(s)i 0while i < n:if s[i] :i 1elif s[i] :sign ops[-1]i 1elif s[i] -:sign -ops[-1]i 1elif s[i] (:ops.append(sign)i 1elif s[i] …

Java rapidocr

基于PaddleOCR&#xff0c;但是官方并未提供Java版本&#xff0c;而RapidOcr解决了这个问题&#xff0c;不想了解OCR相关知识&#xff0c;开箱即用、不想额外再部署OCR服务&#xff0c;可以直接使用&#xff0c;识别效果也不错&#xff0c;但是发现CPU占用非常高&#xff0c;直…

电脑数据恢复篇:如何从电脑中恢复已删除的照片

按下 Shift Delete 后后悔了&#xff1f;想要恢复已删除的照片&#xff1f;好吧&#xff0c;如果是这样的话&#xff0c;你来对地方了。在本文中&#xff0c;我们将讨论如何从 PC 中恢复已删除的文件。 自从摄影的概念被提出以来&#xff0c;人们就对它着迷。以前&#xff0c…

Linux C语言基础 day9

目录 思维导图 学习目标&#xff1a; 学习内容&#xff1a; 1. 值传递与地址传递&#xff08;非常重要&#xff09; 1.1 值传递 1.2 地址传递 2. 递归函数 2.1 递归的概念 2.2 递归条件 2.3 递归思想 3. 指针 3.1 指针相关概念 3.2 指针变量的定义 3.2.1. 定义格…

自动驾驶算法———车道检测(一)

“ 在本章中&#xff0c;我将指导您构建一个简单但有效的车道检测管道&#xff0c;并将其应用于Carla 模拟器中捕获的图像。管道将图像作为输入&#xff0c;并产生车道边界的数学模型作为输出。图像由行车记录仪&#xff08;固定在车辆挡风玻璃后面的摄像头&#xff09;捕获。…

Redis 中的跳跃表(Skiplist)基本介绍

Redis 中的跳跃表&#xff08;Skiplist&#xff09;是一种用于有序元素集合的快速查找数据结构。它通过一个多级索引来提高搜索效率&#xff0c;能够在对数时间复杂度内完成查找、插入和删除操作。跳跃表特别适用于实现有序集合&#xff08;sorted set&#xff09;的功能&#…

JavaScript中的Symbol类型是什么以及它的作用

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介JavaScript中的Symbol类型是什么以及它的作用1. 符号&#xff08;Symbol&#xff09;的创建2. 符号的特性3. 符号的作用3.1 属性名的唯一性3.2 防止属性被意外访问或修改3.3 使用内置的符号3.4 符号与属性遍历 4. 总结 ⭐ 写在最后…

vue3 + element-plus 表格行内编辑,如何实现表单校验?

问题描述&#xff1a; 当使用table实现行内编辑时&#xff0c;往往需要对必填项增加校验以及错误高度&#xff0c; 预期实现效果如下&#xff1a; 实现思路&#xff1a; 使用el-form表单自身的校验功能&#xff1a;通过el-from绑定对应表格行的prop&#xff0c; 实现校验 页面…

代码随想录-暑假算法第一天(数组篇)

代码随想录-暑假算法第一天(数组篇) 1. 二分查找 力扣题目链接(opens new window) 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否…

AIGC爬虫类代码示例:Scrapy和OpenAI API实现抓取内容并生成内容

对于我从事爬虫行业多年的经验来说&#xff0c;编程各种需求代码真是非常吃力且细致的活&#xff0c;随着AI的大火&#xff0c;我在设想有没有可能通过AI自动化程序实现自动抓取生成想要的文本内容。前提我是打算通过结合爬虫技术&#xff08;如Scrapy&#xff09;和生成式AI模…

【Django项目】基于Python+Django+MySQL的音乐网站系统项目

功能介绍 首页&#xff1a;歌曲分类、歌曲搜索、热门歌曲、热门下载、新歌推荐 歌曲排行&#xff1a;歌曲分类、分页功能 用户板块&#xff1a;用户登陆/注册、播放历史 歌曲详情&#xff1a;歌曲播放、当前播放列表、歌曲点评、歌曲播放插件、下载歌曲 系统后台&#xff1a;歌…

Spring——自动装配Bean

自动装配是Spring满足bean依赖的一种方式 Spring会在上下文中自动寻找&#xff0c;并自动给bean装配属性 在Spring中有三种装配的方式&#xff1a; 1. 在xml中显示配置 2. 在java中显示配置 3. 隐式的自动装配bean【重要】 测试 记得创建Cat、Dog、People类 public clas…

手撸俄罗斯方块(三)——游戏核心模块设计

手撸俄罗斯方块——游戏核心模块设计 开始游戏 按照之前的设计&#xff0c;我们需要游戏的必要元素之后即可开始游戏&#xff0c;下面以控制台上运行俄罗斯方块为例进行展开讲解。 import { ConsoleCanvas, ConsoleController, ConsoleColorTheme, Color } from shushanfx/t…

18.按键消抖模块设计(使用状态机,独热码编码)

&#xff08;1&#xff09;设计意义&#xff1a;按键消抖主要针对的时机械弹性开关&#xff0c;当机械触点断开、闭合时&#xff0c;由于机械触点的弹性作用&#xff0c;一个按键开关在闭合时不会马上稳定地接通&#xff0c;在断开时也不会一下子就断开。因而在闭合以及断开的瞬…

Linux rpm和ssh损坏修复

背景介绍 我遇到的问题可能和你的不一样。但是如果遇到错误一样也可以按此方案尝试修复。 我是想在Linux上安装Oracle&#xff0c;因为必须在离线环境下安装。就在网上搜一篇文章linux离线安装oracle&#xff0c;然后安装教程走&#xff0c;进行到安装oracle依赖包的时候执行了…

React:useState和useEffect

最近因为想要开发一个简单的应用才开始接触React。但是并没有系统学习React&#xff0c;所以这篇博客可能会写的不够专业。 1. Hooks 在程序设计语言中&#xff0c;钩子(hook)是一种机制&#xff0c;它可以允许程序在某些预定的事件或位置执行特定的代码。在React中&#xff0c…

Web 性能入门指南-1.2 分析在线零售 Web 性能及优化方向

让顾客满意是零售业成功的秘诀。事实证明&#xff0c;提供快速、一致的在线体验可以显著提高零售商关心的每项指标——从转化率和收入到留存率和品牌认知度。 本文大纲&#xff1a; 页面速度影响在线零售业务数据 如何将您的网站速度与竞争对手进行比较 性能优化入门&#xf…

超级好用的java http请求工具

kong-http 基于okhttp封装的轻量级http客户端 使用方式 Maven <dependency><groupId>io.github.kongweiguang</groupId><artifactId>kong-http</artifactId><version>0.1</version> </dependency>Gradle implementation …

独特功能的视频号矩阵系统源码,支持多短视频平台自动发布和定时发布

在短视频行业竞争日趋激烈的今天&#xff0c;一个高效的视频发布系统对于内容创作者和营销团队来说至关重要。视频号矩阵系统源码以其独特的功能&#xff0c;为多平台自动发布和定时发布提供了强大的技术支持。 多平台自动化发布&#xff1a;无缝内容分发 视频号矩阵系统源码…

掌握MOJO命令行:参数解析的艺术

在软件开发中&#xff0c;命令行接口&#xff08;CLI&#xff09;是一种与程序交互的强大方式&#xff0c;它允许用户通过终端输入指令和参数来控制程序的行为。对于MOJO语言&#xff0c;即使它是一个假想的编程语言&#xff0c;我们也可以设想它具备解析命令行参数的能力。本文…