问题描述
我将标记添加到地图,并将其放置在markercluster中。对于未聚类的标记,我想显示在创建标记时附加到标记的工具提示。
var geoMarkers = L.markerClusterGroup({ removeOutsideVisibleBounds:true,chunkedLoading: true,chunkProgress: this._updateProgress });
//start loop create markers
var marker = new L.marker(latlng,{ icon: icon } );
marker.bindPopup(L._("Loading.."));
marker.bindTooltip(' text ');
geoMarkers.addLayer(marker);
//end loop
map.addLayer(geoMarkers);
map.on('layeradd',function(event) {
var layer = event.layer;
if (layer instanceof L.Marker && !(layer instanceof L.MarkerCluster)) {
layer.openTooltip();
}
});
为此,我遵循建议并侦听了layeradd事件。加载地图并移至新标记时,一切正常。但是,在地图的任何移动中,在工具提示已经打开的那些标记上,它都是关闭的,因为layeradd事件不会影响它们。只有一种方法可以再次看到它们的提示-缩小以使标记“隐藏”在群集中,然后再次增大比例,我再次看到了提示。希望当标记未隐藏在群集中时始终存在。 我需要帮助或提示。
解决方法
您可以使用permanent
工具提示选项来保持标记的可见性。在此处查看官方的docs。
...
var geoMarkers = L.markerClusterGroup({ removeOutsideVisibleBounds:true,chunkedLoading: true,chunkProgress: this._updateProgress });
//start loop create markers
var marker = new L.marker(latlng,{ icon: icon } );
marker.bindPopup(L._("Loading.."));
marker.bindTooltip(' text ',{ permanent: true} ); // here define it
geoMarkers.addLayer(marker);
//end loop