javascriptコードに問題があります。私はグーグルマップを使用していて、サーバーからjson形式でデータトラフを収集しています。一部のブラウザのコンソールウィンドウでデータを確認すると、データが実際に送信されていることがわかります。
私の問題は、変数が1回読み取られ、その値がテキストボックスに表示されていることです。今、私がデータ変数を受け取り続けるときは常に同じですが、なぜですか?そして、私は異なる値を取得していると100%確信しています。
コードは次のとおりです。
function updateTrucks() {
$.ajax({
url: "get_data.php",
cache: false,
dataType: 'json',
data: {},
error: function(jqxhr, textStatus, errorThrown) {
alert("Error: " + textStatus + " " + errorThrown);
},
success: function(data) {
for(var i = 0; i < data.results.length; i++) {
if(trucks.hasOwnProperty(data.results[i].id)) {
// update position
trucks[data.results[i].id].setPosition(new google.maps.LatLng(
parseFloat(data.results[i].lat),
parseFloat(data.results[i].lng)));
trucks[data.results[i].id].speed = data.results[i].speed;
}
else {
// code
}
google.maps.event.addListener(trucks[data.results[i].id], 'position_changed', function() {
if(typeof tracked !== "undefined") {
if(this.id == tracked.id) {
map.panTo(this.getPosition());
$("#speed").val(this.speed);
}
}
});
この行は正しく機能していません$("#speed").val(this.speed);