私は地図アプリケーションを持っています。インターフェイスには、コンボ ボックスに 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;
}