The HTML5 specification includes a new Geolocation API, which allows for scripted access to geographical location information associated with the a device's browser.
Visitor's location may be determined by any of the following:
- IP address - wireless network connection - cell tower - GPS hardware on the device
W3C Geolocation spec states: No guarantee is given that the API returns the device’s actual location.