¿Cómo uso jQuery promise / diferido en una función personalizada?

Tengo una función que consigue la ubicación a travésnavigator.geolocation:

var getLocation = function( callback ){

    navigator.geolocation.getCurrentPosition( callback || function( position ){

        // Stuff with geolocation

    });

};

Me gustaría hacerlo para poder encadenar esta función usando jQuerys 'Aplazado Objeto, pero todavía no he logrado comprender el concepto y el uso de Deffered.

Estoy buscando algo similar a estoPseudo codigo:

getLocation().then(function(){
    drawMarkerOnMap();
});

¿Es esta sintaxis incluso posible sin voltear hacia atrás y ahogarse en el código?

Respuestas a la pregunta(3)

Su respuesta a la pregunta