【发布时间】:2013-10-21 17:38:00
【问题描述】:
我有任务找到获取当前位置的地理位置。我面临的问题是当我第一次运行应用程序时它会显示答案,如果我重复运行应用程序意味着它 显示错误:
code: 2
message: The operation couldn’t be completed. (kCLErrorDomain error 0.)
代码如下:
document.addEventListener("deviceready", onDeviceReady, false);
var watchID = null;
// PhoneGap is ready
//
function onDeviceReady() {
// Update every 3 seconds
var options = { frequency: 3000 };
watchID = navigator.geolocation.getPosition(onSuccess, onError, options);
}
// onSuccess Geolocation
//
function onSuccess(position) {
alert(position);
var element = document.getElementById('geolocation');
element.innerHTML = 'Latitude: ' + position.coords.latitude + '<br />' +
'Longitude: ' + position.coords.longitude + '<br />' +
'<hr />' + element.innerHTML;
}
// onError Callback receives a PositionError object
//
function onError(error) {
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
console.log('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}
我只在模拟器中运行应用程序。我不知道出了什么问题?
【问题讨论】:
-
你用了什么。? navigator.geolocation.watchPosition OR navigator.geolocation.getPosition.?
-
@JDev 只是我使用了 navigator.geolocation.watchPosition
-
你传递了什么作为观看位置的选项。?您能否编辑您的问题并发布您的完整代码或观看位置的功能。
-
@JDev 我编辑了我的代码
-
如果您使用的是cordova 2.9,请使用此示例并尝试。在这里,您使用了“getPosition”和“watchID”,我认为您使用了错误的方法。 docs.phonegap.com/en/2.9.0/…请使用此链接作为参考并尝试。
标签: javascript jquery iphone jquery-mobile cordova