2014-10-29 7 views
0

Я пытаюсь создать диаграмму Google. Он возвращает «Невозможно прочитать свойство« toLowerCase »неопределенного» в области диаграммы, но без ошибок в консоли.Google Chart: «Невозможно прочитать свойство« toLowerCase »неопределенного»

function drawChart(chart_data, chartType, chartOptions){ 

      console.log(chartOptions); 

      var data = new google.visualization.DataTable(chart_data); 

      var chart = new google.visualization.ChartWrapper({ 

       chartType: chartType, 
       dataTable: data, 
       options: chartOptions, 
       containerId: 'chart' 

      }); 

      chart.draw(); 
     } 

Результаты этого console.log является строка, которая выглядит следующим образом:

{"title":"test","vAxis":{"minValue":"0"},"hAxis":{"showTextEvery":"1"},"chartArea":{"width":"70%","height":"90%"},"pointSize":"7","height":"500","intervals":{"lineWidth":2,"barWidth":0.5,"color":"#000000"}} 

Если я использую (копипаст) результат console.log вместо использования chartOptions в options, отображается график в совершенстве.

Что мне здесь не хватает?

+1

Является ли 'chartOptions' строкой? Если это так, вам может потребоваться выполнить команду chartOptions = JSON.parse (chartOptions); 'перед тем, как использовать ее для диаграммы. – dave

ответ

1

Единственное объяснение, о котором я могу думать (учитывая, что копирование в нем работает отлично), заключается в том, что в одном экземпляре вы отправляете строку, а когда вы копируете ее обратно, у вас есть объект.

enter image description here

Так что, если вы посмотрите на лог консоли, он должен выглядеть как первый на картинке выше. Если это похоже на второе, вам нужно сделать

chartOptions = JSON.parse(chartOptions); 

var chart = new google.visualization.ChartWrapper({ 
       chartType: chartType, 
       dataTable: data, 
       options: chartOptions, 
       containerId: 'chart' 
      }); 
Смежные вопросы