iPhone GPS tracking = 'snap to road' issues

English   |   Código fuente

It's time for my first non-PowerShell related post. This time round its about my efforts to find an iOS app that provides relatively accurate iPhone GPS tracking - harder that you might think!

I have recently starting riding an Evolve Skateboard around which is some of the best all year round fun I reckon you can have! I highly recommend these electric longboards to anyone wanting a slightly different way of commuting or just having fun. That's for another post though...

I wanted to track my rides to see how far/fast I was travelling. I didn't want to spend huge amounts of money in buying a Garmin or Magellan GPS so I turned to my trusty iPhone GPS. It turns out once you're moving faster than approximately running pace this is harder than one might think... It seems this is to do with a Location Services class the developers can specify, CLActivityType vs CLActivityTypeFitness. From what I can gather, the Wahoo Fitness app sets this correctly whereas RunKeeper and Strava do not.

The iPhone GPS app's I've tried are RunKeeper, Strava and Wahoo Fitness and I've settled on Wahoo (with my internet connection turned off).


This is where I started; I already had it installed and used to use it a lot for walking/running in the past. After my first ride with RunKeeper I checked the map uploaded to RunKeeper's website and was shocked! Apparently I wasn't travelling on that little bike path anymore, I was boarding around the road itself, even when the road was a good 5-10 metres from the path. That definitely wasn't right.

I started looking around the web for similar issues and this is a very widespread problem, especially for cyclists. It seems Apple's Location Services detects the iPhone is moving fast enough that you could be in a car so it decides to 'move' your GPS reading onto a road so the app can provide better turn-by-turn tracking. Now this isn't such a bad idea, if I was in a car using turn-by-turn navigation... but I'm not. I read some more and found that turning off the iPhone's internet connection should prevent the phone's GPS from 'snapping' to roads. I tried this with RunKeeper and it didn't help at all - so I moved on to try something else.


I loaded up Strava as that seems to be all the rage with the cyclists around here... well nope, same issue there! Even with the internet connection turned off Strava's GPS map was still showing that I was on a road more often than the bike path... next!

Wahoo Fitness

I then read about Wahoo Fitness and some reports were saying it was pretty good once your internet was turned off. So far it seems that is the case. My GPS tracks are much closer to the paths I'm actually travelling on, however if I forget to turn the internet off it is definitely just as bad as all the other apps for this.

An added bonus is Wahoo can export your activity directly into both Strava and RunKeeper so I can continue to use either (or both) of those platforms to track my total distance. Now, if only one of these platforms supported 'Long Boarding' or 'Electric Skateboarding' as an option......

So there you have it, from my experience, Wahoo Fitness with internet connectivity turned off is the best iPhone GPS app I've found for tracking fitness related activities.

NOTE: The link below is to a blog that was the primary source of information I found around the iPhone, GPS tracking and the CLActivityType/CLActivityTypeFitness


So I thought Wahoo Fitness was the go to sort out my iPhone GPS issues, it turns out I was wrong. Here's what today's track showed - so quite clearly even Wahoo Fitness is snapping my track to the road when I'm going too fast. Grrrrrr

I guess I might just look at buying a cheap Garmin GPS.