Vue中使用echarts@4

若要引地图 json 数据,建议下载 echarts@4.9.0 ,这是 echarts 取消内置前的最新版本地图 json 数据,之前的版本地图数据比如 3.x,2.x 或多或少在地图边界和岛屿精度部分有所不准,亲测~

1. 通过 npm 方式下载 echarts

$ npm i echarts@4.9.0

2. 引入 echarts

import echarts from ‘echarts’

3. 相关 api 说明

1. echarts.registerMap

echarts 方法:在 echarts 5.0 及之后版本取消了registerMap 此方法,所以最新 echarts(v5.2.2)版本引用会报错,所以这里我使用 v4.9.0 来注册地图。

// registerMap 接收两个参数

// 第一个是地图名称,china 为显示右下角南海诸岛,china1 则不显示右下角南海诸岛

// 第二个参数是绘制地图所需的json数据,在这里我下载了两个版本的json数据放在本地引用来使用,见下文

echarts.registerMap(‘china’, chinaJson)

2. echarts.init

echarts 方法:创建一个 ECharts 实例,返回 echartsInstance,不能在单个容器上初始化多个 ECharts 实例

// 创建实例,接收三个参数

// 参数dom:实例容器,一般是一个具有高宽的div元素

// 参数theme:可选,应用的主题。可以是一个主题的配置对象

// 参数opts:可选,附加参数

this.myChart = echarts.init(dom, theme, opts)

3. echartsInstance.on

实例方法:绑定事件处理函数(对应 off:解绑事件处理函数)

// 创建实例,接收三个参数

// 参数eventName:事件名称,全小写,例如’click’,‘mousemove’, ‘legendselected’

// 参数query:可选,过滤条件,能够只在指定的组件或者元素上进行响应。可为 string 或者 Object

// 参数handler:事件处理函数

this.myChart.on(eventName, query, handler)

4. echartsInstance.setOption

实例方法:设置图表实例的配置项以及数据,万能接口,所有参数和数据的修改都可以通过 setOption 完成,ECharts 会合并新的参数和数据,然后刷新图表。

配置项部分用法见下文五、echarts 部分配置项。官方配置项手册

// 参数 option:配置项

this.myChart.setOption(option)

四、AMap 相关 api 使用说明


1. 引入 AMap

2. AMap.DistrictSearch(opt)

插件,行政区查询服务,提供行政区相关信息。官方文档

/**

参数opts:对象,实例时的配置

opts:{

level: String, 关键字对应的行政区级别或商圈,可选值

showbiz: Boolean, 是否显示商圈,默认值true

extensions: String,是否返回行政区边界坐标点。默认值:base,不返回行政区边界坐标点,取值:all,返回完整行政区边界坐标点

subdistrict:Number,默认1,显示下级行政区级数(行政区级别包括:国家、省/直辖市、市、区/县4个级别),商圈为区/县下一级。0不返回下一级区划,1返回下一级区划,2…,3…。

}

**/

const districtSearch = new AMap.DistrictSearch(opts)

// 根据关键字查询行政区或商圈信息 关键字支持:行政区名、citycode、adcode、商圈名,默认值:“全国”

districtSearch.search(obj.data.name, (status, result) => {

console.log(‘加载区划信息’, status, result)

})

3. DistrictExplorer

加载绘制地图所需的 geo 格式的 json 数据。(行政区划浏览) 提供了全国范围内到区县一级的行政区划数据(含边界),同时提供一些辅助功能,比如区划面绘制、事件监听,以及快速判断经纬度所属的子级区划等。官方文档

// 使用

AMapUI.loadUI([‘geo/DistrictExplorer’], (DistrictExplorer) => {

let districtExplorer = new DistrictExplorer({

eventSupport: true, // 打开事件支持

map: null, // 地图对象实例。仅仅获取数据,不涉及地图相关的操作时,可以不设置

})

districtExplorer.loadAreaNode(obj.data.cityCode, (error, areaNode) => {

if (error) return

const mapJson = {}

// 返回该区域中全部的子级区划Feature数组

mapJson.features = areaNode.getSubFeatures() || []

console.log(‘绘制地图所需的json数据’, mapJson)

})

})

五、echarts 部分配置项


const option = {

visualMap: {

// 视觉映射组件配置

type: ‘continuous’, // 定义为连续型 visualMap

show: true,

bottom: ‘5%’,

left: ‘2%’,

text: [‘高’, ‘低’], // 两端的文本

min: 0, // 指定 visualMapContinuous 组件的允许的最小值

max: 100, // 指定 visualMapContinuous 组件的允许的最大值

inRange: {

// 定义 在选中范围中 的视觉元素

color: [‘#fff’, ‘#A0CFFF’, ‘#409EFF’], // 图元的颜色

},

calculable: true, // 是否显示拖拽用的手柄(手柄能拖拽调整选中范围)

},

tooltip: {

// 提示框组件

trigger: ‘item’,

formatter: function (item) {

if (item.name == ‘南海诸岛’) {

return ‘’

} else {

return item.name + ‘
业务数据:’ + (item.value || 0) + ’ 个’

css

1,盒模型
2,如何实现一个最大的正方形
3,一行水平居中,多行居左
4,水平垂直居中
5,两栏布局,左边固定,右边自适应,左右不重叠
6,如何实现左右等高布局
7,画三角形
8,link @import导入css
9,BFC理解

js

1,判断 js 类型的方式
2,ES5 和 ES6 分别几种方式声明变量
3,闭包的概念?优缺点?
4,浅拷贝和深拷贝
5,数组去重的方法
6,DOM 事件有哪些阶段?谈谈对事件代理的理解
7,js 执行机制、事件循环
8,介绍下 promise.all
9,async 和 await,
10,ES6 的 class 和构造函数的区别
11,transform、translate、transition 分别是什么属性?CSS 中常用的实现动画方式,
12,介绍一下rAF(requestAnimationFrame)
13,javascript 的垃圾回收机制讲一下,
14,对前端性能优化有什么了解?一般都通过那几个方面去优化的?

3,闭包的概念?优缺点?
4,浅拷贝和深拷贝
5,数组去重的方法
6,DOM 事件有哪些阶段?谈谈对事件代理的理解
7,js 执行机制、事件循环
8,介绍下 promise.all
9,async 和 await,
10,ES6 的 class 和构造函数的区别
11,transform、translate、transition 分别是什么属性?CSS 中常用的实现动画方式,
12,介绍一下rAF(requestAnimationFrame)
13,javascript 的垃圾回收机制讲一下,
14,对前端性能优化有什么了解?一般都通过那几个方面去优化的?

[外链图片转存中…(img-fQPpvWCN-1714363792222)]

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值