我不熟悉javascript,所以我需要帮助。 我想从ElasticSearch中提取文档,然后在google geochart上显示结果。 我的问题是一个函数drawMarkersMap()如何获得'行'在"函数(正文)"
中计算client.search({
"index": "indexname",
"type": "typename",
"size": 100,
body: {
"query": {
"match_all": {}
}
}
}).then(function(body) {
var rows = [];
var results = body.hits.hits;
for (var i = results.length - 1; i >= 0; i--) {
... // parsing data and
cols=['a', 'b', 'c']; // example row
rows[i] = cols;
}
}, function (error) {
console.error(error);
});
function drawMarkersMap() {
var data = google.visualization.arrayToDataTable(rows);
...
google.visualization.GeoChart(document.getElementById('geochart_div'));
chart.draw(data, options);
};
答案 0 :(得分:1)
嗯,你几乎就在那里,当你完成解析你的结果时,你只需要调用drawMarkersMap()
并将参数中的行传递给该函数,如下所示:
...
}).then(function(body) {
var rows = [];
var results = body.hits.hits;
for (var i = results.length - 1; i >= 0; i--) {
... // parsing data and
cols=['a', 'b', 'c']; // example row
rows[i] = cols;
drawMarkersMap(rows); <---- call draw and pass your rows here
}
}, function (error) {
...
});
function drawMarkersMap(rows) { <---- add rows parameter here
...
}