As a solution to your problem: I would attach a click event to the canvas and in the mouse-event I would examine the mouse-coords, then a simple list of areas combined with polygons you could do some sort of collision test on. Rectangles would be a start, but if you truely need special areas, a more advanced collision test would have to be made.
A quick solution I have used in Flash for pixel precision maps, is to make a second hidden overlay bitmap, that you use for lookup when someone click on the visible image.
Its same technic used in old adventure games. Each "area/object/link" has its own pixel color. And then you just keep the list of objects with the matching color.
Once you have the pixelcolor under the mousecoord, then you can do a very quick lookup in the table.. and bingo...
First you clear the "click image" with zero's (black) and thats equal to "no link", then you draw every area with a special color and store this color in the list.
Ask if you need more help. I hope this was a usefull answer.