如何显示LayerGroup中对象的Leaflet Static Labels?

时间:2013-07-22 22:53:19

标签: leaflet

我正在尝试为我创建的几个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);

1 个答案:

答案 0 :(得分:1)

事实证明,CircleMarkers不支持静态标签。为了解决这个问题,我在Leaflet.label中添加了代码以允许这样做。我还发布了pull request,以防其他人想要做我正在做的事情。