移动传单地图时工具提示消失
Tooltip disappears when moving leaflet map
我将标记添加到地图并将它们放置在标记簇中。对于未聚集的标记,我想显示在创建标记时附加到标记的工具提示。
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
我将标记添加到地图并将它们放置在标记簇中。对于未聚集的标记,我想显示在创建标记时附加到标记的工具提示。
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