微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Phonegap Android Geolocation watchPosition超时

我正在使用Cordova 3.0.0,三星galaxy S3 4.1.2进行测试.

当我测试Phonegap完整示例以观察位置时:http://docs.phonegap.com/en/edge/cordova_geolocation_geolocation.md.html#geolocation.watchPosition

我得到一个带coords的第一行,然后我得到了错误

code 3
message : Position retrieval timed out.

并且不会返回其他位置.我的iPhone上的代码相同.
我在走路时测试,当我在车里时也是如此.

我注意到当我在Android设备上使用谷歌地图时,顶部栏上会弹出一个gps图标.
当我启动我的应用程序时,它不在这里.

Manifest已正确设置权限,我的选项是:

var options = { maximumAge: 3000, timeout: 5000, enableHighAccuracy: true };
watchID = navigator.geolocation.watchPosition( onSuccess, one rror, options );

我的应用程序需要精确工作……

感谢帮助.

解决方法:

好的,经过几个小时的测试后,我设法使用Cordova 3.1.0在Android上运行watchPosition.

你需要做的:使用html5 only api进行地理定位,不包括http://cordova.apache.org/docs/en/3.1.0/cordova_geolocation_geolocation.md.html#Geolocation

如果您已在项目中使用它,请通过CLI将其删除
    cordova插件rm org.apache.cordova.geolocation

当然,在你的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" />

这对我有用,请告诉我它是否适合你.如果需要,我会发布代码(但是完整的示例工作例如)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