Ask HN: how is browser geolocation so precise?
I'm in the middle of nowhere, connecting through cable, google maps doesn't even have the street view anywhere within 40 miles, my laptop doesn't have a GPS. Yet my browser geolocates me exactly. And I mean EXACTLY, it points to the house I'm in.
I just asked my wife, who is traveling abroad, to try it, and it also pinpointed her within 50 feet.
Try it yourself - go to google maps, click on the dot above the orange man icon.
I have no idea how it works so well.
I tried IP to location services, and none of them are even close. Most of them are 40-70 miles off.
34 comments
[ 2.6 ms ] story [ 94.1 ms ] threadhttp://google-latlong.blogspot.com/2009/07/blue-circle-comes...
In my case, there's no wifi, I'm on cable. So it must use my IP. Yet all other IP->location services I've tried are not even close.
I'm asking because I'm writing some code that would benefit greatly from such precise geolocation. Unfortunately that browser thing (navigator.geolocation.getCurrentPosition) only works after your user explicitly allows to share his location, which is annoying at best.
But is your computer's WiFi receiver turned off? If not, that's how Google knows where you are. They have an enormous database of MAC addresses of WiFi access points and their geographic location. Many of those were gathered while taking StreetView pictures, others are provided by companies like Skyhook Wireless.
I have a wired connection (fiber optic) so I usually leave WiFi turned off. After reading your question, I tried the geolocator in Google Maps. It couldn't find me at all. Once I turned on WiFi, it knew exactly where I am. After I turned WiFi off again, Google still knew my location, but only in the web browser that I used before.
For instance, check this map to see whether Skyhook Wireless has wardriven by your house: http://www.skyhookwireless.com/howitworks/coverage.php
And again, they don't need your router. You just need to have a WiFi receiver in your computer, turn it on, and your computer will scan for nearby networks. The MAC addresses of your neighbors' networks are checked against those in Google's database. If Google finds three or more, it knows exactly where you are.
It's possible to disable this "feature" in the Android settings, but I guess most users don't bother changing this.
You can provide a prompt to allow the user to give you permission, but seriously? Its ridiculous that you're complaining about security =p
I do not understand how it could nail your house with just your IP. Do you have a cellular connection built into your laptop? What ISP? Maybe your ISP shares data with google?
If you've submitted contact information (mailing address, billing address) on a site that partners with MaxMind, then you may have provided them your exact address and IP. I'm sure Google must use this as one of their geolocation sources.
http://www.maxmind.com/app/ip-location-explained
MaxMind partners with various websites where users are asked to enter some form of geographical location information. The IP address and location data are forwarded to MaxMind after all personally identifiable information have been scrubbed to protect privacy concerns. MaxMind then runs millions of these IP location pairs through a series of algorithms and programs that identify, extract, and extrapolate relevant associations between IP address and geographical information.
Source: http://www.maxmind.com/app/ip-location-explained
So think about that the next time you fill out a form online. When you put in your billing address, they are collecting your physical location and tying it to your IP address. Even if they aren't getting full address to IP lists, they could at least calculate that certain ranges apply to certain streets.
Apple does collect this kind of data, but they don't sell it (and especially not to Google). The Maps app on the iPhone doesn't send this data to Google either.
Apple built the Maps app themselves, they only use Google's map data. It's in Apple's interest to keep the data they've collected to themselves, they're using it to build an alternative to Google Maps.
Browser geolocation uses the id and signal strength of wireless access points. But as mentioned in this thread already, that is only one of many signals including your device's gps and rev-ip data.
This is why I only use wi-fi when necessary, and also generally keep Location Services turned off on every device I own, unless I specifically need location.