EChart地图二级钻取的时候数据是可以正常显示的,但是一直在报这个错误-->echarts.js:3 Uncaught TypeError: Cannot read property 'triggeat c.trigger (VM1014at VM10虽然这个错误对功能没有影响,但还是想把它解决了。请大家帮帮,谢谢
下面附上地图部分的代码
// 使用地图
function showMap(json,identifier,topName) {
var cityMap = {
"哈尔滨市" : "230100",
"齐齐哈尔市" : "230200",
"鸡西市" : "230300",
"鹤岗市" : "230400",
"双鸭山市" : "230500",
"大庆市" : "230600",
"伊春市" : "230700",
"佳木斯市" : "230800",
"七台河市" : "230900",
"牡丹江市" : "231000",
"黑河市" : "231100",
"绥化市" : "231200",
"大兴安岭地区" : "232700"
};
// 路径配置
require.config({
paths : {
echarts : '${ctx}/resources/echarts-2.2.7/build/dist'
}
});
// 使用
require(
[ 'echarts', 'echarts/chart/map'], // 使用地图就加载map模块
function(ec) {
// 基于准备好的dom,初始化echarts图表
myChart = ec.init(document.getElementById('leftDiv'));
var mapGeoData = require('echarts/util/mapData/params');
for ( var city in cityMap) {
// 自定义扩展图表类型
mapGeoData.params[city] = {
getGeoJson : (function(c) {
var geoJsonName = cityMap[c];
return function(callback) {
$.getJSON(
'${ctx}/resources/echarts-2.2.7/geoJson/china-main-city/'+ geoJsonName + '.json',
callback);
}
})(city)
}
}
var series = [];
var name = $("#areaCode").val();
var mapType = $("#areaCode").val();
var item = {
name : name,
type : 'map',
mapType : mapType,
selectedMode : 'single',
itemStyle : {
normal : {
borderWidth : 1,
borderColor : '#999999',
label : {
show : true
}
},
emphasis : {
label : {
show : true
}
}
},
data : convertArrayMap(json)
};
series.push(item);
var ecConfig = require('echarts/config');
//绑定鼠标选中事件
myChart.on(
ecConfig.EVENT.MAP_SELECTED,
function(param) {
$("#retreat").text("返回");
$("#retreat").css("background-color","#3288DF");
if($("#areaName").val() == '黑龙江'){
$("#areaCode").val(param.target);
if(param.target == "大兴安岭地区"){
$("#areaName").val(param.target.replace("地区",""));
}else{
$("#areaName").val(param.target.replace("市",""));
}
//二级钻取
showMapAndBar(identifier,topName);
}else{
$("#areaCode").val(param.target);
$("#areaName").val(param.target);
}
});
var option = {
backgroundColor : "#FFFFFF",
tooltip:{
show:true,
trigger: 'item'
},
/* title : {
text : name
}, */
dataRange : {
x : '88%',
y : 'top',
splitList: [
{
start: judgeIsEmpty(json[0].basic),
label: '告警'
},
{
start: judgeIsEmpty(json[0].challenge),
end: json[0].basic,
label: '预警'
},
{
start: judgeIsEmpty(json[0].min),
label: '正常'
}
],
color : ['#F80203','#FDF406','#4097E6']
},
series : series
};
// 为echarts对象加载数据
myChart.setOption(option)
});
}
//判断dataRange中的数据是否为空
function judgeIsEmpty(obj){
if(obj == null || obj == ''){
return 0 ;
}else{
return obj;
}
}
//将json转换成Map
function convertArrayMap(json){
var res = [];
var len = json[0].result.length;
if(len != 0){
for(var i=0;i<len;i++){
if('黑龙江' == $("#areaName").val()){
//黑龙江下面的地市展示
if('大兴安岭' == json[0].result[i].key){
res.push({
"name" : json[0].result[i].key+'地区',
"value" : json[0].result[i].value,
});
}else{
res.push({
"name" : json[0].result[i].key+'市',
"value" : json[0].result[i].value,
});
}
}else{
//地市下面的区县展示
res.push({
"name" : json[0].result[i].key,
"value" : json[0].result[i].value,
});
}
}
}
return res;
}