Okay, seriously, this is not that difficult ^_^'. You just need to know how to access the sprites displayed on the map and know some math. I'm sure at least some of you guys can easily figure out what's going on in the method Pointer#update_position. The rest is just your regular sprite management.
PS: I've been thinking and it's very much possible to make a navigation line, not just a pointer. You'd need path finding and you need to figure out how to handle the sprites with lines drawn on them. I don't know much about how path finding is used though, it'll be a little tougher for me than a pointer.