我曾经遇到过 Geolocation Cordova 插件 (org.apache.cordova.geolocation) 的问题,它在 iOS 上运行良好,但在 Android 上完全不起作用。
据我所知,该插件曾包括原生 Android 代码,但在某个时刻被删除了,因为它太多错误/速度太慢,而本地Web HTML5实现更加稳定和快速。
如果我使用最新的插件版本 (0.3.2),其中仍然包含原生代码,它确实可以工作(但是比较缓慢,而且并非总是如此)。但当返回时,位置对象总是填充的。
如果我使用最新的插件版本 (1.0.1),getCurrentPosition() 立即返回一个空对象 ({})。它不会抛出错误。
如果我完全删除插件,并手动将权限添加到 Android 项目中:
<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控制台中没有显示任何错误。有什么想法吗?
coords
和timestamp
是Geolocation
原型的getter,我猜JSON.stringify
只输出对象自身的属性。 - Nick Bedford