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에서 검색 변경 사항을 확인해야합니다. 그러나 각 간격마다 하나의 CSV 만로드되므로 "차선"만 업데이트됩니다.
laneStatus 함수는 루트 (코드가 실행되는 index.html의 동일한 폴더)에있는 csv의 위치를받습니다. "lane"인수는 google.maps.Rectangle 객체입니다.
나는 잘 설명했는데, 답장을 부탁드립니다.
감사합니다.
각 요청의 데이터가지도에 표시되는 곳을 볼 수 없기 때문에 일부 색상 옵션을 설정하는 것처럼 보입니다. 또한 init()을 한 번만 호출해야합니다. 그렇지 않으면 이전에로드 한 마커가 재설정됩니다. – dandavis