First off, you need to protect your electronics from perspiration. Both my wife and I have destroyed MP3 players and I have destroyed a cell phone due to perspiration. I put mine in ziploc bags or use those plastic bubbles used for shipping things.
Best option for marathons is one of the dedicated GPS watches. I have a Garmin Forerunner 405 and it was capable of lasting through a marathon (5+ hours for me.) At present I use a running app on my Nexus 5x and use it with a Moto 360. The advantage of that is:
- choice of running/activity apps.
- watch eliminates need to pull phone out to start/stop/pause
- watch has configurable screens for whatever stats I want to see.
- Moto 360 battery won't last through a marathon. (Maybe with the right app...)
- Requires the phone - but a newer Moto watch has a built in GPS. Might still need the phone for the HRM though.
At the end of the race when I'm hot and sweaty it can be really difficult to stop the run on either watch or phone. Touch screens don't react well to sweat tracks.