回答:
マウスオーバー、コンテキストメニューなど、何らかのイベントが発生した後にコンテンツを変更する必要があると思います。
そのためには、次のコードを使用できます。
//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')
});
ご覧のように、marker._popupメソッドを使用して目的のマーカーのポップアップにアクセスし、setContentメソッドを使用してその中のテキストを変更できます。
ここでは、これを証明するPlunker上のいくつかのコードがあります: http://plnkr.co/edit/vjS495QPXiJpKalrNpvo?p=preview
_popup
その前にアンダースコアがあり、プライベート/メンバーインスタンスであり、直接アクセスすべきではないことを示します。正しいAPIはLayer.setPopupContent()です。例えば
marker.setPopupContent(newContent);
返事が遅れるかもしれませんが、他の人にとっては、最善の方法はここにあると思います
$('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;
});