Old iPhone Tricks: GPS Tracker
Sep 18, 2014 technology travel
This is the time of year when a lot of people are upgrading their phones. If you are, don’t chuck your old phone just yet!
Here’s a thing you might not know about your iPhone1: the GPS unit works even without a data connection. I was confused for a long time about what “assisted GPS” actually meant. My understanding was that it was impossible for an AGPS phone (which the iPhone is) to acquire a GPS signal without a data connection. Turns out it works fine — you just have to wait a bit longer for the phone to find a satellite.
So here’s what I do with my old iPhone 4. Whenever I set out for a walk, I load up an app called myTracks and hit the Record button. Then I chuck the phone in my bag and forget about it. At the end of the day, I retrieve the phone — more often than not with plenty of charge remaining — and stop the recording. Finally, I can connect my phone to my computer and export this data as a kml
file (among several others) to use with Google Maps:
(Incidentally, setting this viewer up was surprisingly easy. First, I exported the kml
data from the app — in this case, EasyTrailsLT, which I’m also trying out. Next, I went and got a Google Maps Javascript API key. Finally, I wrote a quick Jekyll plugin to replace kmlasset
tags with a bit of boilerplate Javascript code that calls Google Maps. End result: I can drop my kml
in a folder, add a tag, and have the map show up magically in my blog post. This is just a small example of how Jekyll makes doing data-heavy blogging a lot more simple, which I’ll delve into in later posts!)
Most of the GPS apps I’ve looked at still support iOS5, so your phone doesn’t even have to be a recent model. I’d still use my 3GS for this purpose if the battery was up to snuff.
People always panic when Google or Apple slips up and caches a bit of your location data, but I feel the opposite. With an old iPhone and just a bit of dilligence, I can create a map of everywhere I’ve walked in the world!
Jekyll assets created over the course of this exercise
- kmlasset_tag.rb — A Liquid tag that feeds a
kml
file url into a Google Maps applet.
-
Since I only have Apple hardware at the moment, I have no idea if this also applies to Android. Sorry! ↩︎
—Archagon
September 18, 2014