Leaflet LayerGroupのレイヤー数を取得する簡単な方法はありますか?ドキュメントを一目見ただけでは、現時点では存在しないことがわかります。
3 に答える
更新された回答
私の最初の答え以来、はメソッドでLayerGroup
拡張されておりgetLayers()
、ソリューションは簡単です。
layerGroup.getLayers().length
。
**古い**冗長な回答:
LayerGroupコードを見ると、レイヤーの数をで取得できるはずですlayerGroup._layers.length
。
ただし_layers
、実装者は非公開にすることを目的としているため、これが将来のバージョンで機能するかどうかはわかりません。
パブリックAPI内にとどまりたい場合はeachLayer
、レイヤーを呼び出してカウントできます。
Asbornが示唆したように、任意のレイヤーイベントオブジェクトを介してマップレイヤーオブジェクトにアクセスできます。
例えば
map.addEventListener('viewreset', function(event){
console.log(event.target._layers);
}, false);
キーを数えるために必要な長さを取得するには、ECMA(chrome、nodeなど)を使用するのが最も簡単な方法です。
Object.keys(map._layers).length
このような情報を取得するためのAPIがないことに驚いています。
maps.getLayers();
:)
編集:実際にはあります:http://leafletjs.com/reference.html#layergroup
getLayers()
そして、そのグループ内のレイヤーの配列を返します。
変数名、関数名、リーフレットレイヤー名を入力するだけで、リーフレットなどに関連するすべての関数を簡単に取得できます。
here I used google chrome console manager.
just type the layer name you will get all the functions related to it
plsは下の写真を見てください: https ://i.stack.imgur.com/1LDz0.png