当前位置: 首页 > news >正文

[echarts]基础地图

实现基础地图,可以拖拽。

import React, { useEffect, useRef } from 'react';
import * as echarts from 'echarts';import geoJson from './china.json';   //从网上down一下china.jsonconst Map = ({ mapDetails = [] }) => {  //mapDetails中有具体要点亮的地区信息,地名要跟china.json中对上const chartRef = useRef(null);useEffect(() => {if (chartRef.current) {echarts.registerMap('china', geoJson);const chartMap = echarts.init(chartRef.current);const option = {//这里如果注释的话就不会展示tooltip// tooltip: {//     trigger: 'item',//     alwaysShowContent: true,//     show: true,// },roam: true,geo: {map: 'china',zoom: 1.8,center: [115.97, 29.71],  //地图的中心坐标scaleLimit: {min: 1,max: 3},itemStyle: {borderColor: "rgba(147, 235, 248, 1)",areaColor: {type: "radial",x: 0.5,y: 0.5,r: 0.9,colorStops: [{offset: 0,color: "rgba(17, 217, 245, 0.3)",},{offset: 1,color: "rgba(10, 209, 231, 0.02)",},],globalCoord: false,},borderWidth: 1,},emphasis: {  //鼠标到一个地区上面的样式展示label: {show: true,color: "#ffffff",},itemStyle: {areaColor: "#026aa9",borderColor: "#fff",borderWidth: 2,},},regions: mapDetails.map(item => {return {name: item.province,itemStyle: {areaColor: '#2FBCEB',},}}),//本来想做一个鼠标到地区上面之后展示tooltip的样式,领导说要一直展示,但是tooltip每次只能展示一个,所以改用了labeltooltip: {  show: false,trigger: 'item',alwaysShowContent: true,formatter: function (params) {const currentCity = mapDetails.find(item => item.province == params.name)if (!!currentCity) {return `${currentCity.province}: 在线${currentCity.online}台, 离线${currentCity.offline}`;}},backgroundColor: '#13ADF2',textStyle: {color: '#fff',fontSize: '0.8rem',}},label: {show: true,color: '#fff',fontSize: '0.8rem',formatter: function (params) {const currentCity = mapDetails.find(item => item.province == params.name)if (!!currentCity) {return `${currentCity.province}:在线${currentCity.online}台,离线${currentCity.offline}`;} else {return ''}},offset: [110,0],textStyle: {color: '#fff',fontSize: '0.8rem',}}}};chartMap.setOption(option);const handleResize = () => {chartMap.resize();};window.addEventListener('resize', handleResize);return () => {window.removeEventListener('resize', handleResize);chartMap.dispose();};}}, [mapDetails]);return (<><div className={styles['card-content']}><div style={{ width: '100%', height: '100%' }} ref={chartRef}></div></div></>)}export default Map;
http://www.dtcms.com/a/309629.html

相关文章:

  • 北极圈金融科技革命:奥斯陆证券交易所的绿色跃迁之路 ——从Visma千倍增长到碳信用衍生品,解码挪威资本市场的技术重构
  • 数据结构(11)栈和队列算法题 OVA
  • 基于OpenCV的cv2.solvePnP方法实现头部姿态估计
  • AJAX快速入门 - 四个核心步骤
  • DB-GPT 0.7.3 版本更新:支持Qwen3 Embedding和Reranker模型、支持知识库自定义检索策略等
  • 从Web2.0到Web3.0:社交参与方式的重塑与延伸
  • 优化算法专栏——阅读导引
  • springboot助农平台
  • 【PHP 类常量详解:从入门到精通】
  • RK3588实现wlan直连
  • Qt 开发 IDE 插件开发指南
  • 如何在UEFI SHELL下查看UEFI Driver
  • 洛谷P4479第K大斜率
  • OSPF笔记整理
  • Transformer架构全解析:搭建AI的“神经网络大厦“
  • 开箱即用的Next.js SSR企业级开发模板
  • 【性能测试】混合业务场景TPS+内存溢出定位分析+调优和分析(详情)
  • 猫眼浏览器:简约安全的 Chrome 内核增强版浏览器
  • 【JVM篇13】:兼顾吞吐量和低停顿的G1垃圾回收器
  • UniappDay06
  • wsl /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.28‘ not found
  • 【Spring 】Spring Cloud Gateway 直连 Istio 服务网格深度集成方案
  • 使用uniapp开发小程序-【引入字体并全局使用】
  • 软件测试测评公司关于HTTP安全头配置与测试?
  • 07 连锁不平衡和群体结构分析原理
  • 理想I8对撞乘龙卡车,AI基于数学和物理的角度如何看?
  • 应急响应(windows工具版)
  • echarts一个图例控制多个图表
  • Git 进阶使用
  • ansible 在EE 容器镜像中运行