Hi there,
Understood the requirements, had to look up what "Prezi presentation" zoom effect looks like and fortunately found a video showing it in effect. I can code such effect in JavaScript/Canvas.
I would like to clarify step 4, if by "another graphic" you were referring to the magnified part of the initial map, then I understand the requirement, otherwise please clarify as I don't see how step 3 and 4 come together in such case.
No dimensions would be hardcoded, so replacing the map would be a matter of replacing one image with another. I can even include a loadMap() method which would allow dynamically loading a new map, if you ever want to do it without loading a new page.
Regards,
Julijan