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

Posted

技术标签:

【中文标题】PhoneGap 3.3:如何获得最佳准确性?【英文标题】:PhoneGap 3.3 : how to have the best accuracy? 【发布时间】:2014-04-24 14:02:13 【问题描述】:

我使用 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】:

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

在文件 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。

再见。

【讨论】:

以上是关于PhoneGap 3.3:如何获得最佳准确性?的主要内容,如果未能解决你的问题,请参考以下文章