This has already been around for a few years.
http://www.placeengine.com/en - developed in Japan. I tried it out when they first launched it. It works quite well. Most of the major Japanese cities are covered and they have a pretty good handle on major cities outside Japan. London, NYC, LA, Toronto etc.
And yes, it can estimnate your location inside buildings as well. Of course it needs somebody to go visit those places to feed it the relevant WiFi signal strengths in the first place.