【发布时间】:2014-04-30 18:24:21
【问题描述】:
我正在使用 Leaflet.js 在 OSM 地图上显示标记。
问题是,第一次单击标记时,弹出窗口正常打开,但第二次单击同一标记时,弹出窗口不再打开。
PS:我在代码中的其他任何地方关闭弹出窗口(使用closePopup() 函数)。在下面的块中,我什至注释掉了单击标记后其他弹出窗口的显式关闭。
PPS:我的应用程序在 Ruby on Rails(ruby-1.9.3、Rails 3.2.16)上运行,并使用 leaflet-rails (0.7.2)
bindListeners = function(marker){
marker.on('click', function(evt) {
//resize all markers' icons to default size
for (i=0;i<markersOfTheMap.length;i++) {
resizeMarkerIcon(markersOfTheMap[i], false);
}
//map.closePopup();
var infoBoxContent = buildInfoboxHtml(marker);
marker.bindPopup(infoBoxContent, {className: 'click-popup'}, {closeOnClick: false});
resizeMarkerIcon(marker, true);
marker.openPopup();
var popup = marker.getPopup(); // returns marker._popup
popup._isOpen = true;
console.log("is popup open? " +popup._isOpen); // true
popupsTestArray.push(popup);
console.log(popupsTestArray); // popup_isOpen is false...
});
【问题讨论】:
-
我也遇到了同样的问题。你解决了吗?
标签: javascript ruby-on-rails popup leaflet