I'm making the transition to a much more stable, usable, and tool-rich photo management tool, iView Media Pro 3. I got tired of dealing with the incredibly slow interface to iPhoto thanks to Apple's incapable handling & testing of EXIF metadata in storing to their library.
But I digress.
Behold, there was scripting
... and it was good.
I had written an Applescript to set the latitude & longitude (and other location info) to selected photos in iPhoto. iPhoto was often beligerent and required a restart of the iPhoto (and possible database recreation) to read the location information (which was viewable in the "info" panel).
iView puts the location info as a user-editable set of fields in the EXIF data fields. Users can set city, region, country, etc. But for whatever reason, they are unable to change the latitude & longitude.
I paired down my iPhoto script to just handle latitude & longitude and handle getting the file name from iView. The tough part was how to get from the iView example selected_images to a useful POSIX path to feed to exiftool. This code does the trick.
set selectedID to selected_images(1)
if selectedID = {} then
display dialog "No photos selected"
return
end if
repeat with this_photo in selectedID
set photo_path to path of this_photo
set the image_file to the POSIX path of photo_path
Installing & Using the script

To use the script, select whatever photos you want to apply the same location information to. Then go to the "Scripts" icon in the menu bar, and choose the "Set Lat/Lon" script. Enter the latitude, longitude, and altitude in decimal format, pressing "OK" after each field. Wait a little while, and then a dialog will tell you how many photos were processed.
Back in iView, you should see the latitude & longitude information in the right side-bar. You can also turn on lat/lon view in the thumbnail view by pressing Command-J and selecting "Latitude" "Longitude" "Altitude". You may need to press Command-B to rebuild the thumbnail to have the info show up the first time (or on updates).
When exporting images (say to flickr!), your geo-annotated data will stay intact and can then be mapped (or mapped).