leaflet.js - Defina o marcador ao clicar, atualize a posição ao arrastar

Para um projeto pequeno em que estou trabalhando, preciso colocar um marcador em um mapa de imagem energizado do leaflet.js e atualizar a posição desse marcador, caso ele seja arrastado. Eu uso o seguinte código para tentar isso, mas ele falha. Eu recebo o erro "marcador não definido". Eu não sei porque não está funcionando - talvez vocês possam me ajudar? ;)

function onMapClick(e) {
    gib_uni();
    marker = new L.marker(e.latlng, {id:uni, icon:redIcon, draggable:'true'};
    map.addLayer(marker);
};

marker.on('dragend', function(event){
    var marker = event.target;
    var position = marker.getLatLng();
    alert(position);
    marker.setLatLng([position],{id:uni,draggable:'true'}).bindPopup(position).update();
});

questionAnswers(1)

yourAnswerToTheQuestion