0

Я надеюсь, что я могу -в визуализации Google timeline- показать дату/время курсора мыши в Java Script,визуализации Google график показывать время курсора мыши

Say как: console.log (googlechart.timedate (мышь .Икс)); есть ли способ получить дату моего мыши x?

Дело в том, что я пытаюсь перетаскивать элементы временной шкалы, поэтому я сначала получил расстояние от мыши, которое было перетащено, когда курсор был на каком-то элементе, теперь у меня есть пиксели, и я хочу применить это изменение в значении этого элемента временной шкалы, что перетаскивание было по нему, но не может знать, как узнать, каково новое значение даты/времени для изменения, затем я обновлю чертеж,

спасибо.

ответ

0

К сожалению, для этого не существует встроенного способа использования их API. Основываясь на this question's answer, я изменил пример JSFiddle Google для TimeLine, чтобы добавить простое событие mousemove, которое вычисляет относительные позиции X и Y курсора.

google.charts.load('current', {'packages':['timeline']}); 
    google.charts.setOnLoadCallback(drawChart); 
    function drawChart() { 
    var container = document.getElementById('timeline'); 
    var chart = new google.visualization.Timeline(container); 
    var dataTable = new google.visualization.DataTable(); 

    dataTable.addColumn({ type: 'string', id: 'President' }); 
    dataTable.addColumn({ type: 'date', id: 'Start' }); 
    dataTable.addColumn({ type: 'date', id: 'End' }); 
    dataTable.addRows([ 
     [ 'Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ], 
     [ 'Adams',  new Date(1797, 2, 4), new Date(1801, 2, 4) ], 
     [ 'Jefferson', new Date(1801, 2, 4), new Date(1809, 2, 4) ]]); 


    // create 'ready' event listener to add mousemove event listener to the chart 
    var runOnce = google.visualization.events.addListener(chart, 'ready', function() { 
      google.visualization.events.removeListener(runOnce); 
      // create mousemove event listener in the chart's container 
      // I use jQuery, but you can use whatever works best for you 
      $(container).mousemove(function (e) { 
      var xPos = e.pageX - container.offsetLeft; 
      var yPos = e.pageY - container.offsetTop; 

      // (Do something with xPos and yPos.) 
     }); 
    }); 

    chart.draw(dataTable); 
    } 

Here's the JSFiddle.

Это только начало. Вам нужно будет выяснить, как интерполировать данные о времени и дате из координат мыши, потому что для этого нет никакой функциональности API, и даже если бы они были, вы не смогли бы получить значения «между», не используя собственные расчеты. Вы можете найти помощь here.

+0

Да, я видел, что jsfiddle один предыдущий, который показывает значение, но в float, но в моем случае я хочу использовать datetime вещь, поэтому, чтобы найти timedate при этом значении мыши x, и большое спасибо в любом случае, я будет ждать немного больше, чтобы узнать, есть ли способ, но если бы не было ответа, я отвечу на ваш ответ как правильный ответ. –

Смежные вопросы