Phonegap watchPosition无法正常工作

时间:2012-09-17 09:56:57

标签: android cordova gps

我在一些带有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的?

1 个答案:

答案 0 :(得分:0)

首先,您是否正确设置AndroidManifest中的持久性?你可以在这里发布文件 - 特别是persission部分吗?

其次,您是否使用Android 2.3.3 - 如果是,那么您必须将SDK与Google Maps APi一起使用,因为正常的API GPS位置提供商无法使用。

最后一个Ant,在注册GPS位置时,你在控制台上有任何JS错误吗?