我正在尝试为我创建的几个CircleMarkers添加静态标签。这些标记将添加到LayerGroup,然后添加到地图中。我已经读过,在将它添加到地图的对象后,我需要调用.showLabel()。但由于我首先构建LayerGroup,然后将其添加到地图中,我不确定如何执行此操作。
我想过使用L.LayerGroup.eachLayer,但我不确定哪个对象实际上叫做.showLayers()。我的代码如下,感谢任何帮助,谢谢!
var jsonLayers = new L.LayerGroup();
jsonLayers.addLayer(L.geoJson(mapFeature.features[i], {
style: function (feature) {
return feature.properties && feature.properties.style;
},
onEachFeature: onEachFeature,
pointToLayer: function (feature, latlng) {
var newCircle = L.circleMarker(latlng, {
radius: 5,
fillColor: fColor,
color: "#000",
weight: 1,
opacity: 1,
fillOpacity: 0.8
});
newCircle.bindLabel(feature.properties.name, { noHide: true });
return newCircle;
}
}));
map.addLayer(jsonLayers);
答案 0 :(得分:1)
事实证明,CircleMarkers不支持静态标签。为了解决这个问题,我在Leaflet.label中添加了代码以允许这样做。我还发布了pull request,以防其他人想要做我正在做的事情。