Update: This information is regrettably out of date. As of April, Apple stopped using Skyhook’s location services in favor of its own. Just as regrettably, Apple appears to offer no way to submit updated location information.
Reader Tim Erskin’s iPhone doesn’t seem to know where it is. He writes:
When my iPhone 4 is connected to my home Wi-Fi network and I open the Maps app, it tells me the phone is in a city 75 miles from its real location. But when I connect over a 3G network, Maps shows where I really am. What’s going on?
First, a short explanation. The iPhone can find its location in a variety of ways—via the iPhone’s GPS circuitry, cell tower triangulation (where it sits in relation to surrounding cell towers), and Wi-Fi positioning (again, in relationship to Wi-Fi access points with known location information).
GPS is quite accurate, but it works only when your iPhone can “see” the sky. It’s not much help indoors. Cell tower triangulation is less accurate and no help at all when you’re outside the range of a cell signal. Wi-Fi positioning works via Skyhook’s positioning system. Skyhook has a database of known Wi-Fi access points and tells devices like the iPhone where they are based on how close the device is to one or more of these access points.
From the sound of it, your router’s media access control (MAC) address—an address unique to a network adapter or interface card—is tied to an inaccurate location in Skyhook’s database. Fortunately, you can correct the problem.
To do that, just travel to Skyhook’s site and submit an updated Wi-Fi access point. It’s easy to do. First, enter the street address of the access point’s location and click a Map It button. In short order, a map displaying the location appears. Now locate the MAC address for your router. (It may be on a sticker on the device. If not, the free iStumbler will tell you what it is.) Then enter your e-mail address and click a Submit button. You’ll receive an e-mail confirmation that you’ve submitted an update to the router’s place of residence. Within a week or so the access point should report an accurate location, thus allowing your iPhone to pinpoint its correct location.