0
我正在使用L.GeoJSON.AJAX加載我的json。我有以下樣式標記:傳單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的邊界消失,但標誌仍可見的,特別是填充顏色。
我不關心應該在那裏的標記,我的問題是我試圖過濾掉的標記仍然存在(邊框,即顏色消失,但fillcolor仍然可見) – ctrlspace
您可以顯示' refilter'代碼?Leaflet的'filter'函數只適用於新添加的圖層,我很確定你的工作是一樣的,如果是這樣,你需要使用'eachFeature'並有條件地刪除項目。 –