我刚开始使用 Leaflet 和Marker Clusterer来组织标记。
问题 #1:单击非聚集标记时,不会出现弹出窗口。
问题#2:当一个集群被多次点击时,该集群内的所有标记都会出现,当点击其中一个标记时,它的弹出窗口就会出现!但是,通过单击地图关闭弹出窗口后,单击任何这些聚集标记都不会打开任何弹出窗口!
如果我只有 3 个未聚集的标记,则弹出窗口可以正常工作。但是,随着更多标记的添加,一旦形成集群,单击任何集群中的标记都不会导致弹出窗口打开!
初始化markerclusterer
markers = new L.MarkerClusterGroup();
map.addLayer(markers);
添加到markercluster的所有标记markers
一个循环调用该render
函数来创建marker
并将其添加到 markerclusterer 的数组markers
中。(忽略backbone.js代码)
ListingMarkerView = Backbone.View.extend({
template: _.template( $('#tpl_ListingMarkerView').html() ),
render: function() {
// Create marker
var content = this.template( this.model.toJSON() );
var marker = new L.marker(
[this.model.get('lat'), this.model.get('lng')],
{content: content});
marker.bindPopup(content);
// Add to markerclusterer
markers.addLayer(marker);
}
});
没有markerclusterer
如果我marker
直接添加到map
而不是 markerclusterer array markers
,弹出窗口工作正常,所以我猜这个问题与 markerclusterer 有关。
我是否做错了什么导致弹出窗口的这种行为?感谢所有帮助,谢谢!