I briefly tried to do this and failed.. the software was kind of crude.
But the approach I'm following is the "tag after the shoot" approach. ; I have a handheld GPS that I use for.. well, more or less anything. ; I can do turn by turn navigation for car use, I can use it for geocaching, in Disney World I seriously use it to mark the location of the car in the parking lot so it's easier to find it at the end of the day.
Anyway, it can also record a track log, and since it uses removable storage I have a 2 gig microsd card in it and even recording a track point every second (the highest rate it can go) those 2 gigs can last for.. well I forget the time period, I once did the math though. ; But it's a long time. ; I've left it on for whole days of Disney park action, trying to record the path of a full day at Disney World.
The problem is finding the software to use to combine that data with the pictures. ; So far I've tried one or two freeware options that were pretty crude.
But done properly, with a good program, it should be simplicity in itself. ; Except that this may involve modifying the RAW files, which many people seem to be rather opposed to. ; But you could still do it to developed jpgs, I suppose. ; Anyway, the basic process is that the software compares the time that the photo was taken to the time stamps on the track log and tries to figure out where you were and then inserts the appropriate coordinates into the picture's exif data.
Ideally a program should have a time offset adjustment. ; This is a fun little trick.. at the start of the photo session you take a picture of the screen of the GPS to capture the time on the GPS in the image. ; Then you can compare that to the timestamp on the picture and figure out how many seconds the two clocks differ by, and then the better geotagging programs can adjust by that many seconds so you use the most accurate log point available.
You can also try to calibrate the clock in your camera to the gps, but it can be tricky to get that right. ; I can get my wristwatch to probably less than a half a second to the gps clock (which is constantly adjusted to the signals from the GPS satellites which use atomic clocks for hyper accurate time tracking, the entire GPS system is, I think, based on time, some specialized devices can use GPS receivers only to get a reliable timesignal), but my camera's clock setting function was a little clumsier. ; I probably got it to within a second or so, though, and that should be good enough unless you're shooting from a fast moving vehicle.
So anyway, most handheld GPS units should suffice for this approach. ; There are also numerous specialized track logging devices that don't even have screens, they might be at least marginally cheaper but the cheapest GPS units with screens have gotten pretty darned cheap. ; I'd say it'd be worth it to get the extra functionality just in case you might have a use for it some day. ; Just make sure that it has enough memory to store enough track points to suit your needs.