6

clustermouseover当特定事件被触发(或clusterclick)时,我需要获取集群内的标记。e我正在开发人员控制台中检查事件对象,但e.layer._markers它是一个空数组。

group_markers.on('clustermouseover', function (e) {
    console.log('clustermouseover');
    console.log(e);
});

group_markersL.markerClusterGroup对象。

提前感谢您的帮助!

4

1 回答 1

11

使用getAllChildMarkers图层对象 ( e.layer) 的方法。例子:

markers.on('clustermouseover', function (e) {
    console.log('Number of markers: ' + e.layer.getAllChildMarkers().length);
});

根据Leaflet.markercluster 文档

getAllChildMarkers:返回包含在该集群中的总标记数组。

这是一个带有工作示例的 JSBin 。

下划线 ( _) 通常用于表示对象属性(例如_markers)或方法是私有的。通常,您不想访问私有对象成员,因为它们只应该在内部使用。

边注:

如果您在控制台中搜索事件的属性,查看layer对象的原型,您会找到getAllChildMarkers方法:

层原型属性

于 2018-03-13T18:43:32.603 回答