我需要在触发特定事件(clustermouseover
或clusterclick
)时获取群集内的标记。我正在开发人员控制台中检查事件对象e
,但e.layer._markers
是一个空数组。
group_markers.on('clustermouseover', function (e) {
console.log('clustermouseover');
console.log(e);
});
group_markers
是L.markerClusterGroup
对象。
提前感谢您的帮助!
答案 0 :(得分:5)
使用图层对象的getAllChildMarkers
方法(e.layer
)。例如:
markers.on('clustermouseover', function (e) {
console.log('Number of markers: ' + e.layer.getAllChildMarkers().length);
});
getAllChildMarkers:返回该群集中包含的总标记数组。
这是a JSBin的工作示例。
下划线(_
)通常用于表示对象属性(例如_markers
)或方法是私有的。通常,您不希望访问私有对象成员,因为它们只能在内部使用。
旁注:
如果您在控制台中搜索事件的属性,请查看layer
对象的原型,然后您将找到getAllChildMarkers
方法: