私は年にフィルタリングしたいリーフレットにgeojsonレイヤーを持っています。このgeojson層は、pointToLayerを使用してgeojsonファイルから作成されました。リーフレット内のgeojsonレイヤーをフィルタリングすると機能しない
問題は、このgeoJsonLayerが配列であるかどうかわかりません。私はそれがデータ構造であることをとても混乱しています。したがって、それをどのようにフィルタリングするのでしょうか。私はそれをにconsole.logすると、データがそうのようにネストされている:
オブジェクト{オプション:オブジェクト、_layers:オブジェクト、_leaflet_id:259、_initHooksCalled:真、_MAP:オブジェクト}
クリックし_layersに、私は」オブジェクトのリストを取得することができます(これは現在私の地図上に表示されている点です)。
info_city:ミルウォーキー
info_count私はオブジェクトのいずれかをクリックすると、私は属性のリストを持って「プロパティ」と呼ばれる性質を持っている「機能」と呼ばれるプロパティを、アクセスすることができますよ:1
info_date:2002
"info_date" と呼ばれるこのプロパティは、私がすることによってフィルタリングするフィールドです。
私は失敗した「geoJsonLayers.residents.features.properties
を使用してgeoJsonLayers.residentsからプロパティをCONSOLE.LOGしようとした私が使用してフィルタリングを試みた:
function filterByYear(data, year) {
f = data.filter(function(d) {
return d.properties.info_date == year;
});
return f;
}
filterByYear(geoJsonLayers.residents, 2009);
問題があります上記のメソッドは配列に対して機能すると思いますが、geojsonファイルをgeoJsonLayerに変換すると、データが何とか標準配列にならないようです。私は両方のオプションを試しました。私はすべてを試みてきたようにすべてのヘルプは、スーパーいただければ幸い
var points = L.geoJson(geoJsonLayers.residents, {
filter: function(feature, layer) {
console.log(geoJsonLayers.residents)
console.log(points)
return feature.properties.info_date === 2010;
}
});
:
は、私はまたの線に沿って何かをしようとしました!前もって感謝します。
filterは配列メソッドで、取得しているものはobjectです。 –
なので、どうすればいいですか?ありがとう。 – DiamondJoe12