Lacking GPS input (like if you’re in the bottom of a building or using a computer with no GPS), the browser does its best to guess. It uses information from Wifi (google has a pretty good database of WiFi access points/names,MAC addresses, and their locations) and it also uses the information your ISP sets up for your IP address. Sometimes none of this data is accurate and the geolocation service on your browser and on the server are completely off base.
Phones can use different systems to locate you depending on what is available to them.
Ideally they use a built in GPS, which can pinpoint you to a few meters.
If GPS is unavailable, they can also triangulate from the cell towers – by comparing the time it takes to get a signal from three different towers, it can get an approximate location.
Without any phone signal, you can also get a rough location by asking where the server you are connected to is located – typically it will be a local server, so can narrow your location down to an area of a city – this is how Google on your computer locates you.
Occasionally all of these can go somewhat haywire and temporarily place you in the completely wrong location.
Latest Answers