It is quite easy to get confused with the various location detection methods. And there are reasons why some of them send information to google..
First, lets cover the 3 types of location detection:
- Wi-Fi based
- Network Cell based
- GPS based
Wi-Fi based is the least accurate (well, it can get pretty accurate if trained properly). It's based on information that is given out to the network by your IP address. This is the one that needs to send data to google to figure out where you are. In theory the IP address given to you is sent to google and google then figures out from the address your general location. The location can also be wrong, for my home network it's generally some 300km wrong... NAT doesn't help this process. Computers behind a NAT connection are detected as coming from a single point, which is the location of the IP address that is visible to the rest of the world. I'm assuming google has arranged for an internal locator for large operators that do large scale NAT, so that they can actually see the location from inside the network. But in the end, this is just a guess.
GSM network based location doesn't need a connection to google. The way this works is that each tower has an identifier and the phone is able to calculate a general location based on it's relation to neighboring towers. This is the way how mobile phones are traced to certain location from the network side as well. It's also worth noting that Google Maps uses this information as the only source of location information on phones that do not have a GPS. It's generally rather accurate in cities, but less accurate elsewhere (due to the increasing distance between towers).
GPS based location is your phone listening in to the GPS satellites and calculating the location in relation to those satellites. In essence it's the same thing as GSM network based location but in a bigger scale and with data that has been designed for geolocation.
So, there you have it. I hope that clears up a bit why data is sent to google. You should also keep in mind that i'm not an authority on these fields and all of this information is second hand information...
In the end WiFi information is the easiest to retreive since the phone is likely to have an active internet connection most of the time. Next is the GSM network based since you already have the information about towers and neighbors, but the calculations need to be done. GPS is the most tricky one since you need to obtain a fix for information that is not present already. The phone needs to figure out where it is, where are the satellites in relation to the phone and so on before it can provide any data, not to mention accurate data.