Map markers on a canvas that pop up boxes when clicked
My comments are more just on style as opposed to performance:

Instead of using :

if(box.el.css('visibility') == 'hidden'){


it's more readable to use :

if(box.el.is(":hidden")){


And similarly, instead of using :

box.el.css('visibility', 'visible');


you can use :

box.el.hide();


A note on this one though, these are not exactly equivalent because hide actually sets display: none.  In this case though I believe that's fine.

And one final comment, it's a good practice to name variables which contain jQuery objects with a $ at the beginning.  This allows you to know that the variable is already a jQuery object without going back in the code to check and avoids accidentally creating jQuery objects out of objects that were already jQuery objects.

So something like this:

var t = $(this),
    name = t.text()


would become this:

var $t = $(this),
    name = $t.text()