About five or six years ago I did wireless development on the Palm VII and Palm i705. These wireless apps were similar in design concept to a Mac OS X Dashboard Widget - except the apps were just HTML (no CSS or JS). The really cool thing was you could put a proprietary tag in your HTML form which told the cell tower repeater to embed its ZIP code in the HTML form submission on its way to your Web server.
You could just hit AutoFind in, for example, the Starbucks app and it would show you the closest Starbucks cafes without you needing to know your ZIP code. Very handy - plus, a user could block this feature if they wanted privacy. Obviously, this isn't good enough for navigation, but it's a start in the right direction without adding the costs of GPS electronics to the iPhone's price tag.
Unfortunately, Palm shut down its Palm.net service in 2004. I believe the Palm VII originally retailed for $599 and it used Cingular's network at a blazing 9600 baud. (I think only people over 30 use the word baud anymore.)
Does anyone know if this feature (ZIP code embedding) is still available on other mobile platforms?