I've never used an app, but I've seen them. Instead, I opted to just attach a GPS receiver to my camera. My Nikon D7000 has a port for this purpose, and while Nikon makes a receiver, I found a third-party receiver for a fraction of the cost of the Nikon unit that has worked extremely well. It mounts on the hotshoe on my camera, but also has an adapter to allow it to be attached to the camera strap, should I have my external flash attached. It does take a few minutes when first powered on in a new location to get a fix, but once it does, it tracks very quickly and automatically. It does draw power from my camera's battery, but not so much to really be an issue.
Depending on your camera, that may be an option. I spent about $100 for the receiver I'm using.