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의 경계를 필터링 할 때 마커가 여전히 않고 사라입니다 표시, 특히 채우기 색상
필자는 거기에 있어야하는 마커에 관심이 없습니다. 필자가 걸러 내려고하는 마커가 여전히 존재한다는 것입니다. 즉 테두리가 보이지 않습니다. 즉, 색상이 사라지지만 채우기 색상이 여전히 표시됩니다. – ctrlspace
' refilter' 코드? 전단지의'filter' 함수는 새로 추가 된 레이어에만 적용됩니다. 당신의 작업이 똑같을 것이라고 확신합니다. 그렇다면'eachFeature'를 사용하여 조건 적으로 항목을 제거해야합니다. –