Google JSAPI:为Marker Geocharts添加不可见数据

时间:2014-05-29 11:53:44

标签: google-api google-visualization

我需要添加一个“不可见”列,该列将在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列。

知道如何解决这个问题吗?

1 个答案:

答案 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中有效; - )