I am playing with phone based Google maps and GPS/Google location services for a while now. Here is how I understand it by experimentation and observation.

If you go to the preferences menu of the Location services card, you'll see that you can select using GPS and/or Google Location services.
If you choose GPS only, you will be dependent on GPS reception. Google services uses three sources for location:
- WiFi hot-spots
- GPS
- Cell towers triangulation

If Google identifies a WiFi hot spot, it will use it first to determine location, and will not even try to use the GPS.. If no hot-spot is recognized, it will try GPS, but while trying to lock GPS, it will use Cell tower triangulation to determine location, until/if GPS locks on the satellites.

GPS is the most accurate locating method, (I saw 6 meters), second if WiFi hot-spot usually 60 meters, and tower triangulation accuracy depends on the density of the network, reception, etc. from a few hundred meters for kilometers..

I noticed that it takes time for Google to locate a WiFi spot, and based on my observation over time (with the Pre, and before it the Treo Pro), they make sure there is a history of GPS and WiFi correlation from the same location, and by more then one phone. It took a while for my home WiFi to be used by location services..

So while Im at home the map locates me if seconds because it uses my WiFi router as a location. But if I turn off WiFi and restart teh map, it will take a while to lock GPS, or use tower triangulations based on where I am in the house..



A funny incident confirm this, when I was in Rome Italy two weeks ago and rented an apartment. the owner brought his home WiFi router so I could have internet in the apartment. When I used Google location with WiFi on, I would get the owner's home location (5Km away), if I turn off the WiFi on my phone I will get a more accurate location..