2014-07-16 2 views
4

우리는지도가 있고 특정 확대/축소 수준에서 마커를 클러스터링하기 시작합니다.leaflet.js를 사용하여 클러스터의 마커를 반복하는 방법은 무엇입니까?

이제 특정 마커를 삭제할 수 있기를 바랍니다. 클러스터에 참여하지 않는 마커는 삭제할 수 있지만 클러스터의 마커는 코드가 반복되지 않기 때문에 삭제되지 않습니다.

나는 코드를 게시 하겠지만 모든 곳과 매우 구체적인 것입니다.

다음 작업을 수행 할 수 있습니다.

$.each(MAP._layers, function (i, layer) { 
    if (layer.feature) { 
     var marker = LIGHTWEIGHT_BUILDING_MAPPING[layer.feature.id]; 
     MAP.removeLayer(marker); 
    } 
}); 

그리고 보이는 모든 표시가 제거되지만 클러스터 내의 표시는 제거되지 않습니다. 이견있는 사람?

답변

4

지도 또는 클러스터에서 마커를 반복 할 수 없습니다.

마커를 만들 때 여기를 눌러 배열을 만듭니다. 당신이 마커를 제거해야하는 경우,

if(cluster.hasLayer(marker) cluster.removeLayer(marker); 
if(map.hasLayer(marker) map.removeLayer(marker); 
// remove marker from array (easier with a jQuery Array) 
를 사용

배열을 통해

으로 반복

관련 문제