2016-09-07 35 views

回答

2

我不知道你如何測試這個,但如果你創建了一個彈出的單個實例,然後加入同一個地圖上那麼它不僅改變了它的位置,而不是建立在地圖上一個新的。您需要爲3個不同的標記創建3個不同的彈出窗口,以便保持它們打開。

這裏是代碼的例子,你想要做什麼(單張版本1.0.0-RC3):

var map = new L.Map('map').setView([51.505, -0.09], 13); 

var newpopup = L.popup({ 
    closeOnClick: false, 
    autoClose: false 
}).setContent("popup 1"); 
var newpopup2 = L.popup({ 
    closeOnClick: false, 
    autoClose: false 
}).setContent("popup2"); 
var newpopup3 = L.popup({ 
    closeOnClick: false, 
    autoClose: false 
}).setContent("popup3"); 

L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 
    maxZoom: 18 
}).addTo(map); 

L.marker([51.49, -0.09]).addTo(map).bindPopup(newpopup); 

L.marker([51.51, -0.091]).addTo(map).bindPopup(newpopup2); 

L.marker([51.51, -0.12]).addTo(map).bindPopup(newpopup3); 

而一個jsFiddle演示了此:

enter image description here

+0

然後點擊一個..他們都在附近時重新開放。 – catbadger

+0

我不明白,這不是你想要的答案?有了這個解決方案,只有當您再次點擊X或標記時,才能關閉彈出窗口。當你點擊並打開其他人時,他們都會保持打開狀態。 –

相關問題