Echarts 地图(map)插件之 鼠标HOVER和tooltip自定义数据
在项目开发中,有需要用到地图的地方,百度的echarts地图插件就是个不错的选择,
这里总结一下地图自定义鼠标HOVER时的事件和自定义tooltip数据;
一、鼠标HOVER时的事件:
参照官方文档解释,

可以看出这款插件有丰富的鼠标事件可供选择:
调用鼠标HOVER事件的方法很简单,只需把以下代码放到charts()调用的函数的最底部即可
var ecConfig = require('echarts/config');
myChart.on(ecConfig.EVENT.HOVER, function (param){
var selected = param.name;
//write your code here
//console.log(selected);打印参数
//hoverin();调用自定义函数
//document.getElementById('wrong-message').innerHTML = str;
});
二、tooltip的数据自定义;
这块研究了一段时间,都是浅浅的研究,
tooltip就是鼠标放在地图上显示的提示,如图红框里的就是tooltip的内容;

这里总结的主要是这块数据的自定义;
官方文档介绍说需要修改formatter;
option = {
tooltip : {
trigger: 'item',
formatter: '{b}'
}
},
文档中说明:formatter支持函数自定义数据及模板

那么,我们可以把上面的代码改造一下:
首先自定义一些数据:(例子)这里是图片的url
var $imgs = [
{area: '北京', url:'http://www.blingschool.com/template/33/pc/images//logo2.png'},
{area: '天津', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '上海', url:'http://www.blingschool.com/template/33/pc/images//logo2.png'},
{area: '重庆', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '河北', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '河南', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '云南', url:'http://www.blingschool.com/template/33/pc/images//logo2.png'},
{area: '辽宁', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '黑龙江', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '湖南', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '安徽', url:'http://www.blingschool.com/template/33/pc/images//logo2.png'},
{area: '山东', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '新疆', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '江苏', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '浙江', url:'http://www.blingschool.com/template/33/pc/images//logo2.png'},
{area: '江西', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '湖北', url:'http://www.blingschool.com/template/33/pc/images//logo2.png'},
{area: '广西', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '甘肃', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '山西', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '内蒙古', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '陕西', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '吉林', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '福建', url:'http://www.blingschool.com/template/33/pc/images//logo2.png'},
{area: '贵州', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '广东', url:'http://www.blingschool.com/template/33/pc/images//logo2.png'},
{area: '青海', url:'http://www.blingschool.com/template/33/pc/images//logo2.png'},
{area: '西藏', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '四川', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '宁夏', url:'http://www.blingschool.com/template/33/pc/images//logo2.png'},
{area: '海南', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '台湾', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '香港', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'},
{area: '澳门', url:'http://www.blingschool.com/template/33/pc/images//logo3.png'}
];
当鼠标HOVER的时候,去判断取哪些值来显示;
tooltip : {
trigger: 'item',
formatter: function (params,ticket,callback){
var $pna = params.name;
var res = '';
for(var i = 0;i<$imgs.length;i++){
if($imgs[i].area == $pna){
res = '<img src="'+ $imgs[i].url +'" />';//设置自定义数据的模板,这里的模板是图片
//console.log(res);
break;
}
}
setTimeout(function (){
// 仅为了模拟异步回调
callback(ticket, res);//回调函数,这里可以做异步请求加载的一些代码
}, 1000)
return 'loading';
}
}
最终完成的效果如图

Echarts 地图(map)插件之 鼠标HOVER和tooltip自定义数据的更多相关文章
- Echarts 地图(map)插件之 鼠标HOVER和tooltip自定义提示框
[自行修改 "引号"] 一.鼠标HOVER时的事件: 参照官方文档解释, 可以看出这款插件有丰富的鼠标事件可供选择: 调用鼠标HOVER事件的方法很简单,只需把以下代码放到char ...
- echarts地图map城市间如何连线
let bjData = [ [{name:'北京'}, {name:'上海',value:95}], [{name:'北京'}, {name:'广州',value:90}]]; let conver ...
- echarts地图边界数据的实时获取与应用,省市区县多级联动【附最新geoJson文件下载】
首先,来看下效果图 在线体验地址:https://hxkj.vip/demo/echartsMap/,并提供实时geoJson数据文件下载 echarts官方社区链接地址(可在线编辑):https:/ ...
- 解决:Map的area属性标签鼠标Hover可以给area加背景
css的area标签是不支持hover的,只有a标签才支持.li标签在IE浏览器下才支持,所以采用jquery的mouseenter和mouseleave事件完成.首先讲jQuery对应的事件:1.m ...
- ECharts地图详解 【转】
$(function() { // 路径配置 require.config({ paths : { // echarts: 'http://echarts.baidu.com/build/dist' ...
- echarts地图详解
$(function() { // 路径配置 require.config({ paths : { // echarts: 'http://echarts.baidu.com/build/dist' ...
- echarts地图定时切换散点及多图表级联联动
本文目录 1. 摘要 2.引入ECharts以及地图相关json 3. 界面布局 4. js实现图形布局 5.定时循环jquery实现 6. 总结 1. 摘要 最近做项目遇到个统计相关需求,一个页面 ...
- 如何在鼠标hover时改变标注的样式
如何在鼠标hover时改变标注的样式? ---------------- 教程 ----------------------- 首先创建1张地图 //初始化地图对象,加载地图 var map ...
- ECharts(中国地图)的使用 及 非空 tooltip formatter 验证
中国地图使用频率很高下载文件: echarts.min.js网址: http://echarts.baidu.com/download.html点击: ...
随机推荐
- MyBatis_传入参数的问题
一.单个参数 1.基本数据类型 (1)直接使用 List<ChargeRuleDO> tests(long id); <select id="tests" res ...
- 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> ...
- shell脚本中8种字符串截取方法_转自脚本之家
转自:http://www.jb51.net/article/56563.htm 参考:http://blog.csdn.net/taiyang1987912/article/details/3955 ...
- 一个手动备份MySQL数据库的脚本
#!/bin/bash username=root hostname=localhost password=root mysql -u$username -h$hostname -p$password ...
- DELL inspiron1420 linux下的wifi驱动安装
首先确定无线网卡类型: lspci -vnn -d 14e4: 比如我的网卡类型为 04:00.0 Network controller [0280]:Broadcom Corporation BCM ...
- poj3708(公式化简+大数进制装换+线性同余方程组)
刚看到这个题目,有点被吓到,毕竟自己这么弱. 分析了很久,然后发现m,k都可以唯一的用d进制表示.也就是用一个ai,和很多个bi唯一构成. 这点就是解题的关键了. 之后可以发现每次调用函数f(x),相 ...
- Netty实现java多线程Post请求解析(Map参数类型)—SKY
netty解析Post的键值对 解析时必须加上一个方法,ch.pipeline().addLast(new HttpObjectAggregator(2048)); 放在自己的Handel前面. ht ...
- iOS 导航引发坐标高度问题
iOS7 后导航结构发生变化,有新的控制属性诞生,一下为两个属性引发的控制器视图高度问题 translucent = YES 导航透明 (默认) translucent = NO 导航 ...
- how to add them, how to multiply them
http://www.physics.miami.edu/~nearing/mathmethods/operators.pdf
- 20179209《Linux内核原理与分析》安全类实验答疑
实验一 题目 Nmap 配合 Metasploit 进行端口扫描 问题 Nmap怎么配合Metasploit进行端口扫描? 回答 这里的Nmap配合Metasploit进行端口扫描是指在Metaspl ...