0

作成したいくつかの 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);
4

1 に答える 1

1

CircleMarkers では静的ラベルがサポートされていないことが判明しました。これを解決するために、これを許可するコードを Leaflet.label に追加しました。他の誰かが私と同じことをしたい場合に備えて、プルリクエストも発行しました。

于 2013-07-24T13:49:43.183 に答える