我有一个地图应用程序,在界面中,有一个组合框包含 5 个指标(HDI、预期寿命、..、..、..)。我使用 FireBug 1.9.2 检查了每个指标的“数据”,我发现在每个指标的“数据”中都列出了指标的名称,其中有一个日期列表,例如 (1960.. ...直到 2010 年)其中一些日期包含根据其相应指标的数据,而其中一些日期不包含数据“”。
我想要做的是检查每个指标的日期,如果日期包含数据或值,我想存储该日期,否则对日期不做任何事情。
请查看我发布的快照,也许它会让我更清楚地了解我想要做什么。
也请看看我是如何尝试实现这个目标的,但不幸的是结果不是我想要的:
function getYearsByIndicator(layername, indicator) {
var matchingLayers;
var vectorLayer;
var yearStore;
// get vector layer
matchingLayers = map.getLayersByName(layername);
if (matchingLayers.length == 1) {
vectorLayer = matchingLayers[0];
}
else {
console.log("getThematicStyleMap: Warning, the layer " + layername + " was not found!");
return;
}
for (var i=0;i < vectorLayer.features.length;i++) {
if (vectorLayer.features[i]['data'][indicator]) {
// extract keys here!
}
}
//build store containing the extracted keys
//return the store
return yearStore;
}