PhoneGap на самом деле использует геолокацию спутников GPS так же, как платформа Android. Вы должны получать местоположения с более точной точностью, чем 150 м, если GPS вашего телефона включен. Каждый раз, когда вы вызываете методы geolocation.getCurrentPosition()
или geolocation.watchPosition()
, класс PhoneGap GeoListener
запрашивает у поставщика GPS и поставщика NETWORK, затем он создает прослушиватель для обоих поставщиков, если они существуют. Это причина, по которой вы получаете широкий диапазон точности.
Таким образом, если вы хотите задать местоположения с высокой точностью, вы можете установить его в значение true для параметра geolocationOptions
, переданного вышеупомянутым методам. Проверьте API: geolocationOptions
navigator.geolocation.watchPosition(
onSuccess, onError,
{ maximumAge: 3000, timeout: 5000, enableHighAccuracy: true });
Если вы хотите иметь больший контроль и более точное поведение запросов местоположения, вы можете расширить API PhoneGap для этого.