Eu criei um pop-up com o Leaflet fazendo isso:
marker.bindPopup(content).openPopup();
Como posso atualizar o content
valor posteriormente?
Suponho que faça isso a partir do marcador, algo como isto:
marker.updatePopup(newContent);
Suponho que você queira que o conteúdo seja alterado após a ocorrência de algum evento, como mouseover, menu de contexto ou qualquer outra coisa.
Para fazer isso, você pode usar o seguinte código:
//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')
});
Como você pode ver, você pode acessar o pop-up do marcador desejado usando o método marker._popup e, em seguida, use o método setContent para alterar o texto dentro dele.
Referência do método popup.setContent
Aqui está um código no Plunker demonstrando isso: http://plnkr.co/edit/vjS495QPXiJpKalrNpvo?p=preview
_popup
possui um sublinhado à frente para indicar que é uma instância privada / membro e não deve ser acessada diretamente. A API correta é Layer.setPopupContent () . por exemplomarker.setPopupContent(newContent);
fonte
Pode ser tarde demais para responder, mas para outros, acho que a melhor maneira está aqui
http://jsfiddle.net/cPTQF/
fonte
Você pode obter o conteúdo pop-up com:
Defina o conteúdo com:
fonte