特定のイベントが発生したときに(clustermouseover
またはclusterclick
)、クラスター内にマーカーを取得する必要があります。e
開発者コンソールでイベントオブジェクトを調べていましたe.layer._markers
が、空の配列です。
group_markers.on('clustermouseover', function (e) {
console.log('clustermouseover');
console.log(e);
});
group_markers
あるL.markerClusterGroup
オブジェクトが。
助けてくれてありがとう!
getAllChildMarkers
レイヤーオブジェクトのメソッドを使用します(e.layer
)。例:
markers.on('clustermouseover', function (e) {
console.log('Number of markers: ' + e.layer.getAllChildMarkers().length);
});
Leaflet.markerclusterのドキュメントによると
getAllChildMarkers:そのクラスター内に含まれる合計マーカーの配列を返します。
ここだJSBin実施例では。
アンダースコア(_
)は通常、オブジェクトのプロパティ(など_markers
)またはメソッドがプライベートであることを示すために使用されます。一般に、プライベートオブジェクトメンバーは内部でのみ使用されることになっているため、これらのメンバーにはアクセスしないでください。
サイドノート:
コンソールでイベントのプロパティを検索する場合は、layer
オブジェクトのプロトタイプを調べると、次のgetAllChildMarkers
メソッドが見つかります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加