如何停止watchPosition()位置检索超时错误?

时间:2013-12-06 17:42:27

标签: android iphone cordova geolocation

我正在开发一个使用设备当前位置功能的phonegap应用程序,但在Iphone上测试时,应用程序每隔60秒发出一条错误消息,如下所示:enter image description here

我用来获取位置的源代码是:

function onDeviceReady() {

    var options = { maximumAge: 0, timeout: 10000,enableHighAccuracy: false };
    var watchID = navigator.geolocation.watchPosition(onSuccess, onError, options);

    function onSuccess(position) {
        if (position.coords.latitude) {
            sessionStorage.setItem("appLatitude", position.coords.latitude);
            sessionStorage.setItem("appLongitude", position.coords.longitude);
        }
        //alert(sessionStorage.getItem("appLatitude") + "&" + sessionStorage.getItem("appLongitude"));
    }

    function onError(error) {
        z.appNotification.getAlert('code: ' + error.code + '\n' +
                'message: ' + error.message + '\n');
    }

}

如何从提示中停止该错误消息?

1 个答案:

答案 0 :(得分:3)

如果您只想在使用后获取该位置:

navigator.geolocation.getCurrentPosition(onSuccess, onError);

如果您因任何原因想停止观看,请使用:

navigator.geolocation.clearWatch(watchID);