echart地图

1、先下载需要用到的地图json文件,推荐下载网站https://datav.aliyun.com/portal/school/atlas/area_selector,如果需要自定义地图的可以去http://geojson.io/自定义。官网也有dome可以参考https://www.makeapie.com/editor.html?c=xHyqn_rQ6g。

2、在项目引入echarts和地图json文件

import * as echarts from 'echarts'
import china from '../assets/china.json'

3、向echarts导入地图文件

//第一个参数是命名,用于设置option.series里面的map属性
echarts.registerMap('china', china);

4、获取并init虚拟dom,设置option数据,放入series里的data,然后setOption就行了

复制代码
            let myChart = echarts.init(this.$refs.map);
            let option = {
                visualMap: {
                    show:false,
                    left: 'right',
                    min: 500000,
                    max: 38000000,
                    inRange: {
                        color: ['#E3F1FC','#B4E3FA','#62C5F6','#2998E8' ]
                    },
                    text: ['High', 'Low'],
                    calculable: true
                },
                series: [
                    {
                        name: 'china',
                        type: 'map',
                        roam: true,
                        map: 'china',//这里是你导入echarts的json文件
                        layoutCenter: ['50%', '70%'],
                        layoutSize: '100%',
                        label: {//地图默认的文本属性
                            show: false,
                            color: '#2998E8',
                        },
                        select: {//选中的区域文本属性
                            label: {
                                color: "#2998E8"
                            },
                            itemStyle: {
                                color: "#3066ba"
                            }
                        },
                        emphasis: {//高亮的区域文本属性
                            itemStyle: {
                                areaColor: '#3066ba',
                            },
                            label: {
                                show: true,
                                textStyle: {
                                    color: '#2998E8'
                                }
                            }
                        },

                        zoom: 1.2,
                        textFixed: {
                            Alaska: [20, -20]
                        },
                        data: china.features.map(e => {
                            let num = Math.round(Math.random() * Math.random() * 100000000)
                            return { "name": e.properties.name, "value": num }
                        })
                    }
                ]
            }
            myChart.setOption(option);
复制代码

 

5、效果图

posted @   Pavetr  阅读(2792)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示