3

GeoJSON ポイントで正常に機能するleaflet.labelへの参照は多数ありますが、まだ 1 つの例を見つけていません。
これが私がこれまでに試したことです:

//Add labels layer
var labelStyle = {
    color: '#CCC',
    opacity: 1
};

var labelMarkerOptions = {
        opacity: 0,
        fillOpacity: 0
};

var labelLayer = L.geoJson(labels, {
        pointToLayer: function (feature, latlng) {
                return L.Marker(latlng, labelMarkerOptions);
        },
        onEachFeature: function (feature, layer) {
                layer.bindLabel(feature.properties.Name, {noHide:true});
        }
});
labelLayer.eachLayer(function(l) {l.showLabel();});
map.addLayer(labelLayer);
layerControl.addOverlay(labelLayer, 'Site Labels');

これにより、ポイントのレイヤーが追加されますが、デフォルトのラーカーがあり、ラベルはありません。ご協力いただきありがとうございます。

4

1 に答える 1

3

ラベルのみを表示したい場合は、次L.circleMarkerの代わりに戻りますL.Marker:

pointToLayer: function (feature, latlng) {
    return L.circleMarker(latlng, labelMarkerOptions);
},

他の理由で必要な場合はL.Marker、ラベルを直接マーカーにバインドします。

pointToLayer: function (feature, latlng) {
    return L.Marker(latlng, labelMarkerOptions).bindLabel(feature.properties.Name, {noHide:true});
},
于 2013-09-05T11:59:04.253 に答える