android geolocation使用phonegap代码:3错误

use*_*670 6 android cordova

我正在尝试使用PhoneGap API doc进行地理定位,但收到以下错误消息,

警报代码:3消息:超时已过期

我的代码是,

    <script>

// Wait for Cordova to load
//
document.addEventListener("deviceready", onDeviceReady, false);

var watchID = null;

// Cordova is ready
//
function onDeviceReady() {
    // Throw an error if no update is received every 30 seconds
    var options = { timeout: 10000 };
    watchID = navigator.geolocation.watchPosition(onSuccess, onError, options);
}

// onSuccess Geolocation
//
function onSuccess(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');
}
Run Code Online (Sandbox Code Playgroud)

请告诉我我缺少的东西.

Mis*_*ith 0

Phonegap 使用与 Geolocation API 相同的接口,您也可以在没有 Phonegap 库的常规 Web 应用程序中使用该接口。

规格来看

TIMEOUT(数值 3)
在实现成功获取新的 Position 对象之前,超时属性指定的时间长度已经过去。

因此,您可以尝试提供更高的超时值作为参数。如果您唯一的提供商是 GPS,10 秒是非常短的时间。在这种情况下,即使在室外,修复也可能需要 40 到 60 秒。