Google Maps has has geolocation support for a long time, but I still find people surprised of how it all works. So here’s a short writeup, skip it if you already know all about geolocation.
Lets start at the Google Maps frontpage. Among the zoom controls, above the little old man, there’s a button in the form of a small circle. It does not look like much, but what it’s doing is incredibly cool. Click it and the map moves to where you are, with an accuracy of ~20 meters. Sci-fi crazy!
How does it work? In the newer browsers (all but IE6, IE7, or IE8) may ask you for your positioning information from the browser. It usually shows up as a bar at the top of the browser. The browser then gathers two specific forms of positioning information from your computer: your IP address and the signal strength of any wireless network near you. That information is then sent, if you approve it, to Google, which returns the coordinates you are at the moment.
Google can do this because they’ve been driving around with their street view cars all over the world, and measured signal strength of WiFi networks (public and private) at each specific location. Now they can use that information, combined with your local signal strength conditions, to triangulate their way to where you are. And it’s both accurate and fast.
If your wireless reciever is turned off, or you’re at a stationary computer, all calculations are based on the IP number. These kind of lookups are quite arbitrary and inaccurate, I just get to the nearest big city when trying to use it over a non-wireless line. But mobile connections are slowly taking over landlines, so I guess this problem will solve itself automatically.
The best kind of technology throws you forward in time, and make your realize that we’re actually making progress. Geolocation has feel to it.
Looking for the techy explaination of geolocation? Have a look at Robert Nyman’s writeup.