Google Maps is a very nice service. Their map data is pretty shoddy (it is still only beta, though), but the interface is rather nice, and people have come up with some cool hacks. I look forward to future developments.
My own modest contribution to the hackage is a form which fetches individual tiles of the map:
The way the coordinates work is a bit funky: they're indices into the grid of tiles (increasing to the south and east), rather than real distance coordinates. Consequently, the coordinates of a given point (or rather, the tile containing a given point) are different at different levels of zoom: if you take the zoom down one level, double the coordinates; up one level, halve them. I will refer to coordinates as (x,y)@z, or as (x,y), implying z=0. My gut feeling is that the coordinates refer to the northwest corner of the tile.
Zoom is pretty straightforward - level 0 is about 1:2850ish (by comparison to Multimap), and each increment doubles the scale.
A rough alignment of the coordinates with the national grid suggests (38810,-6172)@1 = (77620,-12344) = TQ 308.00 856.75; i should do some points far away (one in Cambridge, one in Dartford - the furthest-away places i have Explorer maps for!) and work out a reasonably accurate affine mapping between the coordinates (which would include a more accurate value for the scale). One note of caution: the OS maps use a transverse mercator projection; Google apparently doesn't use a projection, it just uses raw lat/long.