私は、Google Maps API v3の一部のディスプレイを更新するために5秒ごとに複数のCSVファイルをロードしようとしていますが、ステータスがある場合は-1レーンは他の数はそれがビジー状態である意味自由であることを意味します定期的にAJAXを使用してCSVをロードする
setInterval(function() {
checkLaneStatus();
initMap();
}, 2000);
function checkLaneStatus(){
laneStatus('landing_lane.csv',landing_lane);
laneStatus('landing_curve.csv',landing_curve);
laneStatus('arrival_lane_1.csv',arrival_lane_1);
laneStatus('arrival_lane_2.csv',arrival_lane_2);
laneStatus('arrival_lane_3.csv',arrival_lane_3);
laneStatus('arrival_lane_4.csv',arrival_lane_4);
laneStatus('t1.csv',terminal1);
laneStatus('t2.csv',terminal2);
laneStatus('t3.csv',terminal3);
laneStatus('t4.csv',terminal4);
laneStatus('departure_lane_1.csv',departure_lane_1);
laneStatus('departure_lane_2.csv',departure_lane_2);
laneStatus('departure_lane_3.csv',departure_lane_3);
laneStatus('departure_lane_4.csv',departure_lane_4);
laneStatus('departure_curve.csv',departure_curve);
laneStatus('departure_lane.csv',departure_lane);
}
function laneStatus(file,lane){
var temp = lane;
$.ajax({
type: "GET",
url: file,
dataType: "text",
success: function(data) {processData(data);}
});
function processData(allText) {
console.log(allText);
var allTextLines = allText.split(/\r\n|\n/);
var entries = allTextLines[0].split(',');
if(entries[2] != -1){
temp.setOptions({strokeColor: colorRed, fillColor: colorRed});
}
}
}
CSVファイルの例(ID、名前、状態):ここで
はコードです。1,'Departure Lane 1',-1
同じcsvを読み込んで表示色を更新するので、すべてのcsvで検出の変更を確認する必要があります。しかし、それは各区間ごとに1つのCSVしか読み込まないので、その "車線"だけが更新されます。
laneStatus関数は、ルート(コードが実行されるindex.htmlの同じフォルダ)にあるcsvの場所を受け取ります。 "lane"引数はgoogle.maps.Rectangleオブジェクトです。
私はよく説明したと思いますが、返信いただければ幸いです!
ありがとうございます!
各リクエストのデータが地図にどこに与えられているのかわかりませんが、いくつかのカラーオプションを設定しているようです。また、init()を1回だけ呼び出す必要があります。そうしないと、以前にロードされたマーカーがリセットされます – dandavis