As discussed in in this article (http://goo.gl/RVe4h) the accuracy of the navigator.geolocation.getCurrentPosition is normally poor. In order to improve it watchPosition is used. This jQuery plugin extends the navigator.geolocation.getCurrentPosition and implements minAccuracy option that uses watchPosition to try to get accurate enough position before triggering the callback.