Popular photo sharing sites like flickr allow you to tag your photos with geographic location data and display them on a map. The metadata format built in to all modern digital cameras (EXIF) supports latitude/longitude coordinate data. The missing link is a camera that has a built in GPS receiver (well there is one, but it's bulky, ugly and takes 30 seconds to get a location lock). This is all changing thanks to a company called Geotate.
One of the main reasons more cameras don't have embedded GPS receivers is that calculating a GPS location is a computationally expensive endeavor. Having a radio receiving satellite data and a processor calculating the delays between the signals and triangulating your location takes many processor cycles. Many processor cycles means additional power usage and thus lower battery life.
Geotate's solution is to only record the signals from the satellites during the split second when you shoot the photo. Their chipset (the white square in the photo below) grabs the satellite signal data in only 177 milliseconds and records the raw data to a 128 kB file. The data is stored with the image and later processed on your computer.
A Geotate GPS chip mounted on a Zoran Cam Mini development board:
GE's new 10.1 megapixel E1050 contains [according to Engadget] a Geotate GPS chip:
Altek was showing off a demo camera using the Geotate chip:
Geotate's processing software is currently for Windows only, but OS X and Linux versions are in the works:
Jobo announced their photoGPS unit last year at PMA07. They haven't released any further specs for the device which mounts on your camera's hot shoe and records coordinates when you snap a photo. The GPS unit will eventually retail for $149 at some point down the line. The Jobo GigaVu Extreme (bottom) will be able to download the coordinates from the photoGPS and either update the EXIF / IPTC data or create XML sidecars for the RAW files which can then be read in Lightroom or Aperture.