Home Home Map Settings Why is my Geolocation showing inaccurately?....
GPS (via Google API) option is now available for more accurate geolocation which is sometimes not possible with Geo IP.

The Accuracy of geolocation depends on how does your geolocation is determined. We use Geolocation by GPS and IP Address. 

There are a variety of ways that your device and the location service provider calculate your position, and some are more accurate than others. GPS is often the most accurate.

How does the Geolocation API can determine your location –

IP Address Location information based on your IP address uses an external database to map the IP address to a physical location. The advantage of this approach is that it can work anywhere; however, often IP addresses are resolved to locations such as your ISP’s local office. Think of this method as being reliable to the city or sometimes neighborhood level.

GPS Global Positioning System, supported by many newer mobile devices, provides extremely accurate location information based on satellites. Location data may include altitude, speed, and heading information. To use it, though, your device has to be able to see the sky, and it can take a long time to get a location. GPS can also be hard on your batteries.

Cell Phone Cell phone triangulation figures out your location based on your distance from one or more cell phone towers (obviously the more towers, the more accurate your location will be). This method can be fairly accurate and works indoors (unlike GPS); it also can be much quicker than GPS. Then again, if you’re in the middle of nowhere with only one cell tower, your accuracy is going to suffer.

WiFi WiFi positioning uses one or more WiFi access points to triangulate your location. This method can be very accurate, works indoors and is fast. Obviously, it requires you are somewhat stationary (perhaps drinking a venti iced tea at a coffee house).

Source: https://stackoverflow.com/questions/18328381/geolocation-give-wrong-position