speed
值在 Android 5+ 中始终为 null
。我们使用这些:
- 核心:Cordova - 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
– 没有成功。 HighAccuracy
为 true
。
我们必须使用 getCurrentPosition
为 Android 5 实现解决方法(而不是为其他操作系统完美运行 watchPosition
),这在很多时候会导致计算某些时间间隔的速度最高 400 公里/小时,同时计算总体速度或多或少准确。
- Android 5 是否缺少任何权限?
- 我们可以做些什么来解决这个问题?
我们希望按原样为所有平台使用同一个代码,并继续使用 watchPosition
,因为它运行良好。
- 有什么建议吗?这是一个已知问题吗?
相关说明:一般来说,Cordova 与 Galaxy 设备是否存在任何已知的错误/问题? 谢谢!
最佳答案
navigator.geolocation.getCurrentPosition()
仅在选项 enableHighAccuracy
设置为 true
(默认)时检查 GPS。
您可以将 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" />
希望对您有所帮助。
关于android - 在 Android 5+ 上使用地理定位插件时速度为 “null”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31704512/