You should not quote the date constructor.By doing this, it is assumed to be a string, and not a date, and so you get the exception in the charts.
The reason that it is working in the table, is that it refers to the formatted values, and they are always strings, so the real value is never read. Regards, VizGuy On Tue, Jun 9, 2009 at 7:57 PM, Jose Luis Canciani <[email protected]>wrote: > > Hello. Sorry if this is duplicated, I could not find a similar issue > in the posts. > > I'm trying to create an Annotated Timeline using a JSON and Google > Query and I've found out that if you send the date (or datetime) types > in your JSON using double quotes it will fail with "Error: v[vb] is > not a function" > > "v": new Date(2009,8,9) <--- this is OK > vs > "v": "new Date(2009,8,9)" <--- this will FAIL > > The Table chart works fine with both kinds of syntax. I think the > proper one is using the double quotes (at least is what I've seen in > online validators). Is this a bug? Is this the expected behaviour? > > Thanks, > Jose. > > PS here's an index.html and datasource.json to test it. > > index.html > ================================================== > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/ > TR/html4/strict.dtd"> > <html> > <head> > <script type='text/javascript' src='http://www.google.com/jsapi'></ > script> > <script type='text/javascript'> > google.load('visualization', '1', {'packages': > ['table','annotatedtimeline']}); > google.setOnLoadCallback(drawChart); > function drawChart() { > query = new google.visualization.Query('datasources.json'); > query.send( function(response) { > if (response.isError()) { > alert('Error found: ' + > response.getMessage() + ' -> ' + > response.getDetailedMessage()); > } else { > var datatable = response.getDataTable(); > var table = new > google.visualization.Table(document.getElementById > ('table_div')); > table.draw(datatable); > var chart = new > google.visualization.AnnotatedTimeLine > (document.getElementById('chart_div')); > chart.draw(datatable, > {displayAnnotations: true}); > > } > }); > } > </script> > </head> > <body> > <div id='table_div' style='width: 700px; height: 240px;'></div> > <div id='chart_div' style='width: 700px; height: 240px;'></ > div> > </body> > </html> > ================================================== > > > > datasources.json Just add or remove quotes on the json to see the > error, this will fail since the first datetime value is using the > double quotes. > ================================================== > google.visualization.Query.setResponse( > { > "version":"0.6", > "reqId":"0", > "status":"ok", > "requestID":"0", > "table":{ > "cols":[ > > {"id":"Datetime","label":"DateTime","type":"datetime"}, > > {"id":"Application","label":"Application","type":"number"} > ], > "rows":[ > {"c":[ > {"v":"new > Date(2009,06,09,11,14,10)","f":"2009-06-09 11:14:10"}, > {"v":0} > ] > }, > {"c":[ > {"v":new > Date(2009,06,09,11,15,11),"f":"2009-06-09 11:15:11"}, > {"v":0} > ] > } > ] > } > } > ) > ================================================== > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
