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

echarts地图添加涟漪波纹点位

 1.完整代码

chartsOption: {
                tooltip: {
                    trigger: "item",
                    formatter: this.initTooltip,
                    triggerOn: "mousemove",
                    borderColor: "#fff",
                    backgroundColor: "rgba(216, 227, 244, 1)",
                    extraCssText: "border-radius: 14px;", // 设置圆角
                },
                //用于涟漪波纹点位
                geo: {
                    map: "china",
                    // 最好这两个都关掉 否则拖拽和缩放会改变地图三点位置
                    // show: true,
                    // roam: true,
                    zoom: 1.2,
                    scaleLimit: {
                        min: 1,
                    },
                    label: {
                        emphasis: {
                            show: false,
                        },
                    },
                    // 地图的背景色
                    itemStyle: {
                        normal: {
                            areaColor: "rgba(255,255,255,1)",
                            shadowColor: "rgba(1,1,1,1)",
                            borderColor: "#fff",
                            borderWidth: 1,
                            shadowColor: "rgba(255, 255, 255, 1)",
                            shadowBlur: 10,
                            shadowOffsetY: 10
                        },
                    },
                    projection: {
                        project: (point) => [
                            (point[0] / 180) * Math.PI,
                            -Math.log(Math.tan((Math.PI / 2 + (point[1] / 180) * Math.PI) / 2)),
                        ],
                        unproject: (point) => [(point[0] * 180) / Math.PI, ((2 * 180) / Math.PI) * Math.atan(Math.exp(point[1])) - 90],
                    }
                },
                series: [
                    {
                        name: "战区数据",
                        type: "map",
                        map: "china",
                        roam: false,
                        zoom: 1.2,
                        selectedMode: "multiple", // 启用多选
                        scaleLimit: {
                            min: 1,
                        },
                        emphasis: {
                            itemStyle: {
                                areaColor: "rgba(23, 189, 236, 1)", // 高亮状态下的颜色与正常状态相同
                                borderColor: "#fff",
                                borderWidth: 2,
                                shadowBlur: 10, // 阴影模糊效果
                                shadowColor: "rgba(0, 0, 0, 0.5)", // 阴影颜色
                                shadowOffsetX: 0, // 阴影水平偏移
                                shadowOffsetY: 5, // 阴影垂直偏移(实现“变高”效果)
                            },
                            label: {
                                show: false,
                            },
                        },
                        itemStyle: {
                            borderColor: "#fff",
                            borderWidth: 2,
                        },
                        select: {
                            itemStyle: {
                                areaColor: "rgba(23, 189, 236, 1)", // 选中时的颜色
                                borderColor: "#fff",
                                borderWidth: 2,
                                shadowBlur: 10, // 阴影模糊效果
                                shadowColor: "rgba(0, 0, 0, 0.5)", // 阴影颜色
                                shadowOffsetX: 0, // 阴影水平偏移
                                shadowOffsetY: 5, // 阴影垂直偏移(实现“变高”效果)
                            },
                            label: {
                                // show: false,
                            },
                        },
                        projection: {
                            project: (point) => [
                                (point[0] / 180) * Math.PI,
                                -Math.log(Math.tan((Math.PI / 2 + (point[1] / 180) * Math.PI) / 2)),
                            ],
                            unproject: (point) => [(point[0] * 180) / Math.PI, ((2 * 180) / Math.PI) * Math.atan(Math.exp(point[1])) - 90],
                        },
                    },
                    //涟漪波纹点位配置
                    {
                        type: "effectScatter", 
                        coordinateSystem: "geo", //使用地理坐标系 geo
                        //要有对应的经纬度才显示,先经度再维度
                        data: [
                            { name: "西北战区", value: [85.40327,44.120598] },
                            { name: '西南战区', value: [87.059027,32.823035] },
                            { name: '华南战区', value: [108.15847,24.541824] },
                            { name: '华东战区', value: [116.032513,28.837198] },
                            { name: '上海都市圈战区', value: [119.955595,31.865488] },
                            { name: '东北战区', value: [128.119537,46.086026] },
                            { name: '华北战区', value: [108.76558,41.144579] },
                            { name: '华中战区', value: [111.635559,31.459131] },
                            { name: '北京首都圈战区', value: [116.400459,39.902134] },
                        ],
                        showEffectOn: "render", //绘制完成后显示特效
                        rippleEffect: {
                            scale: 5, // 波纹的最大缩放比例
                            brushType: "stroke", // 波纹的绘制方式 stroke fill
                        },
                        hoverAnimation: true,
                        label: {
                            //图形上的文本标签
                            show: true,
                            formatter: "{b}",
                            position: "right",
                            fontWeight: 500,
                            fontSize: 10,
                        },
                        //默认样式
                        itemStyle: {
                            color: "#CC17FA",
                            shadowBlur: 10,
                            shadowColor: "#333",
                        },
                        //鼠标移入时样式
                        emphasis: {
                            show: false,
                            // 每个区域的颜色
                            // 鼠标滑过颜色
                            areaColor: "#97EFF4",
                            // 鼠标滑过边框颜色
                            shadowColor: "#05EFF7",
                            // XY轴的偏移量
                            shadowOffsetX: 5,
                            shadowOffsetY: 5,
                        },
                        zlevel: 1,
                        select: {
                            itemStyle: {
                                color: "#FFF",
                            },
                        },
                    },
                ],
            },

2.效果

相关文章:

  • PostgreSQL技术大讲堂 - 第86讲:数据安全之--data_checksums天使与魔鬼
  • 多模态学习分析(MLA)驱动高中差异化教学策略研究
  • 单卡4090微调大模型 DeepSeek-R1-32B
  • 人工智能时代教育主体性的哲学反思与技术治理
  • 【PostGresql】-----PG按本月、本年数据统计并且行数据转列字段数据查询
  • Kubernetes-如何进入某POD中
  • (六)深入了解AVFoundation-播放:AirPlay、画中画后台播放
  • SQLyog 小记
  • 2021第十二届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
  • 从零构建一个全栈AI应用:Next.js + FastAPI + OpenAI API
  • AbortController:让异步操作随时说停就停
  • Linux:37信号lesson26(未完)
  • 模板引擎语法-标签
  • 【C#】线程回调
  • 组件化可编辑表格
  • Oracle for Linux安装和配置(11)——Linux命令
  • 《车辆人机工程-汽车驾驶操纵实验》
  • 嵌入式 C语言 二进制宏
  • SQL JOIN 全解析:跨表查询与实体关系建模
  • Qt实现读取本地文件并导出数据到Excel
  • 一级a做爰片免费网站在线/今日头条新闻手机版
  • 网站建设?首选百川互动/百度seo是什么
  • 金融建设网站/营业推广促销
  • 东莞建设公司网站/免费外网加速器
  • 用dw如何做网站链接/新冠疫情最新情况最新消息
  • wordpress 信息查询插件/seo短视频网页入口引流网站