Das müsste die Google Maps API hergeben. Technisch basiert das wohl auf einer Datenbank mit Funkzellen, die je nach Aufenthaltsort den zu dir nächst gelegenden Mobilfunkmasten ausspuckt bzw. dich durch die Sendestärke und einer Art "Kreuzpeilung" (nenn es mal laienhaft so) im Aufenthaltsradius eingrenzt.
Und genau diese Datenbank ist ja das Problem. Weil die Telkos geben die Daten ziemlich sicher nicht freiwillig raus.
Außerdem kannst Du lediglich aus der Location Area in der Du bist sehr schwer errechnen, wo Du bist. Dazu brauchst Zugriff auf die Daten der BTSen in der Location Area um zu triangulieren.
IIRC gab's dazu auch eine österreichische (!) Judikatur, wonach die möglicherweise ausgelesenen Daten nicht so ohne weiteres verwendet werden dürfen, weil Eigentum der Telko.
Bei WiFi Netzen gibt es auch eine ziemlich große Datenbank mit allen möglichen Hotspots (Freewave, Fon!, beim Wardriving eingetragenen Netzen, usw.) die dir in Zusammenhang mit der Mobilfunkortung recht gute Ergebnisse beschert.
*G* Über die Eindeutigkeit der ESSID brauch ich hier zum Glück nicht philosophieren