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