Angular项目中使用echarts中国地图

Angular项目中使用echarts中国地图首先要在 Angular 项目中安装 echarts 的依赖 npminstallec echartssave 第二 在创建包含地图的 Angular 组件的时候引入 echarts 插件和包含的地图插件 并完成配置和初始化 主要有两种方式 第一种方式 通过 JSON 方式引入 步骤如下 1 引入 http

首先要在Angular项目中安装echarts的依赖:

npm install echarts --save npm install ngx-echarts --save 

第二、在创建包含地图的Angular组件的时候引入echarts插件和包含的地图插件,并完成配置和初始化。主要有两种方式:

     第一种方式,通过JSON方式引入,步骤如下:

   (1)引入httpClient和NgxEchartsService服务,并依赖注入对应组件。

import {HttpClient} from '@angular/common/http'; import {NgxEchartsService} from 'ngx-echarts'; constructor(private http: HttpClient, private nes: NgxEchartsService, private draw: DrawService ) { } 

另外记得在组件对应的模块配置文件中添加HttpClientModule和NgxEchartsModule模块;

(2)配置地图参数信息,具体配置信息可查询echarts官网配置项内容自行配置。该demo配置项对象代码如下:

setMapOption() { this.mapOption = { title : { text: '中移在线通信云项目实时监控', subtext: '', left: 'center', textStyle: { color: '#333', fontSize: '28', }, }, backgroundColor: '#96aec7', tooltip : { trigger: 'item', formatter: function (val) { return `项目进度:
${val.data.name}:${val.data.value}%
告警:${val.data.warn}
问题:${val.data.problem}`; } }, legend: { orient: 'vertical', left: 'left', data:[] }, visualMap: { min: 0, max: 100, left: 'left', top: 'bottom', text:['高','低'], // 文本,默认为数值文本 calculable : true, inRange: { color: ['#feffc7', '#02cb00'] } }, series : [ { name: '项目进度', type: 'map', mapType: 'china', roam: false, label: { normal: { show: true }, emphasis: { show: true } }, itemStyle: { color: 'red', areaColor: '#fff', }, emphasis: { itemStyle: { areaColor: '#f9ba09' } }, data:[ {name: '北京',value: Math.round(Math.random()*100),warn: 10,problem: 12}, {name: '天津',value: Math.round(Math.random()*100),warn: 10,problem: 12}, {name: '上海',value: Math.round(Math.random()*100),warn: 10,problem: 12}, {name: '重庆',value: Math.round(Math.random()*100),warn: 10,problem: 12}, {name: '河北',value: Math.round(Math.random()*100)}, {name: '河南',value: Math.round(Math.random()*100)}, {name: '云南',value: Math.round(Math.random()*100)}, {name: '辽宁',value: Math.round(Math.random()*100)}, {name: '黑龙江',value: Math.round(Math.random()*100)}, {name: '湖南',value: Math.round(Math.random()*100)}, {name: '安徽',value: Math.round(Math.random()*100)}, {name: '山东',value: Math.round(Math.random()*100)}, {name: '新疆',value: Math.round(Math.random()*100)}, {name: '江苏',value: Math.round(Math.random()*100)}, {name: '浙江',value: Math.round(Math.random()*100)}, {name: '江西',value: Math.round(Math.random()*100)}, {name: '湖北',value: Math.round(Math.random()*100)}, {name: '广西',value: Math.round(Math.random()*100)}, {name: '甘肃',value: Math.round(Math.random()*100)}, {name: '山西',value: Math.round(Math.random()*100)}, {name: '内蒙古',value: Math.round(Math.random()*100)}, {name: '陕西',value: Math.round(Math.random()*100)}, {name: '吉林',value: Math.round(Math.random()*100)}, {name: '福建',value: Math.round(Math.random()*100)}, {name: '贵州',value: Math.round(Math.random()*100)}, {name: '广东',value: Math.round(Math.random()*100)}, {name: '青海',value: Math.round(Math.random()*100)}, {name: '西藏',value: Math.round(Math.random()*100)}, {name: '四川',value: Math.round(Math.random()*100)}, {name: '宁夏',value: Math.round(Math.random()*100)}, {name: '海南',value: Math.round(Math.random()*100)}, // {name: '台湾',value: Math.round(Math.random()*100)}, {name: '香港',value: Math.round(Math.random()*100)}, {name: '澳门',value: Math.round(Math.random()*100)} ] } ] }; }







(3)使用http服务获取china.json,在对应的回调函数中初始化地图,代码如下:

@ViewChild('chartMap') chartMap: ElementRef; // 获取DOM节点的对象 initEcharts() { this.http.get('assets/json/china.json').subscribe(res => { const echart = this.echarts.init(this.chartMap.nativeElement); // 获取视图的echarts的DOM节点,并初始化对象 this.echarts.registerMap('china', res); // 注册china.json的数据到初始化的echarts对象 echart.setOption(this.mapOption); // 绑定地图的配置参数对象,参考第二步 echart.on('click', function(params) { // 绑定地图点击事件 // console.log(params); }.bind(this)); }); }

(4)在组件初始化方法中调用echarts初始化方法,这个地方有个设置地图dom固定宽高的方法,可根据页面宽度自适应地图的高度,如果不设置高度,echarts图表无法显示

ngOnInit() { this.setChartStyle(); // 设置地图固定宽高比的方法 this.setMapOption(); // 配置map地图参数信息方法 this.initEcharts(); // 初始化地图 } setChartStyle() { const width = this.chartMap.nativeElement.offsetWidth; this.chartMap.nativeElement.style.height = width * 0.4 + 'px'; }

第二种方式,通过china.js引入的方式,该方式可不引入NgxEchartsService,步骤跟第一种类似,如下:

(1)引入china.js和echarts组件,此处不需要注入其他服务,代码如下:

import 'echarts/map/js/china.js'; import * as echarts from 'echarts';

同样在组件对应的模块配置文件中添加HttpClientModule和NgxEchartsModule模块;

(2)配置地图信息同第一种方法。

(3)初始化地图方法,代码如下:

const echart = echarts.init(this.chartMap.nativeElement); // 获取视图的echarts的DOM节点,并初始化对象 echart.setOption(this.mapOption); // 绑定地图的配置参数对象 echart.on('click', function(params) { console.log(params); }.bind(this));

(4)在组件的初始化方法中初始化地图,代码同第一种方法(4)。

效果图如下所示:

Angular项目中使用echarts中国地图

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178457.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午5:15
下一篇 2026年3月26日 下午5:15


相关推荐

  • 时序数据的特点

    时序数据的特点1 时序数据的特点以及大数据背景下的可优化空间 大数据时代已经到来了很多年 大数据解决方案基本成熟 Hadoop 集群处理方案基本成为了一个处理大数据的最佳实践 他所处理的数据包含结构化 半结构化 非结构化的数据 通过 Sqoop Flume kafka 收集数据 通过 hbase hdfs 存储数据 通过 mapreduce sparkstreami 等计算数据 最后通过 hive 作为数据仓库为应用层提供需要的数据 这是一套通用的 综合的大数据解决方案 那如果把数据类型细分一下

    2026年3月17日
    2
  • windows上mysql安装教程_mysql和oracle的区别

    windows上mysql安装教程_mysql和oracle的区别前期在windows电脑尝试安装mysql,经历诸多不顺,特把安装详细步骤以及遇见的问题记录下来,提供给有需者使用。配置过程主要分为五个步骤,如下所示:(1)确认本地是否安装mysql(2)下载mysql安装包(3)添加配置文件并安装mysql(4)修改mysql密码(5)配置环境变量【确认本地是否安装mysql】(1)按【win+r】快捷键打开运行;(2)输入services.msc,点击【确定】;(3)在打开的服务列表中查找mysql服务,如果没有mysql服务,说明本机没有安装my

    2025年11月15日
    4
  • window系统 任务计划程序

    window系统 任务计划程序如何让系统定时启动某个任务 执行某个脚本 window 系统的任务计划程序功能就可以实现 操作步骤如下 1 打开程序 任务计划程序 在 window 系统搜索程序中搜索该程序即可 或者在控制面板中寻找 程序页面截图如下 2 在右侧 操作 菜单中选择 创建任务 3 在 常规 中 填写相应的名称 描述以及相对应的用户选择 如下截图 3 在 操作 页面中 新建一个操作 选择要定时执行的程序或者脚

    2026年3月19日
    1
  • 手机qq空间各种代码_QQ空间仅彼此可见

    手机qq空间各种代码_QQ空间仅彼此可见手表代码↓[em]e10026[/em]{uin:5720,nick:GoldVish,who:1}相机代码↓[em]e10022[/em]{uin:5720,nick:拍摄于07月22日,who:1}{uin:5720,nick:阿尔及利亚天气:阴,who:1}飞机代码↓[em]e10020[/em]{uin:5720,nick:乘坐于巴西天马航空JJ8280航班(A舱),who:1}认证代码↓[em]e10023[/em]{uin:5720,nick:文字已通过..

    2022年8月10日
    13
  • SSTAP 测试讨论

    SSTAP 测试讨论游戏

    2026年3月18日
    2
  • Pycharm专业版安装详细教程!

    Pycharm专业版安装详细教程!Pycharm 官网地址 下载 https link zhihu com target https 3A www jetbrains com pycharm download other html 有各种不同版本的 Pycharm 供下载 本文选择 Pycharm 专业版下载 建议下载 2020 1 5 版本 安装教程下载完成之后 就按照步骤开始安装了 点击 Next 我选择安装在 F 盘 因为 C 盘太占用空间了 会比较卡 点击 Next 一定要选着添加到环境变量中 不然后面还要手动配置环境变量 比较麻烦

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号