Ich habe ein Popup mit Leaflet erstellt:
marker.bindPopup(content).openPopup();
Wie kann ich den content
Wert anschließend aktualisieren ?
Ich nehme an, es vom Marker aus zu tun, so etwas:
marker.updatePopup(newContent);
Ich nehme an, Sie möchten, dass der Inhalt nach einem Ereignis geändert wird, z. B. Mouseover, Kontextmenü oder etwas anderes.
Dazu können Sie den folgenden Code verwenden:
//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')
});
Wie Sie sehen können, können Sie mit der Methode marker._popup auf das Popup für den gewünschten Marker zugreifen und dann den darin enthaltenen Text mit der Methode setContent ändern.
popup.setContent Methodenreferenz
Hier ist ein Code auf Plunker, der dies demonstriert: http://plnkr.co/edit/vjS495QPXiJpKalrNpvo?p=preview
_popup
Vor ihm befindet sich ein Unterstrich, der angibt, dass es sich um eine private / Mitgliedsinstanz handelt, auf die nicht direkt zugegriffen werden sollte. Die richtige API ist Layer.setPopupContent () . z.Bmarker.setPopupContent(newContent);
quelle
Es könnte zu spät sein, um zu antworten, aber für andere denke ich, dass der beste Weg hier ist
http://jsfiddle.net/cPTQF/
quelle
Sie können den Popup-Inhalt erhalten mit:
Stellen Sie den Inhalt ein mit:
quelle