Echarts 地图点击板块高亮,再次点击还是高亮,在地图外点击返回,则不高亮。

news2024/11/24 6:45:37

 

 

需求就是:点击广东省板块,广东省高亮,再次点击广东省还是高亮,如果再点击内蒙古,则内蒙古高亮,广东不高亮。 点击返回全国,则都不高亮。

1、返回全国

//返回全国

    backQG(){

      this.clickCity = '全国'

      this.$nextTick(()=>{

        this.mapEachrts.clear()  //echarts重置   很重要

        this.setInit()

      })

    },

2、地图鼠标移入和点击事件 

this.mapdata    地图数据

this.clickCity   当前点击的省份

setInit(){

//移动到地图无强显效果  

      this.mapEachrts.on('mouseover', (param) => {

        if (this.clickCity == '全国') {

         //设置全部省不高亮

          this.mapEachrts.dispatchAction({

            type: 'downplay',

            seriesIndex: 0,

          })

        }

        if (param.name != this.clickCity) {

         //设置某个省不高亮     dataIndex     下标

          this.mapEachrts.dispatchAction({

            type: 'downplay',

            seriesIndex: 0,

            dataIndex: param.dataIndex

          })

        }

      })

      // 单击进入省级  

      this.mapEachrts.on('click', (param) => {

        console.log(param)

        if (param.seriesType == 'map' && !['香港', '澳门', '南海诸岛','台湾'].includes(param.name)) {

          if(param.name != this.clickCity){

            //如果惦记的省份和当前高亮的省份不一样,则找到地图数据highlight=true,即当前高亮省份的下标,设置不高亮。然后再遍历地图数据找到点击省份,设置highlight=true,再设置高亮此省份。

            this.clickCity = param.name

            let index = this.mapdata.findIndex(item=>item.highlight)

            if(index > -1){

              this.mapdata[index].highlight = false

              this.mapEachrts.dispatchAction({

                type: 'downplay',

                seriesIndex: 0,

                dataIndex: index

              })

            }

            this.mapdata.forEach(item => {

              if (item.name == param.name) {

                item.highlight = true

              }

            })

            this.mapEachrts.dispatchAction({

              type: 'highlight',

              seriesIndex: 0,

              dataIndex: param.dataIndex

            })

            this.setInit()

          }

        }

      })

}

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

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

相关文章

多租户分缓存处理

多租户redis缓存分租户处理 那么数据库方面已经做到了拦截,但是缓存还是没有分租户,还是通通一个文件夹里, 想实现上图效果,global文件夹里存的是公共缓存。 首先,那么就要规定一个俗称,缓存名字带有globa…

安全学习DAY08_算法加密

算法加密 漏洞分析、漏洞勘测、漏洞探针、挖漏洞时要用到的技术知识 存储密码加密-应用对象传输加密编码-发送回显数据传输格式-统一格式代码特性混淆-开发语言 传输数据 – 加密型&编码型 安全测试时,通常会进行数据的修改增加提交测试 数据在传输的时候进行…

Kotlin基础(八):泛型

前言 本文主要讲解kotlin泛型,主要包括泛型基础,类型变异,类型投射,星号投射,泛型函数,泛型约束,泛型在Android中的使用。 Kotlin文章列表 Kotlin文章列表: 点击此处跳转查看 目录 1.1 泛型基…

protobuf入门实践1

protobuf入门实践1 下载和安装 protobuf:https://github.com/google/protobuf 解压压缩包:unzip protobuf-master.zip 2、进入解压后的文件夹:cd protobuf-master 3、安装所需工具:sudo apt-get install autoconf automake libt…

企业计算机服务器数据库中了360后缀勒索病毒怎么解决,数据恢复

近日,一家中型企业的服务器数据库遭到了一起严重的网络安全事件,导致企业的运营暂时陷入混乱。据了解,该企业的技术人员在服务器数据库中发现了一种名为“360后缀”勒索病毒,该勒索病毒通过对企业重要文件进行加密,数据…

node.js 爬虫图片下载

主程序文件 app.js 运行主程序前需要先安装使用到的模块: npm install superagent --save axios要安装指定版,安装最新版会报错:npm install axios0.19.2 --save const {default: axios} require(axios); const fs require(fs); const superagent r…

[每日习题]位运算——二进制插入 求最大连续bit数——牛客习题

