It seems phonegap does not use GPS satellite instead geolocation from cellular network. I am not satisfied with the accuracy, always between 150-1000 meters. GPS activity logo i
PhoneGap actually uses GPS satellite geolocation just as Android platform does. You should be receiving locations with a more precise accuracy than 150m if your phone's GPS is enabled. Whenever you call the geolocation.getCurrentPosition()
or geolocation.watchPosition()
methods, PhoneGap's GeoListener
class asks for a GPS provider and a NETWORK provider, then it creates a listener for both providers, if they exist. This is the reason you are getting a wide range of accuracies.
So in case you want to force high accuracy locations, you could set it to true on the geolocationOptions
parameter passed to the above methods. Check the API: geolocationOptions
navigator.geolocation.watchPosition(
onSuccess, onError,
{ maximumAge: 3000, timeout: 5000, enableHighAccuracy: true });
In case you want to have more control and a more accurate behaviour of location requests you can extend PhoneGap's API to do so.