I've been seeing a lot of posts lately about people's DINC displaying the wrong location in weather widgets or clocks or even maps. I'm gonna do my best to explain, from top to bottom (as best as I know) how location works on your phone and what to do when you get a bad location, and why.
1. LOCATION SERVICES
You have two location services, Verizon and Google. You can't really choose which one to use, different apps or features will use one or the other. VZNavigator uses Verizon location services, pretty much everything else uses Google Location Services. I keep verizon off and google on.
What a location services does is, report to a database the wifi Mac Address (if wifi is on) and cell tower IDs that are currently in range of your phone. The database is basically a map of these signals, and reports back a location based on the signals around you. If something is mapped wrong in this database it will report a wrong location.
2. GPS/WiFi/Cell location
Your GPS sensor is the most accurate, and it doesn't use the location services (Google/Verizon database) at all. If your GPS is turned on, and you try to get a location the phone will try to connect to the signal from at least 3 of the 21(?) GPS satellites orbiting the earth.
For GPS to work, (any GPS, not just your phone) you need a directly line of sight path to at least 3 sats. It counts the time it takes for a signal to go from the sat to the sensor, then, knowing the location of the sat, can compute the location of the sensor. So, in structures or areas with tall buildings or trees, or a valley, sometimes its tough to get 3 good signals. Which is why there exists the Location Services.
If your GPS is on, but you can't get a location fix, the phone will then (if enabled) switch to retrieving a location via Location Services. It will first try to use WiFi (if enabled), because there are more WiFi signals scattered around than cell towers, allowing for a more accurate position.
If WiFi is off, or no WiFi signal can be found, it will use Cell towers. I've heard people say it tries to triangulate based on cell towers, but based on my observation, this isn't the case. It knows the cell tower your connected to, and knows the location of that cell tower, so it will put your location at the cell tower with a large error radius (if viewing in Google Maps.)
So with everything enabled, the phone will go in this order trying to find your position.
1. GPS - accurate to within a few meters (depending on number of sats.)
2. Location Service (WiFi), accurate to within a few hundred meters.
2. Location Service (Cell tower) Accurate to within a few miles.
Its always using one or the other, WiFi doesn't improve a GPS signal, it gets a location using either GPS, WiFi, or Cell Towers... WiFi and Cell Tower locations are both processed by the same Location Service, but uses one or the other.
3. A-GPS
Your GPS sensor is an Assisted GPS system. Meaning it downloads some date to find the satellites quicker and get a faster Time To First Fix. (TTFF). A-GPS is no more accurate, just a bit faster to get the first GPS fix.
4. Trouble Shooting a Bad Location.
So, your in Podunk West Virginia but your phone puts you in Afghanistan, what to do?
1st. Is it a widget or location issue? Open maps and click the get location button. Is your location correct? If yes, your widget is the issue.
Next, whats enabled? If GPS is turned on, you might not be getting a good enough signal. Grab an App called GPS Status. You can see how many (if any) sats. your connected to, your TTFF, and a lot of other sensor information. Does it have a fix? (If your location is reported wrong, chances are your GPS is off or you don't have a good fix.)
Next, turn WiFi off, does your widget report the right city? Check your location in maps.
Either there is a incorrectly mapped WiFi signal or cell tower in your area. Turning WiFi on and off, forcing it to switch from using WiFi and Cell tower locations should tell you which one it is.
What to do?
So, you've narrowed it down, and there is some incorrectly mapped WiFi signal around you, causing your phone to put you on the other side of the planet. There isn't really much you can do. You can report the error to Google here:
Report wrong location detection (WiFi only) - Google Mobile Help
But other than that, not much, just wait till Google fixes it. The good news is, this should only happen when that WiFi signal is in range. If every time you go to work it says your in Pakistan, you can manually set your location for your widgets, and know it should only do that when at work, and you know where you are already, so it shouldn't be that bad.
If its a bad Cell Tower causing the issue, you can report that to Verizon, but the situation is the same, can't do much.
---------------
I hope this helps some people, I've tried to be as complete as possible, let me know if I missed anything helpful or got something wrong.
I'm a GIS administrator, and work with locations, mapping, GPS data etc. all day long, so this is my little area of somewhat expertise.
1. LOCATION SERVICES
You have two location services, Verizon and Google. You can't really choose which one to use, different apps or features will use one or the other. VZNavigator uses Verizon location services, pretty much everything else uses Google Location Services. I keep verizon off and google on.
What a location services does is, report to a database the wifi Mac Address (if wifi is on) and cell tower IDs that are currently in range of your phone. The database is basically a map of these signals, and reports back a location based on the signals around you. If something is mapped wrong in this database it will report a wrong location.
2. GPS/WiFi/Cell location
Your GPS sensor is the most accurate, and it doesn't use the location services (Google/Verizon database) at all. If your GPS is turned on, and you try to get a location the phone will try to connect to the signal from at least 3 of the 21(?) GPS satellites orbiting the earth.
For GPS to work, (any GPS, not just your phone) you need a directly line of sight path to at least 3 sats. It counts the time it takes for a signal to go from the sat to the sensor, then, knowing the location of the sat, can compute the location of the sensor. So, in structures or areas with tall buildings or trees, or a valley, sometimes its tough to get 3 good signals. Which is why there exists the Location Services.
If your GPS is on, but you can't get a location fix, the phone will then (if enabled) switch to retrieving a location via Location Services. It will first try to use WiFi (if enabled), because there are more WiFi signals scattered around than cell towers, allowing for a more accurate position.
If WiFi is off, or no WiFi signal can be found, it will use Cell towers. I've heard people say it tries to triangulate based on cell towers, but based on my observation, this isn't the case. It knows the cell tower your connected to, and knows the location of that cell tower, so it will put your location at the cell tower with a large error radius (if viewing in Google Maps.)
So with everything enabled, the phone will go in this order trying to find your position.
1. GPS - accurate to within a few meters (depending on number of sats.)
2. Location Service (WiFi), accurate to within a few hundred meters.
2. Location Service (Cell tower) Accurate to within a few miles.
Its always using one or the other, WiFi doesn't improve a GPS signal, it gets a location using either GPS, WiFi, or Cell Towers... WiFi and Cell Tower locations are both processed by the same Location Service, but uses one or the other.
3. A-GPS
Your GPS sensor is an Assisted GPS system. Meaning it downloads some date to find the satellites quicker and get a faster Time To First Fix. (TTFF). A-GPS is no more accurate, just a bit faster to get the first GPS fix.
4. Trouble Shooting a Bad Location.
So, your in Podunk West Virginia but your phone puts you in Afghanistan, what to do?
1st. Is it a widget or location issue? Open maps and click the get location button. Is your location correct? If yes, your widget is the issue.
Next, whats enabled? If GPS is turned on, you might not be getting a good enough signal. Grab an App called GPS Status. You can see how many (if any) sats. your connected to, your TTFF, and a lot of other sensor information. Does it have a fix? (If your location is reported wrong, chances are your GPS is off or you don't have a good fix.)
Next, turn WiFi off, does your widget report the right city? Check your location in maps.
Either there is a incorrectly mapped WiFi signal or cell tower in your area. Turning WiFi on and off, forcing it to switch from using WiFi and Cell tower locations should tell you which one it is.
What to do?
So, you've narrowed it down, and there is some incorrectly mapped WiFi signal around you, causing your phone to put you on the other side of the planet. There isn't really much you can do. You can report the error to Google here:
Report wrong location detection (WiFi only) - Google Mobile Help
But other than that, not much, just wait till Google fixes it. The good news is, this should only happen when that WiFi signal is in range. If every time you go to work it says your in Pakistan, you can manually set your location for your widgets, and know it should only do that when at work, and you know where you are already, so it shouldn't be that bad.
If its a bad Cell Tower causing the issue, you can report that to Verizon, but the situation is the same, can't do much.
---------------
I hope this helps some people, I've tried to be as complete as possible, let me know if I missed anything helpful or got something wrong.
I'm a GIS administrator, and work with locations, mapping, GPS data etc. all day long, so this is my little area of somewhat expertise.