hello,大家好这里是bang___bang_,今天记录2道关于位运算的牛客习题,二进制插入和求最大连续bit数,题目简单不难。 目录 1️⃣二进制插入 2️⃣求最大连续bit数 1️⃣二进制插入 二进制插入__牛客网 (nowcoder.com) 描述: 给定…

umi 创建的项目中,如何配置多个环境变量

创建env.js 在config.js中配置 在页面中使用 env.js和config.js的目录顺序 package.json中的配置

CountDownLatch和CyclicBarrier学习

CountDownLatch和CyclicBarrier都有一个计数器 CountDownLatch countDownLatch new CountDownLatch(4); CyclicBarrier cyclicBarrier new CyclicBarrier(4) CountDownLatch 是在 countDownLatch.countDown()执行后 4-1 等到4减到0后,就可以继续执行程序&#x…

QT控件通过qss设置子控件的对齐方式、大小自适应等

一些复杂控件,是有子控件的,每个子控件,都可以通过qss的双冒号选择器来选中,进行独特的样式定义。很多控件都有子控件,太多了,后面单独写一篇文章来介绍各个控件的子控件。这里就随便来几个例子 例如下拉列…

【AI换脸】roop在Kaggle上的使用样例

【AI换脸】roop在Kaggle上的使用样例 roop-kaggle前言换脸效果样例 GIF项目描述 roop-kaggle 【AI换脸】roop在Kaggle上的使用样例只需一张脸的图片,即可完成视频内的换脸点我进入Kaggle Notebook样例 前言 因为roop项目的Python环境依赖等问题的处理对于部分朋友…

环境监测系统网关,让景区变成智能化

景区环境监测系统采用先进的物联网网关,实现对各监测单元数据的采集、存储、传输和管理,主要对景点的气象要素、空气质量、水文变化、地质信息、雷电危害等进行监测,是一个集气象预警、在线监控等多种功能于一体的现代化综合系统。 系统介绍…

基于vue+uniapp微信小程序公司企业后勤服务(设备)系统

本系统分为用户和管理员两个角色,其中用户可以注册登陆系统,查看公司公告,查看设备,设备入库,查看通讯录,会议室预约,申请出入,申请请假等功能。管理员可以对员工信息,会…

【Linux】Centos的一些快捷操作

Centos的一些快捷操作 一个窗口多个终端GVIM 一个窗口多个文件 一个窗口多个终端 GVIM 一个窗口多个文件

2023十大最牛编程语言排行榜以及各语言的优缺点

文章目录 ⭐️ 2023年7月十大编程语言排行榜⭐️ 十大值得学习编程语言概要🌟 Python🌟 C/C🌟 Java🌟 C#🌟 JavaScript🌟 Swift🌟 Ruby🌟 GO(Golang)&#x1…

FreeRTOS函数的命名规则

在学习FreeRTOS的时候,经常遇到函数名前有“x”或“v",实际上这代表了函数返回值的类型: (参考了FreeRTOS系统中函数名和变量名的含义_vportenablevfp_Tinus Chen的博客-CSDN博客)

Redis 命令介绍

文章目录 Redis字符串操作命令哈希操作命令列表操作命令set集合sorted set 有序集合通用命令 在Java中操作Redis🍐 ❤️ 🚩4.1 Redis的Java客户端 🍐4.2 Spring Data Redis使用方式 ✏️环境搭建步骤1). 导入Spring Data Redis的maven坐标2).…

xshell连接报错Socket error Event: 32 Error: 10053.

查看ssh服务端的日志 cat /var/log/auth.log |less 查看 ll /etc/ssh/ 发现以下文件的大小为0 /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_rsa_key解决方案 生成rsa_key # ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key生成ecdsa_key # ssh-keygen -t ecdsa -f /et…

Python 集合 remove()函数使用详解,删除集合中的元素,删除多个元素

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 remove函数使用详解 1、删除多个元素2、删除不存在的元素会报错3、删除的元素可以…

边缘计算对现代交通的重要作用

边缘计算之所以重要,是在于即使在5G真正商用之时,可以实现超大带宽(eMBB)的应用场景,但庞大数据量的涌现也就意味着需要在云和端传输过程中找到一个承接点,对数据进行预处理再选择是否上云。 边缘计算应用演…