When using dashboards, you wrap the actual charts (the map, the table) in google.visualization.ChartWrapper instances. Therefore, the code to get the current selection becomes:
map1.getChart().setSelection(table1.getChart().getSelection()); (notice the 'getChart' calls that resolve the chartwrapper into the underlying wrapped chart, which contains the actual selection information). This should get rid of the errors you are seeing. Let me know if selection propagation still doesn't work after the change and I'll investigate further. -- R. On 21 September 2011 02:54, Onno Benschop <[email protected]> wrote: > Additional information, an error occurs if I click on the table or the > map: > > table1.getSelection is not a function, and similarly, > map1.getSelection is not a function. > > Am I missing something obvious? > > > On Sep 21, 9:47 am, Onno Benschop <[email protected]> wrote: > > I am using a visualisation.Dashboard to combine some controls, a map, > > a table and a chart. > > > > When the visualisation is drawn, the table reflects the markers > > visible on the map as expected. > > > > I want the ability for the user to click on a marker and have the > > appropriate row highlighted and vice-versa. > > > > The working example code without using a dashboard looks like this: > > > > google.visualization.events.addListener(table, 'select', function() > > { map.setSelection(table.getSelection()); }); > > google.visualization.events.addListener(map, 'select', function() > > { table.setSelection(map.getSelection()); }); > > > > If I use this in my dashboard, nothing happens. > > > > I've tried adding the table and the map to the global scope, like the > > visualisation variable, but that made no difference. > > > > Within my draw handler the code snippet looks like this: > > > > new > > google.visualization.Dashboard(document.getElementById('dashboard')). > > bind(CyPicker, [TmPicker, NrPicker, TrPicker]). > > bind(TmPicker, [map1, table1, chart1]). > > draw(data); > > > > google.visualization.events.addListener(table1, 'select', function() > > { map1.setSelection(table1.getSelection()); }); > > google.visualization.events.addListener(map1, 'select', function() > > { table1.setSelection(map1.getSelection()); }); > > > > How do I attach a 'select' listener to a table and a map within a > > dashboard? > > > > What am I missing? > > -- > You received this message because you are subscribed to the Google Groups > "Google Visualization API" group. > To post to this group, send email to > [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/google-visualization-api?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Google Visualization API" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-visualization-api?hl=en.
