Creé una ventana emergente con Leaflet haciéndolo:
marker.bindPopup(content).openPopup();
¿Cómo puedo actualizar el content
valor después?
Supongo que desde el marcador, algo como esto:
marker.updatePopup(newContent);
Supongo que desea que el contenido cambie después de que ocurra algún evento, como mouseover, contextmenu o cualquier otra cosa.
Para hacerlo, puede usar el siguiente 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 puede ver, puede acceder a la ventana emergente para el marcador deseado usando el método marker._popup, y luego usar el método setContent para cambiar el texto dentro de él.
referencia del método popup.setContent
Aquí hay un código en Plunker que demuestra esto: http://plnkr.co/edit/vjS495QPXiJpKalrNpvo?p=preview
_popup
tiene un guión bajo delante para indicar que es una instancia privada / miembro, y no se debe acceder directamente. La API correcta es Layer.setPopupContent () . p.ejmarker.setPopupContent(newContent);
fuente
Puede que sea tarde para responder, pero para otros, creo que la mejor manera es aquí
http://jsfiddle.net/cPTQF/
fuente
Puede obtener el contenido emergente con:
Establezca el contenido con:
fuente