2012-08-30 4 views

답변

4

첫 번째 대답부터 getLayers() 방법으로 LayerGroup을 확장하여 솔루션을 간단하게 만듭니다. layerGroup.getLayers().length.


OLD REDUNDANT 답변 :

LayerGroup code 보면, 당신은 layerGroup._layers.length에 의해 층의 수를 얻을 수 있어야합니다.

그러나 구현 자의 _layers은 비공개로되어 있으므로 향후 버전에서 제대로 작동하는지 확인할 수 없습니다.

공개 API를 사용하려면 eachLayer으로 전화하여 레이어를 계산할 수 있습니다.

+0

_layers가 개체이므로 작동하지 않습니다. – sidonaldson

+0

@sidonaldson - 네 말이 맞아. _layers가 배열 인 것으로 잘못 가정했습니다. 새 API를 반영하기 위해 답변을 업데이트했습니다. 감사. –

2

Asborn은 어떤 레이어 이벤트 객체를 통해지도 레이어 객체에 액세스 할 수 있음을 암시합니다.

map.addEventListener('viewreset', function(event){ 
    console.log(event.target._layers); 
}, false); 

는 (노드 등 크롬) ECMA를 사용하는 당신이 키를 계산해야 길이와 쉬운 방법

Object.keys(map._layers).length 

놀랍지을 얻기 위해이 얻을 수있는 API를 밤은 정보 등

maps.getLayers(); 

등 :

편집 : 실제로이 : http://leafletjs.com/reference.html#layergroup

getLayers() 

그리고 해당 그룹 내의 레이어 배열을 반환합니다.