Daha çox

Markerdən bir pop -up məzmununu necə yeniləmək olar?

Markerdən bir pop -up məzmununu necə yeniləmək olar?


Leaflet ilə bir popup yaratdım:

marker.bindPopup (məzmun) .openPopup ();

Necə yeniləyə bilərəmməzmunsonra dəyər?

Güman edirəm ki, bunu markerdən edim, belə bir şey:

marker.updatePopup (newContent);

Güman edirəm ki, siçan üzərində keçid, kontekst menyusu və ya başqa bir hadisə baş verdikdən sonra məzmunun dəyişdirilməsini istəyirsiniz.

Bunu etmək üçün aşağıdakı kodu istifadə edə bilərsiniz:

// marker yaradılması var marker = L.marker ([44.63, 22.65]). bindPopup ('bir şey'). addTo (xəritə); marker.openPopup (); // siçan üzərində marker.on məzmununu dəyişdirmək ('mouseover', function () {marker._popup.setContent ('başqa bir şey')});

Gördüyünüz kimi, marker._popup metodundan istifadə edərək istədiyiniz markerin açılan pəncərəsinə daxil ola bilərsiniz və sonra içindəki mətni dəyişdirmək üçün setContent metodundan istifadə edə bilərsiniz.

popup.setContent metoduna istinad

Plunker -də bunu göstərən bir kod var: http://plnkr.co/edit/vjS495QPXiJpKalrNpvo?p=preview


_ popupŞəxsi / üzv bir nümunə olduğunu göstərmək üçün qarşısında bir alt xətt var və birbaşa əldə edilməməlidir. Düzgün API Layer.setPopupContent () dir. məs.marker.setPopupContent (newContent);


Cavab vermək gec ola bilər, amma başqaları üçün ən yaxşı yolların burada olduğunu düşünürəm

http://jsfiddle.net/cPTQF/

$ ('düymə'). klik (function () {// Pop $ (popup._contentNode) məzmununu yeniləyin .html ('Yeni məzmun daha uzundur, belə ki popup göründüyünü yeniləməlidir.'); / / Popupa _updateLayout -a zəng etmək yeni məzmun popup._updateLayout (); // Popup._updatePosition (); yanlış qaytar;});

Pop -up məzmununu əldə edə bilərsiniz:

marker.getPopup (). getContent ();

İçindəki məzmunu təyin edin:

marker.getPopup (). setContent ("123"); marker.getPopup (). yeniləmə ();