未捕获错误:google表列的类型无效

Uncaught error: Invalid type for google table column

本文关键字:类型 无效 google 错误      更新时间:2023-09-26

我最近开始使用谷歌可视化,因为它很简单。但是,在我最近的项目中执行时,我似乎遇到了一些麻烦。显示的程序用于从JSON对象中提取数据,并利用它在google表中显示数据。现在,为了保持简单性,我只在json对象中提供了一个条目。现在来谈谈问题第一张表曾经运行良好一段时间,最近完全停止出现。。这两个表似乎都没有出现或显示。我在控制台中得到的错误如下-

未捕获错误:列"sitecode"的类型String无效。在文件中—http://www.google.com/uds/api/visualization/1.0/abbdd6ab2d343a51d49841bf93d022fb/format+en,default+en,ui+en,table+en.I.js

另一方面,第二个表没有抛出错误,也没有显示。此外,我正在制作表格,以便只有网站代码的三个最新日期才会显示在表格中。但我想我可能做错了什么。因为它从一开始就不起作用。现在我似乎搞不懂了。有人能给我指右边吗方向谢谢

代码-

 google.load('visualization', '1', {'packages':['table']});
    var SiteData = SiteInfo();
    var map;
    function initialize() 
    {  
  map = new google.maps.Map(document.getElementById('map_canvas'), {
    center: new google.maps.LatLng(55.7200,12.5700),
    zoom: 2,
    mapTypeControl: false,
    streetViewControl: false,
    mapTypeId: google.maps.MapTypeId.ROADMAP
      });
  for(m=0;m<SiteData.length;m++)
  {
    var image;
    if(SiteData[m].Connection=="Sitetype1")
    {
      image = "http://labs.google.com/ridefinder/images/mm_20_white.png";  
    }
    else if(SiteData[m].Connection=="sitetype2")
    {
      image = "http://labs.google.com/ridefinder/images/mm_20_black.png";
    }
    else
    {
        image = "http://labs.google.com/ridefinder/images/mm_20_purple.png";
    }
    setmarkers(map,SiteData[m].Latitude,SiteData[m].Longitude,image)
  }
}
function setmarkers(map,lat,lon,image)
{
    var latlon = new google.maps.LatLng(lat,lon);
    var marker = new google.maps.Marker({map:map,position:latlon,icon:image});
}
function Changesite(sc)
{   
    var mpls = Outage();
    for(var i=0,numSite = SiteData.length;i<numSite;i++)
    {
        if(SiteData[i].Sitecode==sc)
        {
            var data = new google.visualization.DataTable();
            data.addColumn('String', 'sitecode');
            data.addColumn('String', SiteData[i].Sitecode);
            data.addRows([
              ['Connection', SiteData[i].Connection],
              ['Bandwidth', SiteData[i].Bandwidth],
              ['Address', SiteData[i].Address],
              ['Country', SiteData[i].Country],
                 ]);
            var chart = new google.visualization.Table
(document.getElementById('chart'));
            var options = {
                    'title': SiteData[i].Sitecode+ ' ',
                             };
            chart.draw(data, options);
      }
    }
    var data1 = new google.visualization.DataTable();
    data1.addColumn('String','Country');
    data1.addColumn('String','Sitecode');
    data1.addColumn('String','Outages');
    data1.addColumn('Date','Date');
    var c=0,k=0;
    mpls.sort(function(a,b){
    var c = new Date(a.date);
    var d = new Date(b.date);
    return c-d;
      });
    while(k!=3&&c<mpls.length)
    {
        if(mpls[c].SITECODE==sc)
        {
            data1.addRows(1);
            data1.setCell(k,0,mpls[i].COUNTRY);
            data1.setCell(k,1,mpls[i].SITECODE);
            data1.setCell(k,2,mpls[i].MPLSOutages);
            data1.setCell(k,3,mpls[i].DATE);
            k++;
         }
         c++;
    }
    var table1 = new google.visualization.Table(document.getElementById
('visualization'));
    table1.draw(data1);
}
function SiteInfo()
{
    var Siteinfo = 
[{"Connection":"Direct","Sitecode":"site1","Address":"Usa","Bandwidth":"6 
Mbps","Country":"USA","Latency":"44 ms","Latitude":44,"Longitude":34,"Item 
Type":"Item"}];
return Siteinfo();
}
function Outage()
{
    var Outage_Data= [{"COUNTRY":"USA ","SITECODE":"site1","Outage 
":"Issue1","DATE ":"4/1/2015"}];
    return Outage_Data;
}

您应该更改行

data.addColumn('String', 'sitecode');

data.addColumn('string', 'sitecode');

("string"中的非大写"s"),当然这适用于所有添加的列。

Javascript区分大小写。

我无意中更改了费用行数据的格式。尽管我输入了数字,但我还是将其格式化为文本。图表不会读取文本,除非它们被用作标签。突出显示不起作用的行,并将其格式化为数字或自动!数据现在"有效",可以在图表中使用。

相关文章: