当我使用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);
答案 0 :(得分:0)
PositionError代码3适用于Timeout。您可能想尝试Bluewings的建议。另请注意,您可以尝试使用WL.Device.Geo.acquirePosition API。
答案 1 :(得分:0)
代码3 - 超时。
设置更长的超时时间:
navigator.geolocation.getCurrentPosition(
onSuccess,
onError,
{
**timeout: 10000**,
maximumAge: Infinity
};
)