i'll present them in increasing order of complexity
1. make the map tilebased-split the map into a grid of tiles (commonly used tile size is 64), and have clicking on a tile (which you can easily calculate from the mouse x,y by dividing each by 64) trigger the desired response
2. rectangular hotspots-for areas that trigger responses, store a rectangle that describes that area. when the mouse is clicked, check to see if the mouse is within any of the rectangles, and if so, trigger the response.
3. oddly shaped hotspots-similar to rectangular hotspots, only you also use a monochrome bitmap representation of the actual thing you are clicking on (your example was a mine entrance, you would make an image of the mine entrance where all of the pixels of the mine entrance were white, and the rest black). when a mouse click occurs, you again check against all of the rectangles, and if it is in the rectangle, you check the pixel color of the monochrome image that corresponds to the mouse's position within that rectangle. if white, trigger the event, if black, dont.