I wonder how much Google has to pay for that location info, because it's not free. In Germany the mobile operators charge €0.10 from third parties for every localization, and Google's new service works also here.
The disclaimer on the mobile phone explains pretty good the functionality of My Location for Google Maps:
With the My Location (beta) feature, just press  to move the map to your approximate location. [...] Your approximate location will appear as a flashing blue dot. If you have a GPS-enabled device, this blue dot correspondents to your GPS location. At times, and if you don't have GPS on your phone, you may see the dot surrounded by a light blue circle to indicate uncertainty about your location.
Why the uncertainty? The My Location service takes information broadcasted from nearby mobile towers to approximate your current location on the map - it's not GPS, but it comes pretty close. [...]
As part ot the My Location (beta) feature, Google Maps sends anonymous radio information back to Google servers to improve the service. You can disable / enable this and all location features by selecting from the options below.
In Germany we have a company called Qiro which does quite the same, but they are more advanced with their service. I visited them in July 2007. You can locate yourself and your buddies on a map. Qiro shows nearby movie theaters with their current program, ATM machines, Burger King restaurants, train stations, travel agencies and many more things.
Unlike Google Maps, Qiro is already based on localized online advertising. The prices for advertisers are similar to the banner ads on your web browser. This means it's cheap, between €3 and €150 for 1.000 ads. Qiro needs a razor sharp calculation to earn the money back for the localization and still make a margin.
How does Google do it?
Do they get better prices? Or do they just don't care because they are drowning in money? I guess we have to read their next stock report and look for an item called "locator info".