2012-11-20 10 views
7

Ich habe diese Android-App gebaut, um Längen-, Breiten- und Telefonsignale für mein Klassenprojekt zu sammeln. Mein Ziel ist es, diese Informationen auf eine einfache Heatmap-Webseite zu portieren. Meine Frage ist, was ist der beste Weg, um meinen Heatmap Datenvariable in diesem Beispiel zu aktualisieren:Aktualisieren von Heatmap-Daten, einfache Google HeatMap

https://google-developers.appspot.com/maps/documentation/javascript/examples/layer-heatmap

Diese Variablen insbesondere:

 var taxiData = [ 
      new google.maps.LatLng(37.782551, -122.445368), 
      new google.maps.LatLng(37.782745, -122.444586), ... 
      ]; 

Ich bin offen für alle Vorschläge, ich bin ziemlich viel ein Anfänger mit Web-Entwicklung.

Antwort

24

Google Maps macht dies sehr einfach. Sie könnten später in diesem Beispiel bemerken, wird taxiData in einem bestimmten Google-Array geladen hier -

pointArray = new google.maps.MVCArray(taxiData); 

Und dann ist dies hier als Heatmap in die Karte setzen:

heatmap = new google.maps.visualization.HeatmapLayer({ 
    data: pointArray 
}); 
heatmap.setMap(map); 

Die MVCArray kann sein aktualisiert, und die Karte wird automatisch aktualisiert. Also, wenn Sie einen neuen LatLng zu Ihrem Heatmap hinzufügen müssen, einfach ausgedrückt:

pointArray.push(new LatLng(<coordinates>)); 

und die Karte wird aktualisiert.

+0

danke mann, habe nicht realisiert MVCArrays funktionieren so! Das deutet mich in eine gute Richtung, ich denke, ich werde noch ein paar JS-Tutorials machen, begann heute buchstäblich damit. – Yonahs

+0

Heh kein Problem, viel Glück Javascript zu lernen! – Bubbles

+0

Ist es auch möglich, die Gewichts- oder Latlon-Eigenschaften bestehender Punkte in der Heatmap zu ändern? Für eine Animation möchte ich, dass die Änderungen in der Heatmap so flüssig wie möglich sind. Im Moment lösche ich den Heatmap-Layer, indem ich die Map auf null setze und dann einen Layer mit allen neuen Daten auf die Map setze, aber das führt dazu, dass für kurze Zeit keine Heatmap-Punkte angezeigt werden. –