GannnkKi 2017-11-07 12:28 采纳率: 40%
浏览 1019

EChart地图二级钻取触发器trigger为空

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;
    }
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 树莓派与pix飞控通信
    • ¥15 自动转发微信群信息到另外一个微信群
    • ¥15 outlook无法配置成功
    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题