You have two basic choices. Go all vector which is all shape files and GIS or all bitmap which is GMaps & Gimp. You can render a vector map to a bitmap and serve it as GMap sliced tiles or you can use some other web based vector tool to display shape files and other GIS data.
If you go vector and GIS then try QGIS or QuantumGIS which is free and will be able to create shapefiles but I don't know what kind of java script/applet tools you might have to run it on a web page natively tho I would guess with confidence that it could output your map to a bitmap for slicing and tiling with GMaps.
If you go bitmap with Gimp etc then try out making a 16384 square image and also a 2048 square image of the same map but tidy up the streams, roads and place names in the two images to suite the two resolutions and see if you can substitute the tiles from the small map into the large ones divide by 8 slice. I believe that in GMaps it has many tiles per slice and a set of slices which I think are like the zoom layers. If you can insert the small maps slices into the top slices of the large map then you could have a map which scales over several different images with different detail on it. Thats kind of hard work and the point about why I wrote my app.
If you have a detailed vector map then export the whole thing as a 16384 map and a 2048 map and get the GIS part of the app to do the selection and rendering of the shapes at the different scales. It ought to be smart enough that it renders thin shapes as a single line at some point instead of blending them out into nothingness. The advantage of the vector GIS thing in this instance is that you ought not to have to make custom touch ups to the small map export each time you make changes to the whole map. The downside is that you will have more trouble with vector editing than bitmap editing.
Vector shapes are like putting down the 4 corners of a square and telling it what color and style to fill it. From there you can add extra points to the edges of the square and drag them about and its redrawing the shape each time. In Gimp and bitmaps its about pixels. You might have an undo but essentially you can put a square down but if you want to drag it about you will smear pixels instead of moving an edge line. Its much harder. But its a whole lot easier to put down a texture of a mountain or a lake without having to draw it in lines and shapes.
As well as QGIS, you ought to check out Xara, Inkscape and CC3 for vector style tools, Fractal Mapper and mine are hybrids then you have a load of bitmap apps where you can use GMaps, Worldwind, GeoServer, SimpleTiles, Silverlight and so on for the rendering. For web pages you can use your GMaps API, Silverlight API or otherwise you would need to run a server for say Worldwind, GeoServer, my app and so on. At a push you can also use plain ole HTML and use the image map links but you might need to write that in a scripting language to get that going on anything more than trivial.