Leaflet LayerGroup에서 레이어 수를 가져 오는 간단한 방법이 있습니까? 설명서를 한눈에 보면 지금은 없다고합니다.Leaflet LayerGroup의 크기를 쉽게 얻을 수 있습니까?
4
A
답변
4
첫 번째 대답부터 getLayers()
방법으로 LayerGroup
을 확장하여 솔루션을 간단하게 만듭니다. layerGroup.getLayers().length
.
OLD REDUNDANT 답변 :
LayerGroup code 보면, 당신은 layerGroup._layers.length
에 의해 층의 수를 얻을 수 있어야합니다.
그러나 구현 자의 _layers
은 비공개로되어 있으므로 향후 버전에서 제대로 작동하는지 확인할 수 없습니다.
공개 API를 사용하려면 eachLayer
으로 전화하여 레이어를 계산할 수 있습니다.
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()
그리고 해당 그룹 내의 레이어 배열을 반환합니다.
_layers가 개체이므로 작동하지 않습니다. – sidonaldson
@sidonaldson - 네 말이 맞아. _layers가 배열 인 것으로 잘못 가정했습니다. 새 API를 반영하기 위해 답변을 업데이트했습니다. 감사. –