I have a flash based application which uses a decidedly different
mechanism for rendering maps.
First a bit of review.
Map Tiles: (typical approach)
Most map servers provide a set of tiles which are of the same
resolution and span (about) the same amount of area.
Furthermore these tiles knit nicely together at their edges.
As the zoom level changes the previous set of tiles are replaced with
a new set.
Now there may be some optimization performed where the previous set
are used as a starting point for the new level but ultimately the
previous set are replaced and discarded.
This approach has some nice features, such as keeping the memory
Map Patches: (a different approach)
Suppose I have a bunch of patches taken at different zoom levels and
the boundaries of which don't start or stop at locations based on some
pattern. Essentially, a bunch of snapshots with their meta-data (they
have a zoom level and extents, just not prescribed ones).
Consider photos taken by a model rocket or balloon (http://lindholm.jp/
chpro_bal.html) or airplane or... (you get the idea).
The patches are now placed on the screen based on the intersection of
two bounding boxes, one for the current position being observed and
one for the extents of a patch.
The z ordering of the patches is based on the quality (grain size) of
Now this approach can take quite a bit more memory as the images lay
over each other.
I have found that busting up patches into smaller regions and dropping
out low quality patches which are hidden by higher quality images can
give memory usage which uses memory which is only greater by a
constant than that of map tiles.
The big gain is that the images can be much more dynamic.