0

私はこの小さな行を得ました:

int meter = 1;
update 5000; //1 ms
globalconstant.mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, (long) update, meter,globalconstant.mlocListener);

誰かが私にそれが何を意味するのか教えてもらえますか? つまり、GPS の更新時間は 5 秒で、位置が 1 メートル変化した場合、5 秒で 1 メートルを 4 回移動すると 5 秒で 4 回更新されるということですか?

4

3 に答える 3

3

iirc は、5 秒ごとに 1 回位置をチェックし、各チェックの後、1 メートル以上移動した場合は、mlocListener に通知することを意味します。(1メートル以上動かないと通知されません)

これは、最大で5 秒ごとに 1 回の更新を取得することを意味しますが、それよりも少ない可能性があります (つまり、移動していない場合、アプリは位置情報の更新を取得しません)。

少なくとも、それが機能する方法です。GPSの不正確さなどを考えると、静止しているときでも位置情報が更新される可能性があります(GPSコードで遊んでからしばらく経ったと思います)

于 2012-09-28T10:46:31.730 に答える
0

Location Manager Documentationを確認できます。構文は requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener) です。

  • GPS_PROVIDER または NETWORK_PROVIDER のいずれかのプロバイダ
  • minTime は、GPS 信号の取得に必要な最小時間です。
  • minDistance 、緯度経度座標の最小変化
  • listener 、 GPS 信号をリッスンする LocationLister

したがって、あなたの場合、GPS を取得するのに少なくとも 5 秒かかり、距離の精度は 1 メートルになる可能性があります。

于 2012-09-28T10:49:06.673 に答える
-1

これは、GPSが5秒ごとにデバイスの位置を計算しようとすることを意味します。計算された新しい位置が前の位置から1メートル以上離れている場合、引数として新しい場所を使用してLocationListenerを呼び出します。新しい位置が前の位置より1メートル近い場合、その位置は破棄され、リスナーは呼び出されません。

こちらのドキュメントを確認してください:Location Manager

于 2012-09-28T10:50:03.217 に答える