Android 5中的速度值始终为null.我们用这些:
>核心:科尔多瓦 – 5.1.1
>平台:Cordova-Android 4.0.2
>插件版本:1.0.1
>设备:三星Galaxy S4(A5.0.1),Nexus 5(A5.1.1),LG G3 Stylus D690(A5.0.2).
我们在更新到Android 5之后立即遇到此问题.
虽然在Android 4和iOS上仍然可以正常工作.我们尝试了getCurrentPosition和watchPosition – 没有运气.高精度是真的.
我们必须使用getCurrentPosition实现Android 5的解决方法(而不是为其他操作系统完美地使用watchPosition),这在很多时候导致计算某些时间间隔的速度高达400 km / h,同时计算总体上或多或少的准确速度.
>我们缺少Android 5的任何权限吗?
>我们可以做些什么来解决这个问题?
我们希望为所有平台使用一个代码,并保持使用watchPosition,因为它运行良好.
>有什么建议吗?这是一个已知的问题?
相关说明:Cordova与Galaxy设备一般存在任何已知的错误/问题吗?
谢谢!
解决方法
当选项enableHighAccuracy设置为true(默认值)时,navigator.geolocation.getCurrentPosition()仅检查GPS.
您可以将enableHighAccuracy设置为false.
您可以将enableHighAccuracy设置为false.
{enableHighAccuracy:false,maximumAge:Infinity,timeout:60000}
您可能需要以下权限
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
希望能帮助到你.