I recently got myself a Garmin GPSMap 76CSx handheld GPS unit. It has mapping capability, and has the features needed to be usable on a bike: relatively light and small, good battery life, and reasonably weatherproof.
Sadly, the folks at Garmin have not yet felt it necessary to support Mac users with their software. One workaround for this is to use virtualization software to run their software under Windows. I have VMWare Fusion on my Mac, and it does work, but I prefer not to do that.
Fortunately there is some open source software out there that does the trick. It's called GPSBabel, available from http://www.gpsbabel.org. GPSBabel is able to connect to the GPS unit over USB and transfer files bidirectionally. It can also do some nifty conversions that let you actually make useful things happen. Read on. (Update June 2009: Garmin now has RoadTrip for the Mac, so GPSBabel no longer needed)
Before we get to the things I like to do with GPS, I should mention the maps that I use. I started off thinking that topographic maps would be the right thing for use mostly in bike riding. So I bought Garmin's MapSource Topo 2008 on DVD and installed it using Garmin's Windows software on VMWare. All this worked, but it turns out that the Topo maps have crude approximations for where roads go, and this makes them essentially useless for me. So I sold that DVD on eBay (yay!) and got the MapSource City Navigator North America on a micro-SD chip that installs directly into the GPS unit. That works great!
While we're on the SD card, which installs next to the batteries, I should mention that I'm using NiMH rechargeables and getting reasonable life, though probably not what Garmin claims. One nice thing is that when the unit is plugged into a powered USB port (either a computer or one that I have in the car that operates off the lighter port) it does not draw on the battery. The battery does not charge, though, sadly.
Now for some of the couple of neat things I've done with GPS and Google on my system.
I like to plan out a bike route before I go on it. These are mostly loops, since I don't have a sag-wagon to pick me up at some distant site. I use Google maps to plan the route -- I pick a starting point, then tell Google to get directions to a point very nearby, though not so close that it's hard to grab the route line between them on the screen. I then drag the route line out to a larger loop until it goes exactly where I want to ride. I can see how long the ride is in the information displayed in the left panel with the turn-by-turn directions. Sometimes it pays to try Google Maps' new feature of giving you walking directions; it pays to experiment. So far so good, but how to get it into the GPS?
Another piece of free software appears just at the right time: GMapToGPX (available at http://www.elsewhere.org/journal/gmaptogpx). GMapToGPX installs as a bookmark in your browser (I use Firefox 3) and when you click it magically grabs your route off the page and displays it in GPX format in a window. You copy that text, stuff it into a GPX file and it's ready to transfer to your GPS with GPSBabel. One hint is to change the name of the route from the generic one that GMapToGPX supplies to something more recognizable. If you want you can also change the waypoint names that it puts in, but for me that's too much trouble. One other hint
Once the GPX file is on your GPS unit, you can use it to guide you on your path, whether it's by car or bike.
After your trip you might want to see what you did, especially if you deviated from the assigned route. You can do this again using GPSBabel and Google Earth (maybe also Google Maps, though I have not tried this). Download your track from the GPS unit using GPSBabel, but instead of saving it to a GPX file, save it to Google Earth's KML format. Then fire up Google Earth, import that file and you can see your track. Our ride around Cape Ann looked something like the screenshot here.