我在一些带有phonegap版本2.0.0的2.x安卓设备中尝试了以下内容:
var onSuccess = function(position){
console.log("Success");
}
var onError = function(error){
console.log("Error");
}
gpsTrackWatchID = navigator.geolocation.watchPosition(
onSuccess,
onError,
{
enableHighAccuracy: true,
maximumAge: 5000,
timeout: 10000,
}
);
如果我在没有GPS信号的室内使用设备,则永远不会调用错误。文档说明:
如果在此时间内未调用geolocationSuccess回调, 将使用a调用geolocationError回调 PositionError.TIMEOUT错误代码。
我已经尝试通过在cordova.js中的watchPosition函数中放置一个console.log来调试它,但该函数似乎永远不会被调用。我想知道浏览器的本机功能是否正在执行而不是phonegap的?
答案 0 :(得分:0)
首先,您是否正确设置AndroidManifest中的持久性?你可以在这里发布文件 - 特别是persission部分吗?
其次,您是否使用Android 2.3.3 - 如果是,那么您必须将SDK与Google Maps APi一起使用,因为正常的API GPS位置提供商无法使用。
最后一个Ant,在注册GPS位置时,你在控制台上有任何JS错误吗?