They are using geo-location, based on the IP address of your current internet connection.
This usually provides your location to approximately the same level of detail as your post town. It's not always very accurate - for example, one lookup of my IP address puts me in Woking, Surrey and another in Richmond - the latter is closer, but still wrong - while a third correctly places me in Twickenham.
It depends for accuracy on what secondary information the lookup service is using, as the primary source (IP address only) will just give the location of the organisation that registered the address (or block of addresses), in my case, the ISP.
Here's a useful site:
IP Location Finder - Geolocation
If you want to prevent this geolocation, you would need to use some form of IP address proxy or anonymizer. Even a VPN session into a work system would (almost certainly) produce different results.
SD