Javascript 谷歌图表:无法读取属性';日期字段';未定义的

Javascript 谷歌图表:无法读取属性';日期字段';未定义的,javascript,google-visualization,Javascript,Google Visualization,我还没有看到其他人在谷歌可视化上有同样的错误,所以我想我应该在这里发布 错误发生在chart.draw()上 这是图表的代码 if (google) { google.load('visualization', '1', { packages: ['corechart', 'controls', 'timeline'], cal

我还没有看到其他人在谷歌可视化上有同样的错误,所以我想我应该在这里发布

错误发生在chart.draw()上

这是图表的代码

                 if (google) {
                    google.load('visualization', '1', {
                        packages: ['corechart', 'controls', 'timeline'],
                        callback: function () {
                            var container = document.getElementById('timeline');
                            var chart = new google.visualization.Timeline(element[0]);
                            var dataTable = new google.visualization.DataTable();

                            dataTable.addColumn({ type: 'string', id: 'StatusMessage' });
                            dataTable.addColumn({ type: 'date', id: 'Start' });
                            dataTable.addColumn({ type: 'date', id: 'End' });

                            var rowsToAdd = [];
                            var colors = [];
                            for (var i = 0; i < statuses.length; i++) {
                                var elem = [];
                                elem.push(statuses[i].Message);
                                elem.push(new Date(statuses[i].StartDateUtc.substring(0, 10)));
                                elem.push(new Date(statuses[i].EndDateUtc.substring(0, 10)));
                                rowsToAdd.push(elem);
                                var intColor = statuses[i].StatusColor;
                                if (intColor == 0) {
                                    colors.push('#FF0000');
                                } else if (intColor == 1) {
                                    colors.push('#FFFF00');
                                } else if (intColor == 2) {
                                    colors.push('#00CC00');
                                } else {
                                    colors.push('#0000FF');
                                }
                            }

                            dataTable.addRows(rowsToAdd);
                            var heightToDraw = colors.length * 60;

                            chart.draw(dataTable, {
                                  colors: colors,
                                  height: heightToDraw
                            });
                        }
                    })
                }
if(谷歌){
load('visualization','1','{
包:['corechart','controls','timeline'],
回调:函数(){
var container=document.getElementById('timeline');
var chart=新的google.visualization.Timeline(元素[0]);
var dataTable=new google.visualization.dataTable();
addColumn({type:'string',id:'StatusMessage'});
addColumn({type:'date',id:'Start'});
addColumn({type:'date',id:'End'});
var rowsToAdd=[];
var颜色=[];
对于(变量i=0;i

我真的很好奇为什么会出现这个问题,然后我可能会继续解决它。奇怪的是,我改变了数据输入的方式(即使数据完全相同),然后出现了这个问题。可能是解析问题吧?

我也有类似的问题。据报道,在某些情况下,google visualization与bootstrap的关系似乎存在问题(我不确定这是否适用于你,但我相当肯定这就是我所遇到的情况)

我的图表放置在一个div中,如:

<div id="timeline-div" class="col-sm-12 well"></div>

但是,当我从div中删除类时,例如:

<div id="timeline-div"></div>

然后图表显示得很好。将其中一个类或两个类一起添加会导致错误再次出现。我目前正在寻找一种让bootstrap合作的方法

编辑:所以我试着把我的类放在一个div上来包装chart div,这似乎效果很好:

<div class="col-sm-12">
    <div id="timeline-div">
        {{google visualization will put the chart here}}
    </div>
</div>

{{谷歌可视化将把图表放在这里}

如果其中一个日期对象的日期无效,我们就会遇到这个问题-日期构造函数没有引发异常,因此这不是很明显。