【发布时间】:2012-07-05 17:54:58
【问题描述】:
我正在使用 MapView 在地图上显示用户的当前位置。要在用户移动时更新位置,我必须做出选择:
- 我可以使用 MyLocationOverlay 绘制当前位置并将其扩展以允许跟踪移动中的用户位置并具有自定义标记。 MyLocationOverlay 的问题是我无法控制设备从 GPS 请求位置的频率。我担心这里的电池耗电。
- 我可以使用位置管理器并使用 requestLocationUpdates 订阅以从 GPS 获取位置。在这里,我可以更好地控制查询 GPS 的频率。我可以连接一个 LocationListener 并在其中编写代码。
但我在 SO 上读到这里可能不是使用位置管理器的好方法,因此应该首选 MyLocationOverlay。
另外,考虑到我的应用是基于位置的应用,用户的位置应该在他移动时被跟踪。
人们能否建议哪种方法是最好的实施方法,并且对电池的影响相对较小。
请注意,我是 Android 的初学者,所以请原谅任何明显的错误。
提前谢谢你, 安迪
【问题讨论】:
-
GPS 供应商是强制性的吗?我的意思是你想要精确,对吧?
-
是的,我想要精确。 GPS 的优先级低于网络位置。但我的问题仍然存在。
-
好吧,你不能同时做到准确和高效。如果您需要准确的位置信息,请使用第一个变体(您自己提出)。
-
@bicska88 - 谢谢。我倾向于使用 MyLocationOverlay。但由于我们无法控制它查询 Providers 的频率,我不确定电池是否会消耗。
标签: android google-maps geolocation mylocationoverlay google-maps-mobile