cordova navigator.geolocation.getCurrentPosition api始终返回错误代码3

时间:2014-07-16 14:42:02

标签: cordova geolocation ibm-mobilefirst

当我使用worklight开发标准混合应用程序时,我使用示例代码如下,但即使我在街上,我也无法在设备上获取位置信息。它总是返回错误的代码3.它可以多次成功。你能帮助它如何使它有效吗?我在Worklight 6.1和6.2上测试了同样的问题。

我在Android设备上测试三星S3。

感谢。

var onSuccess = function(position) {
    alert('Latitude: '          + position.coords.latitude          + '\n' +
          'Longitude: '         + position.coords.longitude         + '\n' +
          'Altitude: '          + position.coords.altitude          + '\n' +
          'Accuracy: '          + position.coords.accuracy          + '\n' +
          'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '\n' +
          'Heading: '           + position.coords.heading           + '\n' +
          'Speed: '             + position.coords.speed             + '\n' +
          'Timestamp: '         + position.timestamp                + '\n');
};

// onError Callback receives a PositionError object
//
function onError(error) {
    alert('code: '    + error.code    + '\n' +
          'message: ' + error.message + '\n');
}

navigator.geolocation.getCurrentPosition(onSuccess, onError);

2 个答案:

答案 0 :(得分:0)

PositionError代码3适用于Timeout。您可能想尝试Bluewings的建议。另请注意,您可以尝试使用WL.Device.Geo.acquirePosition API。

答案 1 :(得分:0)

代码3 - 超时。

设置更长的超时时间:

navigator.geolocation.getCurrentPosition(
    onSuccess, 
    onError, 
    {
        **timeout: 10000**, 
        maximumAge: Infinity
    };
)