0

Ich hoffe, dass ich Google Visualization schnittfenster Zeit zeigen -in kann/Datum der Maus-Cursor in Java Script,google Visualisierung Timeline Zeit anzeigen Mauszeigers

sagen: console.log (googlechart.timedate (Maus .x)); gibt es eine möglichkeit, das zeitdatum meiner maus x zu bekommen?

ist die Sache, dass ich versuche, für die Timeline Elemente zu ziehen, so bekomme ich zuerst die Entfernung der Maus wurde gezogen, wenn der Cursor auf einem Element war, jetzt habe ich die Pixel und ich möchte das ändern anwenden in Wert dieses Zeitleiste Element, das das Ziehen war darüber, aber kann nicht wissen, was ist der neue Wert von Datum/Uhrzeit zu ändern, dann werde ich die Zeichnung,

danke aktualisieren.

Antwort

0

Leider gibt es keine integrierte Möglichkeit, dies über ihre API zu tun. Basierend auf this question's answer änderte ich Googles JSFiddle-Beispiel für TimeLine, um ein einfaches Ereignis mousemove hinzuzufügen, das die relativen X- und Y-Positionen des Cursors berechnet.

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.

, dass nur ein Anfang. Sie müssen herausfinden, wie Sie Zeit- und Datumsdaten aus den Mauskoordinaten interpolieren können, da hierfür keine API-Funktion zur Verfügung steht. Selbst wenn dies der Fall wäre, wären Sie nicht in der Lage, "dazwischen" Werte zu erhalten eigene Berechnungen. Sie könnten Hilfe finden here.

+0

Ja, ich sah, dass jsfiddle eins der vorherigen, die den Wert aber in float zeigt, aber in meinem Fall möchte ich Datetime-Ding verwenden, so um das Timedate zu diesem x Mauswert zu finden, und vielen Dank sowieso, ich Ich werde noch etwas warten, um zu sehen, ob es einen Weg gibt, aber wenn es keine Antwort gibt, werde ich deine Antwort als die richtige Antwort markieren. –

Verwandte Themen