1

各電話の位置を定期的に基地に報告する必要がある物流会社向けの追跡アプリを作成しています。このgeolocation.watchPosition方法は理想的ですが、私が知る限り、1 秒に 1 回の頻度で場所を更新し、コールバックの間隔を延ばす方法がないように見えます。1 秒に 1 回というのは、データ使用量の観点からは少し多すぎます。1 分に 1 回が理想的です。

最小間隔でコールバックを実行するために watchPosition に渡すことができるオプションはありますか?

4

2 に答える 2

1

1 秒に 1 回 watchPosition を呼び出すことを引き続き許可できますが、ベースへのレポートを分離して、タイマーで 1 分に 1 回実行される別のコールバックに分離することができます。

例えば:

var GPSStore = {};
navigator.geolocation.watchPosition(
  function(current_location) {
    // Just store the latest co-ordinates in memory as often as they are generated
    GPSStore.location = current_location;
  }
);
// Once a minute transmit the latest co-ordinates
setInterval(function() {
  transmitLocation(GPSStore.location);
}, 1000*60);
于 2013-04-24T12:25:19.077 に答える