Chrome and Firefox have HTML Geolocation implemented.
My question is: how does it work? Do they have a Database locally and get the information from the provider then try to match it?
Where is the DB stored ?
Can it be accessed ?
Update1: the only downside to geolocation is the browser has to ask the user for permission and this is really a bad thing for usability. I understand the security issue but still I don't see how this will become a popular solution.
Update2 : Firefox is using a Google WebService to detect the location. Now this seems very strange considering they are competitors now. Also this behavior it's really unexpected for me… I hopped each browser will have it's on (maybe offline) solution.
Update3 : So the browsers actually sniff for routers using your wireless network card?
Update4 : In the end what informations is the browser sending to the the google webservice ? The detected SSID seems ok ( and it makes sense that if they are tracked by google based on their physical position to make a lookup in the database for matching informations ) but how does it work so well in country where google didn't scanned this ? The other info your browser is sending is your ip but this is not enough to pin point your exact location right ?
Regarding other browsers that might implement this. How should they do it ? The api is not documented only the old deprecated GEAR api gives some clue. So this is not really public.
Best Answer
First, an amazing demo
Try this in Chrome.
How it works
Here is your answer. Click on "How Google Chrome determines your location".
From that page:
Also, I believe that Google Location Services contains a database built from data collected by Google Street View vans as they match locations with WiFi signals from routers (or at least used to).
Accessing the database
As for the database (Google Location Services), this SO question will help you access it.