TiPb loves answering your questions, but we also love sharing our answers with the community in hopes that more people will benefit, and even better answers will present themselves (hey, that’s why we have them forums!). Today’s question comes from Stupendoussteve on Twitter:
ever heard of iPhone finding you at a previous address, states away, where you've never even taken the phone (post restore)?
We have! And TiPb answers after the break!
The iPhone uses Location Services to determine where it is. Location Services uses three (3) distinct technologies, and different iPhones (and iPod touches) support different levels.
The most precise, supported only by the iPhone 3G, is aGPS. aGPS uses cell tower-based GPS crunching to give you a fairly tight indication of your current position.
Next is cell tower triangulation, supported by iPhone 3G and the original iPhone 2G. Google mapped all cell towers in the US (and other countries), recorded their GPS locations, and then tries to determine where you are if it doesn't have -- or can't get to -- an aGPS signal proper.
The last -- and the one causing your problem -- is WiFi router mapping. Skyhook got into a bunch of vans, drove around the US (and other countries), detected WiFi routers in homes and businesses, and recorded their unique IDs along with their GPS locations.
For iPod touches, and for iPhones that aren't getting good aGPS locks, Location Services uses WiFi mapping to find out where you are. The problem you're encountering is likely that Skyhook recorded the location of your WiFi router when you lived in another state, and now when your iPhone is finding it, it still thinks you're at that old address, across town, or across the country.
Skyhook may eventually drive around and re-map your WiFi router, or you can go to SkyhookWireless.com and manually re-locate your WiFi in their system -- though in our experience it can take a long time for them to update either way.