Uncaught error: Invalid type for google table column
Uncaught error: Invalid type for google table column
我最近开始使用 google 可视化,因为它很简单。但是在我最近的项目中实施时,我似乎 运行 遇到了一些麻烦。
显示的程序用于从 JSON 对象中提取数据,并利用它在 google table 中显示数据。现在可以看到,我在 json 对象中只提供了一个条目以保持简单性。
现在问题来了 第一个 table 曾经可以正常工作一段时间,最近完全停止出现。
. table 似乎都没有出现或显示。我在控制台中得到的错误如下 -
未捕获错误:列 "sitecode" 的字符串类型无效。在文件中 - http://www.google.com/uds/api/visualization/1.0/abbdd6ab2d343a51d49841bf93d022fb/format+en,default+en,ui+en,table+en.I.js
另一方面,第二个 table 不会抛出错误,也不会显示。此外,我正在制作 table,这样只有站点代码的三个最近日期才会显示在 table 中。但我想我可能在那里做错了什么。因为它从一开始就没用过。
现在我似乎无法理解这一点。有人可以正确地指出我吗
方向。
谢谢。
代码-
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');
(非大写 "s" in "string"),当然这适用于您添加的所有列。
Javascript区分大小写。
我无意中更改了费用数据行的格式。即使我输入了数字,我也将其格式化为文本。除非用作标签,否则图表不会读取文本。突出显示无效的行并将格式设置为数字或自动!数据现在“有效”,可以在图表中使用。
我最近开始使用 google 可视化,因为它很简单。但是在我最近的项目中实施时,我似乎 运行 遇到了一些麻烦。 显示的程序用于从 JSON 对象中提取数据,并利用它在 google table 中显示数据。现在可以看到,我在 json 对象中只提供了一个条目以保持简单性。 现在问题来了 第一个 table 曾经可以正常工作一段时间,最近完全停止出现。 . table 似乎都没有出现或显示。我在控制台中得到的错误如下 -
未捕获错误:列 "sitecode" 的字符串类型无效。在文件中 - http://www.google.com/uds/api/visualization/1.0/abbdd6ab2d343a51d49841bf93d022fb/format+en,default+en,ui+en,table+en.I.js
另一方面,第二个 table 不会抛出错误,也不会显示。此外,我正在制作 table,这样只有站点代码的三个最近日期才会显示在 table 中。但我想我可能在那里做错了什么。因为它从一开始就没用过。 现在我似乎无法理解这一点。有人可以正确地指出我吗 方向。 谢谢。
代码-
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');
(非大写 "s" in "string"),当然这适用于您添加的所有列。
Javascript区分大小写。
我无意中更改了费用数据行的格式。即使我输入了数字,我也将其格式化为文本。除非用作标签,否则图表不会读取文本。突出显示无效的行并将格式设置为数字或自动!数据现在“有效”,可以在图表中使用。