2

我在创建 GeoChart 时遇到问题。我的代码如下所示:

var table = new google.visualization.DataTable();

//set the columns for the table
table.addColumn('string', 'Latitude');
table.addColumn('string', 'Longitude');
table.addColumn({
    type: 'string',
    role: 'tooltip'
});
table.addColumn('number', 'Music Consumers');

var rows = [
    ["42.651445", "-73.755254", "Albany-Schenectady-Troy NY", 100],
    ["35.2225", "-80.837539", "Charlotte NC", 106],
    ...
];

table.addRows(rows);

上面的代码产生一个红色的错误框,图表应该是这样的:

Incompatible data table: Error: Table contains more columns than expected (Expecting 3 columns)

我已经验证行列表中的所有列表确实有 4 个成员(lat、long、desc、value)。知道为什么它说它只需要 3 列吗?

4

1 回答 1

0

所以我已经确定了这个问题,我最初发布的代码有几个问题。首先, lat / long 应该是数字列类型,并且行需要将 lat 和 long 格式化为数字(parseFloat 适用于此)。

正确的代码如下所示:

//set the columns for the table
table.addColumn('number', 'LATITUDE', 'Latitude');
table.addColumn('number', 'LONGITUDE', 'Longitude');
table.addColumn('string', 'DESCRIPTION', 'Description');
table.addColumn('number', 'VALUE', 'Music Consumers');

var rows = [
    [42.651445, -73.755254, "Albany-Schenectady-Troy NY", 100],
    [35.2225, -80.837539, "Charlotte NC", 106],
    ...
];

table.addRows(rows);

var geochart = new google.visualization.GeoChart($mapContainer[0]);
geochart.draw(...);
于 2012-07-05T23:27:55.513 回答