SVG is made for things like this,
SVG is very similar to flash.
good browsers (like firefox) support SVG natively
weak brwsers like IE need plugins to display SVG
there native drivers for SVG
there are also some applets that can display SVG
SVG can be displayed in mobile phones
there are some open source components to display SVG
there are some open source components to display Maps using SVG
there are some standards for storing maps
some of above components support those standards for storage of maps
it is best to use a component that use both SVG and map standards
if you want to develop the component your self:
SVG is XML, you can generate part of the map to be displayed on server side
unlike flash which has action script, SVG has no special scripting language, you can use ECMA script with SVG
you can use SVG with ECMA Script (Java Script) to get clicking on map event and fetch more detailed zoomed map from server,