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

vue3+echarts+DataV实现省市县地图

地图json数据从这里下面
DataV.GeoAtlas地理小工具系列

1.效果图

2.html

<div class="map">
                <div style="width: 750px;height: 584px;" id="myMap"></div>
              </div>

3.javaScript

<script setup lang="ts">
import * as echarts from 'echarts';
import huanggang from '@/assets/map/json/huanggang.json';
let mapOption = {
		geo: {
			// 地图类型,指定使用的地图
			map: "huanggang",
			// roam: true,
			zoom: 1.21, //地图放大
			// 地图区域标签的样式配置
			label: {
				// 通常状态下的样式
				// show: true, // 显示标签
				color: "#ffffff", // 标签文本颜色为白色
			},

			// 地图区域的样式设置
			itemStyle: {
				// 区域边界的颜色和宽度
				borderColor: "rgba(147, 235, 248)",
				borderWidth: 1,

				// 区域颜色设置为径向渐变
				areaColor: {
					type: "radial", // 渐变类型为径向渐变
					x: 0.5, // 渐变的 x 坐标(相对于区域)
					y: 0.5, // 渐变的 y 坐标(相对于区域)
					r: 0.8, // 渐变的半径
					colorStops: [{
							offset: 0,
							color: "rgba(64, 143, 240)", // 0% 位置的颜色(透明)
						},
						{
							offset: 1,
							color: "rgba(94, 168, 248)", // 100% 位置的颜色
						},
					],
					globalCoord: false, // 是否使用全局坐标系统(默认 false)
				},

				// 阴影设置
				shadowColor: "rgba(128, 217, 248, 1)", // 阴影颜色
				shadowOffsetX: -2, // 阴影在 x 轴的偏移
				shadowOffsetY: 2, // 阴影在 y 轴的偏移
				shadowBlur: 10, // 阴影模糊半径
			},

            emphasis: {
                
                itemStyle: {
                    areaColor: '',
                    color:'#fff'
                },
                label: {
        show: true,
        color: 'white'
    }
            }
		},
	};
const initChartMap = () => {
		let that = this
		// 基于准备好的dom,初始化echarts实例
		let myMapChart = echarts.init(document.getElementById('myMap'))
		echarts.registerMap('huanggang', huanggang as any)
		myMapChart.setOption(mapOption);
		getMapData({ cityId: 16031 }).then((res: any) => {
			const option = {
				series: [{
					type: "effectScatter",
					name: "散点",
					coordinateSystem: "geo",
					data: res.data,
					effectType: 'ripple',
					rippleEffect: { //设置涟漪特效 
						period: 0, //设置动画的时间,数字越小,动画越快 
						scale: 4, //设置动画中波纹的最大缩放比例 
						brushType: 'stroke', //设置波纹的绘制方式,可选'stroke'和'fill' 
					},
					itemStyle: {
						color: '#e1d02b', 
						shadowBlur: 10, // 设置散点的阴影模糊大小
						shadowColor: '#e1d02b', // 设置散点阴影的颜色为深灰色
					},
                    symbol: 'image://' + icon1,
                    emphasis: {
                    scale: true, // 鼠标悬停时缩放图片
                    symbol: 'image://' + icon2, // 悬停时替换的图片
                    symbolSize: 10 // 悬停时的图片大小
                },
					symbolSize: 25, // 设置所有散点的大小为 10
                    label: {
                        show: false, // 默认不显示标签
                    },
                    hoverAnimation: true,
				}],
                // 为散点添加tooltip的显示内容,这里假设数据中的name属性为要显示的名称
                tooltip: {
                    show: true, // 始终启用 Tooltip,但无内容时不显示
                trigger: "item",
                position:'top',

                formatter: function (params:any) {
                    // 显示散点的名称作为提示信息
                    if (params.seriesType == "effectScatter" && params.data) {
                        return `${params.name}`;
                    }else{
                        return "";
                    }
                    
                },
                backgroundColor: "rgba(50, 50, 50, 0.8)", // Tooltip 背景色
				borderWidth: 0,
                textStyle: {
                    color: "#fff", // Tooltip 文本颜色
                },
            },
			};
			// 地图注册,第一个参数的名字必须和option.geo.map一致
			myMapChart.setOption(option);
		})
	}
</script>


http://www.kler.cn/a/511477.html

相关文章:

  • Ubuntu 24.04 LTS 安装 tailscale 并访问 SMB共享文件夹
  • WPF 实现可视化操作数据库的程序全解析
  • Wi-Fi 7、Wi-Fi 6 与 5G、4G 的全方位对比
  • ARM学习(42)CortexM3/M4 MPU配置
  • AUTOSAR从入门到精通-自动驾驶测试技术
  • 【Android】蓝牙电话HFP连接源码分析
  • 使用插件时的注意事项
  • 【Bluedroid】HFP连接流程源码分析(四)
  • Java中json的一点理解
  • 数据库管理语句分类
  • YOLOv10-1.1部分代码阅读笔记-utils.py
  • 青少年编程与数学 02-007 PostgreSQL数据库应用 06课题、数据库操作
  • GPT Notes 3.2.1.2 | 最强GPT解锁会员版无需登录无限制使用
  • 某讯一面,感觉问Redis的难度不是很大
  • Harmony面试模版
  • AI 大爆发时代,音视频未来路在何方?
  • MySQL字符串函数详解
  • 【自动驾驶BEV感知之Transformer】
  • 使用 Box2D 库开发愤怒的小鸟游戏
  • 如何控制爬虫的速度来避免被屏蔽
  • Spring 框架中的数据转换和格式化:使用 Converter 和 Formatter 进行数据处理
  • Redis实战-初识Redis
  • AF3 PairStack类源码解读
  • 【深度学习】L1损失、L2损失、L1正则化、L2正则化
  • opencv_KDTree_搜索介绍及示例
  • docker访问权限问题