Советы по аннотированной временной шкале Google Charts не отображаются - PullRequest
1 голос
/ 04 января 2011

Я пытаюсь реализовать аннотированную временную диаграмму через Google Charts API. Я успешно справился с этим, используя вызов AJAX для загрузки данных из базы данных, однако я заметил, что хотя аннотации отображаются справа, они не будут отображаться над точками на графике (например, подсказками). Тем не менее, они отлично работали, в противном случае я мог бы нажать на них и даже правильно включить фильтр аннотаций.

Примерно через час, не увидев никаких ошибок, я решил вернуться к чертежной доске, взять точную копию кода примера диаграммы из API Google и протестировать ее. Оказывается, у меня та же проблема.

Ссылка на туториал здесь (обратите внимание, как А и В отображаются на самом графике), я также вставил код ниже.

Есть какие-то настройки, которые я пропускаю или что-то, что могло бы заблокировать это? Я тестировал в Chrome и Firefox и ни один не работал. Также это работает для меня на странице учебника, поэтому я в растерянности.

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Google Charts Example</title>

        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
        <script type="text/javascript" src="https://www.google.com/jsapi"></script>

        <script type='text/javascript'>
              google.load('visualization', '1', {'packages':['annotatedtimeline']});
              google.setOnLoadCallback(drawChart);


      function drawChart() {
        var data = new google.visualization.DataTable();

        data.addColumn('date', 'Date');
        data.addColumn('number', 'Sold Pencils');
        data.addColumn('string', 'title1');
        data.addColumn('string', 'text1');
        data.addColumn('number', 'Sold Pens');
        data.addColumn('string', 'title2');
        data.addColumn('string', 'text2');

        data.addRows([
          [new Date(2008, 1 ,1), 30000, undefined, undefined, 40645, undefined, undefined],
          [new Date(2008, 1 ,2), 14045, undefined, undefined, 20374, undefined, undefined],
          [new Date(2008, 1 ,3), 55022, undefined, undefined, 50766, undefined, undefined],
          [new Date(2008, 1 ,4), 75284, undefined, undefined, 14334, 'Out of Stock','Ran out of stock on pens at 4pm'],
          [new Date(2008, 1 ,5), 41476, 'Bought Pens','Bought 200k pens', 66467, undefined, undefined],
          [new Date(2008, 1 ,6), 33322, undefined, undefined, 39463, undefined, undefined]
        ]);

        var chart = new google.visualization.AnnotatedTimeLine(document.getElementById('chart_div'));
        chart.draw(data, {displayAnnotations: true});
      }
        </script>
    </head> 
    <body>

    <div id='chart_div' style='width: 80%; height: 50%;'></div>

        </body>
</html>

Ответы [ 2 ]

7 голосов
/ 04 января 2011

Я предполагаю, что вы используете https://www.google.com/jsapi вместо http://..., но ваша страница не в https.

И комментарий ... Вы используете сочетание кавычек и двойных кавычек, это не очень чисто.
Попробуйте придерживаться простого правила, например: оставьте двойные кавычки для HTML, такие как id="chart_div", и одинарные кавычки для Javascript data.addColumn('date', 'Date');.

.
1 голос
/ 07 мая 2013

У меня была та же проблема, что и у вас, когда я просматривал свою диаграмму из файла: //, но когда я загрузил ее на сервер и протестировал ее на http: // маркеры аннотаций появились на временной шкале так, как они должны .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...