在ECharts地图中映射数据时已经按照标准的格式设置了ECharts的数据data为后台获取的数据,为何在tooltip的formatter中获取到的参数param一直为undefined。是格式有问题吗
// 鼠标悬浮、单击产生的效果
tooltip : {
show : true,
trigger : "item",
triggerOn : "mousemove|click",
formatter: function(params) {
if (params['data']!=null){ //相应国家的赛事数据不为空
var medal="";
//按照指定格式输出奖牌信息
medal+='<strong>'+params['data'].countryname+'</strong><br/>金牌榜第'+params['data'].level+'名<br/>金牌:'+params['data'].gold+'<img src="image/goldlogo.png" style="width:20px; vertical-align: middle;float:right;">';
medal+='<br/>银牌:'+params['data'].silver+'<img src="image/silverlogo.png" style="width:20px; vertical-align: middle;float:right"><br/>';
medal+='铜牌:'+params['data'].bronze+'<img src="image/bronzelogo.png" style="width:20px; vertical-align: middle;float:right;">';
return medal;
}
},
},
应该是地图的中英文键值的问题,地图中对应的键———国家名称为英文,而后台传送的国家名称为中文,这样就导致了数据映射不成功,所以参数param一直为undefined。需要将data中国家名称的值改为英文的,这样才能正确映射数据到地图中。