确定GPS状态javascript

时间:2014-03-19 17:56:52

标签: javascript html5 gps geolocation

我正在使用HTML5 GeoLocation开发一个应用程序。到目前为止,我已经设法确定用户在有效卫星连接后的位置。

当前代码:

function requestPosition() {
    if (nav == null) {
        nav = window.navigator;
    }
    var geoloc = nav.geolocation;
    if (geoloc != null) {
        geoloc.watchPosition(successCallback, errorCallback, { enableHighAccuracy: true });
    }
}
function successCallback(position) {
   //success gets location
}
function errorCallback(error) {
    // Check for known errors...outputs to screen
}

在开始记录位置之前,如何确定是否存在与卫星的活动连接?

注意:我目前没有使用phonegap,但是,将来有可能使用phonegap。

1 个答案:

答案 0 :(得分:1)

您可以尝试拨打GPS,直到成功回拨为止。

间隔延迟必须低于geoloc超时。 在某些情况下,也许,successCallback将在setInterval之后执行,因此你将有2个successCallback。

 var interval;

function requestPosition() {
    if (nav === null) {
        nav = window.navigator;
    }
    var geoloc = nav.geolocation;
    if (geoloc !== null) {

        interval = window.setInterval(function () {
            geoloc.watchPosition(successCallback, errorCallback, {
                timeout: 4000,
                enableHighAccuracy: true
            });

        }, 5000);

    }
}

function successCallback(position) {
    clearInterval(interval);
}

function errorCallback(error) {
    // Check for known errors...outputs to screen
}