Leaflet 使用带有GeoJSON点的传单标签
有很多关于如何使用GeoJSON点的参考文献,但我还没有找到一个例子。Leaflet 使用带有GeoJSON点的传单标签,leaflet,Leaflet,有很多关于如何使用GeoJSON点的参考文献,但我还没有找到一个例子。 以下是我迄今为止所尝试的: //Add labels layer var labelStyle = { color: '#CCC', opacity: 1 }; var labelMarkerOptions = { opacity: 0, fillOpacity: 0 }; var labelLayer = L.geoJson(labels, { point
以下是我迄今为止所尝试的:
//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');
这将添加一层my points,但带有默认的larkers,并且没有标签。感谢您提供的帮助。如果您只想显示标签,请返回
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});
},