1
locationManager.requestLocationUpdates(
  LocationManager.GPS_PROVIDER,30000,100, new GeoUpdateHandler() 
);

地图每隔 30 秒就会刷新一次。

假设我在同一个位置超过 2 分钟,那么地图会刷新 4 次以上;我不希望它发生。

谁能建议我提供时间为空?

4

2 回答 2

2

SDK 文档上LocationManager.requestLocationUpdates()有关于如何利用minTimeminDistance参数来调整您所在位置的更新频率的答案:

LocationManager SDK 文档

可以使用 minTime 和 minDistance 参数控制通知的频率。如果 minTime 大于 0,LocationManager 可能会在位置更新之间休息 minTime 毫秒以节省电力。如果 minDistance 大于 0,则仅当设备移动 minDistance 米时才会广播位置。要尽可能频繁地获取通知,请将两个参数都设置为 0。

基本上,您将获得 30 秒的更新,因为您已将 minTime 设置为 30000。您可以考虑将此值设置为 0 并将 minDistance 的值增加到大于 100 以获得更类似于用户实际移动很长距离时的位置更新.

希望有帮助。

于 2011-06-21T21:50:17.757 回答
1

最小时间和最小距离值可以防止这种情况发生。

对于您的示例代码,除非用户从上次更新移动了 100 多米,否则不应触发该事件。这就是minDistance物业的意义所在。

http://developer.android.com/reference/android/location/LocationManager.html

于 2011-06-21T21:51:40.263 回答