PhoneGap 3.3:如何获得最佳准确度?

时间:2014-04-24 14:02:14

标签: android ios cordova geolocation

我使用PhoneGap制作应用程序,我需要最好的地理位置。

我用这个:

var options = { enableHighAccuracy: true, timeout:30000};
navigator.geolocation.getCurrentPosition(success, fail, options);

我尝试使用以下方法优化搜索:

var options = { enableHighAccuracy: true, timeout:30000};
navigator.geolocation.watchPosition(success, fail, options)

但它返回大致相同的精度(在几种类型的地方10到40之间)。

此外,地理定位函数(getCurrentPosition和watchPosition)非常慢。通常会超时(30秒)。

我在网上做了很多研究,但我发现没有什么可以帮助我。你可以帮帮我吗?有没有一个很好的方法来获得最好的地理位置?是否可以使用PhoneGap,循环接收每秒gps数据?

提前谢谢你。

问候。

1 个答案:

答案 0 :(得分:1)

好的,我找到了解决方案......

在文件app / platforms / android / src / org / apache / cordova / geolocation / GPSListener.java中:

我改变了:

this.locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 0, this);

通过

this.locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 0, this);

就像那样,我更快地接收GPS数据。我做了

watchID = navigator.geolocation.watchPosition(geolocalizeWatchSuccess, geolocalizeWatchError, { timeout: 20000 , enableHighAccuracy: true, maximumAge: 30000});

我抓住了最好的准确性。

显然这个问题来自phonegap 3.x。

再见。