CSV 文件未重新加载(谷歌地理图表)



我正在使用 https://github.com/evanplaice/jquery-csv 加载csv文件。一切正常,直到我尝试重新加载.csv文件并将新数据加载到GeoCharts中。我知道这是重新加载文件的问题,但如何处理?下面是示例代码:

function load(file, colorForSex){
var region = $('select[name="region"] option:selected').val();
setTimeout(1000);
$.get(file, function(data) {
var newData = $.csv.toArrays(data);
var j = 1;
for (var i = 1; i < newData.length; i++) {
newData[i][j] = parseFloat(newData[i][j]);
}
}, 'text');
console.log(newData[1][1]);

setTimeout(1000);
var data = google.visualization.arrayToDataTable(newData);
var options = {
region: region,
backgroundColor: 'none',
chartArea: { width: '100%', height: '100%' },
colorAxis: {colors: ['#ddd', colorForSex]},
datalessRegionColor: 'white',
legend: {
numberFormat: '.##',
textStyle: {
fontName: 'Verdana',
color: '#ff1a1a',
fontSize: 14
}
}   
};
setTimeout(1000);

chart.draw(data, options);
}

需要在$.get函数中包含其余的图表代码

$.get异步

的因此,$.get函数之后的代码在$.get函数完成之前运行

请参阅以下代码片段...

function loadData(file, colorForSex){
var region = $('select[name="region"] option:selected').val();
var file = file + '?q=' + Math.random();
$.get(file, function(data) {
var processedData = $.csv.toArrays(data);
var j = 1;
for (var i = 1; i < processedData.length; i++) {
processedData[i][j] = parseFloat(processedData[i][j]);
}
var data = google.visualization.arrayToDataTable(processedData);
var options = {
region: region,
backgroundColor: 'none',
chartArea: { width: '100%', height: '100%' },
colorAxis: {colors: ['#ddd', colorForSex]},
datalessRegionColor: 'white',
legend: {
numberFormat: '.##',
textStyle: {
fontName: 'Verdana',
color: '#ff1a1a',
fontSize: 14
}
}   
};
chart.draw(data, options);
}, 'text');
}

您可以将一些参数添加到文件中以禁用缓存

取代:$.get(file, function(data) {

自:var d = new Date(); $.get(file + '?' + d.getTime(), function(data) {

相关内容

  • 没有找到相关文章

最新更新