我在我的应用程序中添加了Geolocation插件,并使用此代码获取phonegap中的当前位置.但是这段代码不起作用.
document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { alert("4"); navigator.geolocation.getCurrentPosition(onSuccess, onError); } function onSuccess(position) { alert("1"); } function onError(error) { alert("3"); }
我的代码中的问题在哪里?
谢谢你,对不起我的英语不好.
检查地理位置是否正确安装
重启你的手机(愚蠢的解决方案,但它有时工作.我面对它一次)
检查您的地理位置权限和设置是否已在设备中启用
用这段代码测试
options = { enableHighAccuracy: true };
navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
如果您正在使用android,请尝试使用eclipse logcat获取错误.
在iOS上,这将始终以这种或那种方式工作.如果插件失败,将使用浏览器自己的Geolocation API.尽管有一些不良的副作用:
弹出的权限对话框在标题中具有html文件的名称而不是应用程序名称
只有在应用程序运行时,授权权限才会保留
在Android上,只有在app/AndroidManifest.xml中设置了正确的权限才能生效:
<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" />