I have used Google myTracks on my android phone to record a track, export that to gpx format. I then have an app on my mac that will add the GPS tags to the RAW files using exiftool, I forget what it's called but I will check this evening.
Very simple process, I just pick the raw files to update, pick the GPS track then click map. It even has a feature to correct the time if the GPS and camera times are out, which other wise would mean incorrect GPS tags.
If your concerned by weather proofing then you can get a proper hand held GPS navigation unit, many of which are fully waterproof. Or put your phone into a waterproofing bag, which is far cheaper.