我试图显示每个地图标记的工具提示onload,而无需悬停或点击显示它。这是我尝试将openPopup函数链接到bindPopup:
function onEachFeature(feature, layer) {
if (feature.properties && feature.properties.popupContent) {
popupContent = feature.properties.popupContent;
}
layer.bindPopup(popupContent).openPopup();
}
但除非点击,否则不会显示工具提示。
我看到this page文档提供了以下功能,但它仅适用于单个标记,而不是多个标记。
marker.eachLayer(function(m) {
m.openPopup();
});
如何显示所有标记onload?
答案 0 :(得分:1)
不幸的是,这是弹片在传单中的工作原理。
https://stackoverflow.com/a/16707921/128165
中提供了一个小黑客/*** little hack starts here ***/
L.Map = L.Map.extend({
openPopup: function (popup) {
// this.closePopup(); // just comment this
this._popup = popup;
return this.addLayer(popup).fire('popupopen', {
popup: this._popup
});
}
}); /*** end of hack ***/
将其添加到代码后,您可以使用
for (var o in overlays){
overlays[o].eachLayer(function (m) {
m.eachLayer(function(l){l.openPopup();});
});
}
迭代您案例中的所有标记并调用其openPopup
方法