Well the trick to that sort of thing would be level of detail renderings.

For example...you render out say a 2560x2560 pixel image of a square map and cut it up into 256x256 pixel tiles. That would be your default zoom level

Then you render closeups of each area at intervals up to the maximum zoom level you wish to allow. That way the images don't have to be re-rendered each time you change zoom level...it just loads up the next level of detail depending on how close-in your zoom is.

Add onto this support for overlays, map notes, fog of war, multiple views (like the map/satellite/hybrid views of google maps) and you've got a pretty feature-rich piece of software methinks.