1

私はあなたが取るルートを記録することができる楽しいためにアプリで働いています。私はGoogle Maps APIとPhonegap Buildについて学ぶためにこれを使用していますので、ここで使用しているツールです。PhoneGapアプリケーションで現在のジオロケーションを保存する頻度を減らす方法はありますか?

私は位置データ(lat、lng)を配列に集めてから、GoogleのAPIを使用して結果を地図に表示します。将来私はそれらを行に結びつけて、コメントなどを許可したいと思います。

a trip around with coordinates

かなりきちんとした:ここで

は私の近所の周りのドライブは次のようになります。しかし、何かここで間違っています。多くの座標点をマップしようとすると、アプリがクラッシュします。ここではin the docs、オプションのハッシュについて説明します。私のように見える:

var options = { maximumAge: 1000, timeout: 3000, enableHighAccuracy: true }; 

私は完全に説明を理解するか分からない。 maximumAgeは、新しいGPSや位置情報がないため、以前のGPSデータを使用するだけなので、9999999に設定すると、キャッシュされたデータが使用されないようにする必要があります。

タイムアウトがトリッキーです。位置情報は保証ではないため、時にはエラーが発生することがあります。しかし、その数を増やすことで、プロットポイントが少ないルートが作られますか?どこのGPSシステムが携帯電話と連携して動作するかを知ることができますか?

ポイントを少なくしてより正確なプロットを行うには、これらの設定を変更するにはどうすればよいですか?

+0

このプラグインをチェックしてください:https://github.com/mauron85/cordova-plugin-background-geolocation – Joerg

+1

[GPSは信頼できません](https://github.com/jessemonroy650/googleMapExamples/wiki) /GPSisUnreliable.md) – JesseMonroy650

答えて

0

navigator.geolocation.watchPosition 位置の変化が検出されると、デバイスの現在の位置が返されます。デバイスが新しい場所を取得すると、geolocationSuccessコールバックはPositionオブジェクトをパラメータとして実行されます。エラーがある場合、geolocationErrorコールバックはPositionErrorオブジェクトをパラメータとして実行されます。今

構文

var watchId = navigator.geolocation.watchPosition(geolocationSuccess, 
               [geolocationError], 
               [geolocationOptions]); 

// onSuccess Callback 
// This method accepts a `Position` object, which contains 
// the current GPS coordinates 
// 
function onSuccess(position) { 
    var element = document.getElementById('geolocation'); 
    element.innerHTML = 'Latitude: ' + position.coords.latitude  + '<br />' + 
         'Longitude: ' + position.coords.longitude  + '<br />' + 
         '<hr />'  + element.innerHTML; 
} 

// onError Callback receives a PositionError object 
// 
function onError(error) { 
    alert('code: ' + error.code + '\n' + 
      'message: ' + error.message + '\n'); 
} 

// Options: throw an error if no update is received every 30 seconds. 
// 
var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { timeout: 3000 }); 

、このように場所は、デバイスが少ないプロット点を有するので、経路を移動している場合にのみ捕捉されます。 あなたの要件に応じてタイムアウトを変更してください。

clearwatchデバイスの場所の変更を監視したくない場合。

+0

これは私が使用しているものです。 'watchPosition'です。しかし、それはGPSにしばしばそれをpingしています。タイムアウトが問題だと言っていますか? –

+0

ポイントを減らしたい場合は、タイムアウトを増やしてください。 –

関連する問題