2017-04-24 6 views
0

내 json을로드하는 데 L.GeoJSON.AJAX를 사용하고 있습니다. 그때 필터링하려면 다음을 사용전단지 geoJSON 필터링

var weakClusterMarkerOptions = { 
     radius: 5, 
     fillColor: "#FFFF00", 
     color: "#000", 
     weight: 2, 
     opacity: 1, 
     fillOpacity: 0.8 
    }, 
    strongClusterMarkerOptions = { 
     radius: 7, 
     fillColor: "#CC0000", 
     color: "#CC0000", 
     opacity: 1, 
     fillOpacity: 0.8 
    }; 

    function customizeClusterIcon(feature, latlng) { 
    if (feature.properties.strongCl === 'strong') { 
     return L.circleMarker(latlng, strongClusterMarkerOptions); 
    } else { 
     return L.circleMarker(latlng, weakClusterMarkerOptions); 
    } 
    } 

: 나는 마커의 스타일을 다음 한

function toggleStrength(strength, showLayer) { 
    jsonLayer.refilter(function (feature, layer) { 
     if (strength == 'all') { 
     return true; 
     } else { 
     if (showLayer) { 
      return feature.properties.strongCl === strength; 
     } 
     } 
    }); 
    } 

여기서 문제는 내가 circleMarker의 경계를 필터링 할 때 마커가 여전히 않고 사라입니다 표시, 특히 채우기 색상

답변

-1

fillColorcolor의 값은 모두 #CC0000입니다. 아마 국경이있을거야. 채우기와 색상이 같습니다.

+0

필자는 거기에 있어야하는 마커에 관심이 없습니다. 필자가 걸러 내려고하는 마커가 여전히 존재한다는 것입니다. 즉 테두리가 보이지 않습니다. 즉, 색상이 사라지지만 채우기 색상이 여전히 표시됩니다. – ctrlspace

+0

' refilter' 코드? 전단지의'filter' 함수는 새로 추가 된 레이어에만 적용됩니다. 당신의 작업이 똑같을 것이라고 확신합니다. 그렇다면'eachFeature'를 사용하여 조건 적으로 항목을 제거해야합니다. –