2017-12-21 3 views
1

Ich versuche, einen anderen Satz von lat hinzufügen, lange in der Google-Visualisierungstabelle durch Iterieren über die Ajax get-Antwort, es sieht aus wie nur der letzte Wert in der Antwort json hinzugefügt wird die Reihe,Hinzufügen von Zeilen zu der Google Data Visualization Tabelle

Javascript:

$.ajax({ 
      type: 'GET', 
      url: '/api/v1.0/tasks/'+document.getElementById("autocomplete").value, 
      dataType: 'json', 
      data: { 'value' : $(this).val() }, 
      success : function(data){ 

      for(var i=0; i<data.task.length; i++) { 

      var lat,long,name; 
      var lat = data.task[i].lat 
      var longi = data.task[i].longi 
       var name = data.task[i].markerText 
      alert(lat,longi,name) 
      var datag = new google.visualization.DataTable(); 
       datag.addColumn('number', 'lat'); 
       datag.addColumn('number', 'longi'); 
       datag.addColumn('string', 'markerstr'); 
       datag.addRows([[lat,longi,name],]); 
     } 

}) 

Erwartete Ausgabe:

data = [[37.6153, -122.3900, 'Airport'], 
            [37.4422, -122.1731, 'Shopping'],] 

Antwort

1

Es sieht aus wie Sie die Datenstruktur jedes Mal, wenn Sie durchlaufen neu erstellen. Es kommt vor, dass Ihre Header identisch sind. Aber in diesem Fall werden die gesamten Daten bei jeder Iteration neu geschrieben. Vielleicht versuche so etwas.

$.ajax({ 
     type: 'GET', 
     url: '/api/v1.0/tasks/'+document.getElementById("autocomplete").value, 
     dataType: 'json', 
     data: { 'value' : $(this).val() }, 
     success : function(data){ 


     var datag = new google.visualization.DataTable(); 
      datag.addColumn('number', 'lat'); 
      datag.addColumn('number', 'longi'); 
      datag.addColumn('string', 'markerstr'); 
     var rows = [] 
     for(var i=0; i<data.task.length; i++) { 

     var lat,long,name; 
     var lat = data.task[i].lat 
     var longi = data.task[i].longi 
     var name = data.task[i].markerText 
     rows.push([lat,longi,name]); 
    } 
     datag.addRows(rows); 
}) 
+0

Ja, das ist ein Fehler, aber es ist nicht das Problem zu beheben, kann ich immer noch nur die letzte Markierung auf der Karte – min2bro

+0

Erm sehen .. Das bedeutet, dass die addRows Array bauen werden muss vollständig und dann einmal hinzugefügt vielleicht am Ende. Ich habe den Code erneut aktualisiert. –

Verwandte Themen