我需要添加一个“不可见”列,该列将在select。
上触发类似的东西:
var data = new google.visualization.DataTable();
data.addColumn('number', 'Lat'); // Latitude Value
data.addColumn('number', 'Lon'); // Longitude Value
data.addColumn('string', 'Name'); //
data.addColumn('number', 'Consumer Price Index (CPI)', 'Value'); //
data.addColumn('string', 'Invisible'); //
后来:
google.visualization.events.addListener(geomap, 'select', function() {
var selection = geomap.getSelection()[0];
window.location = selection[4];
});
我在加载地图时收到错误消息:
Incompatible data table: Error: Table contains more columns than expected (Expecting 4 columns)
所以看起来DataTable不接受我的Invisible列。
知道如何解决这个问题吗?
答案 0 :(得分:0)
虽然我还没有找到问题的答案,但我发现了一种不使用DataView的解决方法(数据转换可能会很慢)因此,它可能要快得多。
我创建了另一个包含其他数据(变量hrefs
)的数组,其顺序与主DataTable相同,我在事件中使用它:
google.visualization.events.addListener(chart, 'select', function() {
var selection = chart.getSelection();
var row = selection[0].row;
window.location = hrefs[row];
});
至少在Chrome中有效; - )