我在我的应用中添加了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");
}
我的代码中的问题在哪里?
谢谢你,抱歉我的英语很差。答案 0 :(得分:7)
检查地理位置是否已正确安装
重新启动你的手机(愚蠢的解决方案,但它有时有效。我曾经面对过一次)
检查您的地理位置权限&设备已在设备
使用此代码进行测试
options = { enableHighAccuracy: true };
navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
如果您正在使用android,请尝试使用eclipse logcat获取错误。
答案 1 :(得分:6)
在iOS上,这将始终以某种方式工作。如果插件失败,将使用浏览器自己的Geolocation API。虽然有后备的不良副作用:
在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" />