// 参数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) + ’ 个’
}
},
},
series: [
// 系列列表。每个系列通过 type 决定自己的图表类型
{
type: ‘map’, // 系列列表。每个系列通过 type 决定自己的图表类型
map: ‘china’, // 地图。china 为中国全国地图+右下角南海诸岛,china1 为中国全国地图
name: ‘业务数据’, // 系列名称,用于tooltip的显示,legend 的图例筛选,在 setOption 更新数据和配置项时用于指定对应的系列
aspectScale: 0.75, // 用于 scale 地图的长宽比
zoom: 1.2, // 地图缩放多少倍
roam: true, // 允许缩放和平移
mapType: ‘自定义地图’,
selectedMode: ‘single’, // 点击区域,会处于选中状态,single单选
showLegendSymbol: false, // 在图例相应区域显示图例的颜色标识(系列标识的小圆点),存在 legend 组件时生效
// center: [100.97, 35.71], // 初始化时的地图位置,可通过改变地图中心视角的经纬度来实现地图的平移
itemStyle: {
// 地图区域的多边形图形样式
normal: {
// 正常时的样式
color: ‘#ccc’, // 图形的颜色
borderColor: ‘#303133’, // 图形的描边颜色
areaColor: ‘#d4f7fc’, // 地图区域颜色
borderWidth: 0.5, // 描边线宽。为 0 时无描边
label: {
// 设置地图区域名的文本样式,例如地名的字体大小等
show: true, // 显示地区的文本名称,默认是不显示的,默认状态是hoverORclick才显示
fontSize: 12,
textStyle: {
color: ‘#606266’,
},
},
},
emphasis: {
// 选中后的样式
数据结构与算法
这一块在笔试、面试的代码题中考核较多,其中常考的数据结构主要有:数组、链表、队列、栈、Set、Map、哈希表等,不同数据结构有不同的方法以及储存原理,这些算是技术岗的必备知识。算法部分主要分为两大块,排序算法与一些其他算法题。
排序算法根据考频高低主要有:快速排序、归并排序、堆排序、冒泡排序、插入排序、选择排序、希尔排序、桶排序、基数排序、Timsort这十种,这类考核点要么是算法的时间、空间复杂度、稳定度,要么是直接手写代码,故在理解算法原理的同时,对JS语言版的排序算法代码也要加强记忆。
- 二叉树层序遍历
- B 树的特性,B 树和 B+树的区别
- 尾递归
- 如何写一个大数阶乘?递归的方法会出现什么问题?
- 把多维数组变成一维数组的方法
- 知道的排序算法 说一下冒泡快排的原理
- Heap 排序方法的原理?复杂度?
- 几种常见的排序算法,手写
- 数组的去重,尽可能写出多个方法
- 如果有一个大的数组,都是整型,怎么找出最大的前 10 个数
- 知道数据结构里面的常见的数据结构
- 找出数组中第 k 大的数组出现多少次,比如数组【1,2, 4,4,3,5】第二大的数字是 4,出现两次,所以返回 2
- 合并两个有序数组
- 给一个数,去一个已经排好序的数组中寻找这个数的位 置(通过快速查找,二分查找)
个大数阶乘?递归的方法会出现什么问题?
- 把多维数组变成一维数组的方法
- 知道的排序算法 说一下冒泡快排的原理
- Heap 排序方法的原理?复杂度?
- 几种常见的排序算法,手写
- 数组的去重,尽可能写出多个方法
- 如果有一个大的数组,都是整型,怎么找出最大的前 10 个数
- 知道数据结构里面的常见的数据结构
- 找出数组中第 k 大的数组出现多少次,比如数组【1,2, 4,4,3,5】第二大的数字是 4,出现两次,所以返回 2
- 合并两个有序数组
- 给一个数,去一个已经排好序的数组中寻找这个数的位 置(通过快速查找,二分查找)
[外链图片转存中…(img-5wOJztQk-1718022719556)]