requestLocationUpdates在某个距离改变/旅行时获取更新

时间:2011-08-22 14:26:40

标签: android gps

我需要使用requestLocationUpdates()来获取某个指定距离或特定距离时的位置更新。

我需要仅根据距离更新,而不是基于时间。

请建议......

3 个答案:

答案 0 :(得分:5)

The documentation has a good answer.

  

public void requestLocationUpdates(String provider,long minTime,   float minDistance,LocationListener listener)

     

如果minDistance大于0,则只会广播一个位置   如果设备移动minDistance米。获取通知为   尽可能经常将两个参数都设置为0。

位置更改将由在OnLocationChange()注册的LocationListener调用的requestLocationUpdates()检测到。

答案 1 :(得分:0)

要忽略位置请求之间的时间延迟,只需将其指定为0.这样就是0秒延迟,这实际上意味着没有延迟。

LocationManager yourLoc = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
yourLoc.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1, onLocationChange);

以上示例每隔1米更改一次。

答案 2 :(得分:0)

尝试将minTime参数设置为java中的Integer或float的最大值,这样它将在minTime之前被minDistance调用