2016-08-04 4 views
0

私はcordova 6.1.1を使用しています。最新バージョンのcordova-plugin-geolocationを使用しています。私はgetCurrentPossition(onSuccess,onError)watchPossition(onSuccess, onError)の両方を試しました。そして、両方とも私のジオロケーションを(緯度、経度)で瞬時に更新していません。cordova geolocationは現在の場所を瞬時に見たり取得したりしません

私は私のlocator.js

getTagLocation: function(tagId,callback) { 
     console.log('in getTagLocation func') 
     locator.TrackingLocation(); 
}, 

と追跡場所のgetTagLocation()で位置を追跡するには、次のように定義されます

TrackingLocation: function() { 
    var onSuccess = function(position) { 
     locator.devicePosition.coords.latitude = position.coords.latitude; 
     locator.devicePosition.coords.longitude = position.coords.longitude; 
     locator.devicePosition.timeStamp = position.timestamp; 
    }; 

    var onError = function(error) { 
     console.log("[ERROR]: "+error); 
    }; 

    navigator.geolocation.watchPosition(onSuccess,onError); 
}, 

そして、私のapp.jsに、私は位置が表示されます。

displayResult: function(data){ 
     app.display("output message : "); 
     app.display(data); 
}, 

connectSuccess: function() { 
    console.log("in connectSuccess"); 
    app.display("Connected to: " + app.macAddress); 
    connectButton.innerHTML = "Disconnect"; 
    locator.getTagLocation('00176883',app.displayResult); 
    setTimeout(function() { 
     locator.unsubscribeTagLocation(app.displayResult); 
    }, 30000); 
}, 

私の視点から、私は何をしたのですか?元の関数を私のロケータにラップします。したがって、30秒の期間では、できるだけ早く自分の位置を更新する必要があります。しかし、おそらく5〜6秒、時には10秒以上の間に自分の位置を更新することはありません。私は彼らのレポで問題トラッカーを見つけられなかったので、私はここで私の質問をしています。

答えて

0

デフォルト設定はいいえです。使用しないでください。私は変更しなかった何

は、オプションのパラメータを与えられます。

navigator.geolocation.watchPosition(onSuccess,onError, {maximumAge: 300, timeout:1000, enableHighAccuracy: true}); 

この変更はデフォルト設定よりも瞬時の出力方法を作りました。

これらの値はハードコードされているため、ハードウェアの状態によって大きく異なります。このwatchPositionをデバイス上で完璧に動作させたい場合は、そのマシンで学習することをお勧めします。

関連する問題