我正在使用L.GeoJSON.AJAX加载我的json。我有以下内容来设置标记的样式:
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的边框消失了,但标记仍然可见,特别是填充颜色。
发布于 2020-03-05 14:11:23
因此,我最终为每个条件(弱条件和强条件)创建了LayerGroups,然后根据筛选器清除并添加相应的组。
toggleStrength = function (layer, showLayer, theMap) {
switch (layer) {
case 'weak':
if (showLayer) {
theMap.addLayer(weakGroup);
} else {
theMap.removeLayer(weakGroup);
}
break;
case 'strong':
if (showLayer) {
theMap.addLayer(strongGroup);
} else {
theMap.removeLayer(strongGroup);
}
break;
default:
clearAll(theMap);
if (showLayer) {
theMap.addLayer(weakGroup);
theMap.addLayer(strongGroup);
}
break;
}
};发布于 2017-04-24 16:58:39
您的fillColor和color具有相同的值#CC0000。边界可能就在那里。它只是和填充有相同的颜色。
https://stackoverflow.com/questions/43580149
复制相似问题