Specifically with CSV Layers, how does the API handle refreshing CSV Layers when the map is open? I have been trying to make this work for sometime now and I cant pin down why I have been unsuccessful. I have a series of CSV Layers that I create upon initialization of the map. Those layers obviously reference CSV files on my local server. Those CSV files update every five minutes with new data. Thus, I need the map to update all the CSV layers (visible or not) at that time. I have tried using the refreshInterval option, but with no luck. Sample code is below.
//Add Observed Precip CSV Layers
function csv30min () {
csv30min = new CSVLayer("symGSPHydroViewer/data/30query.csv",{id:"csv30min"});
csv30min.refreshInterval = 0.1;
csv30min.on("update-end", function(results){
csv30mintextLayer = new GraphicsLayer();
arrayUtils.forEach(results.target.graphics, function(feature, index){
var lid = feature.attributes.lid;
var name = feature.attributes.name;
var value = feature.attributes.value;
var ffg = feature.attributes.ffg;
var ratio = feature.attributes.ratio;
var validtime = feature.attributes.obstime;
var attr = {"Location ID":lid,"Location Name":name,"Obs Value":value,"FFG":ffg,"Ratio of FFG":ratio,"Obs Valid Time":validtime};
var geom = feature.geometry;
var displayText = feature.attributes.value;
var font = new Font("12pt",Font.STYLE_NORMAL, Font.VARIANT_NORMAL,Font.WEIGHT_BOLD,"Helvetica");
var textSymbol = new TextSymbol(displayText,font,new Color("#FF0000"));
csv30mintextLayer.add(new Graphic(geom, textSymbol, attr));});
var infoTemplate = new InfoTemplate("Attributes", "${*}");
csv30mintextLayer.setInfoTemplate(infoTemplate);
map.addLayer(csv30mintextLayer);
csv30mintextLayer.hide();
});
var blank = new Color([0, 0, 0, 0]); // hex is #ff4500
var marker = new SimpleMarkerSymbol("solid", 0, null, blank);
var renderer = new SimpleRenderer(marker);
csv30min.setRenderer(renderer);
map.addLayer(csv30min);
csv30min.hide();
}