我希望能夠更改leafletjs地圖上的彈出窗口的內容。我有數百個標記,每個標記都有自己的彈出窗口,它們從一個數組中加載到一個for循環中。leafletjs如何獲得活動彈出/標記的句柄
var marker = L.marker(new L.LatLng(a[0], a[1]), { title: title });
marker.bindPopup('<img width="'+width+'" height="'+height+'" src="'+a[3]+'"/><br><div id="weather"> <button type="button" onclick="weatherload(\''+a[0]+'\',\''+a[1]+'\')">Click Me for Weather!</button></div>',{'maxWidth':'500','maxHeight':'350','minWidth':'350'});
CAMlayer.addLayer(marker);
這會彈出一個圖片和一個按鈕。當按鈕被點擊時,我想讓按鈕消失,被加載gif所取代。雖然AJAX功能會向服務器詢問幾件事情,但一旦它從服務器獲取數據,它應該再次更改內容。我可以用div上的id做所有這些,但是這打破了我想要工作的彈出窗口的大小調整。
myPopup._updateLayout()
可以用來強制它調整大小,但是如何告訴它哪個是myPopup可以工作?
據我所知setContent是更新彈出窗口的正確方法,但是又如何告訴它哪個彈出窗口是我想要處理的活動窗口呢?
How to identify Marker during a popupopen
event?這看起來很有希望,但我還沒有想出如何使用設置的方式來更改彈出內容的id。
for grammar。
採取了一些學習你的代碼要弄清楚它是如何工作的。這個數組非常聰明,很好地解決了這個問題。在這個和你的演示之間,我發現它是一個快樂的人。 – Brandan