OpenLayers provides us with the ol.Geolocation
class, which can be used to find the current location of the user and to track changes in location over time. This class accesses information provided by web browsers through the HTML 5 Geolocation API.
Before we go any further, it's important to discuss the technology behind the Geolocation API a little bit to understand its limitations. The location of a device can be determined by several methods. Typically, we think of the location as being determined by a Global Positioning System (GPS), but in practice, the location of a device can be determined by several means, including the following:
Public IP address: Every device that can access the Internet has a public IP address. Public IP addresses are allocated to various Internet providers in specific blocks, and so an approximate location for any device can be guessed from its public IP address. The accuracy of this guess can vary widely...