Risposte:
Suppongo che desideri che il contenuto venga modificato dopo che si è verificato un evento, come il passaggio del mouse, il menu di scelta rapida o qualsiasi altra cosa.
Per fare ciò, è possibile utilizzare il seguente codice:
//marker creation
var marker = L.marker([44.63, 22.65]).bindPopup('something').addTo(map);
marker.openPopup();
//changing the content on mouseover
marker.on('mouseover', function(){
marker._popup.setContent('something else')
});
Come puoi vedere, puoi accedere al popup per il marker desiderato usando il metodo marker._popup, quindi utilizzare il metodo setContent per modificare il testo al suo interno.
popup.setContent del metodo di riferimento
Ecco un po 'di codice su Plunker che lo dimostra: http://plnkr.co/edit/vjS495QPXiJpKalrNpvo?p=preview
_popup
ha un carattere di sottolineatura per indicare che si tratta di un'istanza privata / membro e alla quale non è possibile accedere direttamente. L'API corretta è Layer.setPopupContent () . per esempio
marker.setPopupContent(newContent);
Potrebbe essere troppo tardi per rispondere, ma per gli altri, penso che il modo migliore sia qui
$('button').click(function() {
// Update the contents of the popup
$(popup._contentNode).html('The new content is much longer so the popup should update how it looks.');
// Calling _updateLayout to the popup resizes to the new content
popup._updateLayout();
// Calling _updatePosition so the popup is centered.
popup._updatePosition();
return false;
});