我正在使用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。
答案 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
}