Ich habe versucht, eine dynamische Heatmap durch Aufrufen von Code hinter methodw, die die Daten an die Heatmap liefert erstellen. Ich habe einen Timer, der die Funktion GetNewHeatMapDataTable() aufruft. Die Funktion ruft neue Daten ab und verschiebt sie in ein vorhandenes Array (pointArray), um die Map dynamisch zu aktualisieren. Der Timer läuft wie erwartet. Der Wert der Variablen newheatmapdata ändert sich jedoch nicht und die Funktion ruft nur einmal den Code hinter Methode GetIAHeatMapDataTable ("XXXXXXX") auf. Ich bin mir nicht sicher, was ich falsch mache. Ich hoffe, dass jemand mich in die richtige Richtung weisen kann.Javascript-Timer ruft einen Code hinter Methode nur einmal
Unten finden Sie ein Ausschnitt aus meinem Code
var heatmapData = [];
function GetDataTableFromCodeBehind() {
heatmapData = <%=GetIAHeatMapDataTable("XXXXXXX")%>;
}
var pointArray = new google.maps.MVCArray(heatmapData);
var heatmapLayer = new google.maps.visualization.HeatmapLayer({
data: pointArray,
dissipating: false,
radius: 0.00001
});
function GetNewHeatMapDataTable() {
var newheatmapdata = []
newheatmapdata = <%=GetIANewHeatMapDataTable("XXXXXXX")%>;
if (newheatmapdata.length > 0){
for (i = 0; i < newheatmapdata.length; i++) {
pointArray.push.apply(pointArray, newheatmapdata);
}
}
}
setInterval(function() {GetNewHeatMapDataTable();},3000);
Vielen Dank im Voraus.
Sie können keine Server-Methode wie die von dem Client aufrufen schieben, müssen Sie einen AJAX-Aufruf an den Server machen. Das JavaScript kennt die serverseitige Methode nicht. Alles, was Sie mit dem aktuellen Code tun, ist, die Methode einmal aufzurufen, während Sie die Seite generieren. – Stephen
Sie sehen einen anderen Wert von GetIANewHeatMapDataTable ("XXXXXXX") – brk
Hallo user2181397, Ich sehe keine anderen Werte. Ich bin in der Lage, die Methode aufzurufen und Data Array nur einmal erfolgreich zu erhalten. Sobald der Timer das Intervall erreicht, wird die Methode GetIANewHeatMapDataTable ("XXXXXXX") nicht mehr aufgerufen und der Initialwert der Variablen newheatmapdata ändert sich nicht – darwin25