5

プラットフォーム: iOS6/OSx ライオン。

Phonegap/Cordova との連携方法を解明しようとしていnavigator.geolocation.watchPositionます。

ドキュメントによると、オプション " maximumAge" は、システムに位置の取得を要求するものです。

これらのオプションを使用すると、次のようになります。

{ maximumAge: 3000, timeout: 5000, enableHighAccuracy: true }

位置リクエストは 3 秒ごとに実行されると思いますか?

そして、私が何maximumAgeを入れても、成功は1秒ごとに発生します...

誰でも説明できますか?

ありがとう、さようなら
ロブ

4

1 に答える 1

6

現在、 を使用getCurrentPositionしてこの問題を回避していsetIntervalます。結果がどうなるかはわかりませんが、これは私に最も制御を与え、プラットフォーム間で最も一貫した方法であるようです.

// call this once
setupWatch(3000);

// sets up the interval at the specified frequency
function setupWatch(freq) {
    // global var here so it can be cleared on logout (or whenever).
    activeWatch = setInterval(watchLocation, freq);
}

// this is what gets called on the interval.
function watchLocation() {
    var gcp = navigator.geolocation.getCurrentPosition(
            updateUserLoc, onLocationError, {
                enableHighAccuracy: true
            });


    // console.log(gcp);

}

// do something with the results

function updateUserLoc(position) {


var location = {
    lat : position.coords.latitude,
    lng : position.coords.longitude
};

console.log(location.lat);
console.log(location.lng);
}

// stop watching

function logout() {
    clearInterval(activeWatch);
}
于 2012-11-06T17:31:49.473 に答える