android - MyLocationOverlay 或 LocationManager 用于更新当前位置

标签 android google-maps geolocation mylocationoverlay google-maps-mobile

我正在使用 MapView 在 map 上显示用户的当前位置。要在用户移动时更新位置,我必须做出选择:

  • 我可以使用 MyLocationOverlay 绘制当前位置并扩展它以允许跟踪移动中的用户位置并具有自定义标记。 MyLocationOverlay 的问题是我无法控制设备从 GPS 请求位置的频率。我担心这里的电池会耗尽。
  • 我可以使用位置管理器并使用 requestLocationUpdates 进行订阅以从 GPS 获取位置。在这里,我可以更好地控制查询 GPS 的频率。我可以连接一个 LocationListener 并在其中编写代码。

但我在 SO 上读到,使用 Location Manager 和 MyLocationOverlay 可能不是一个好方法,应该优先于此。

另外,考虑到我的应用是一个基于位置的应用,用户的位置应该在他移动时被跟踪。

人们能否建议哪种是最好的实现方法,并且对电池的影响相对较小。

请注意,我是 Android 的初学者,所以请原谅任何明显的错误。

先谢谢你, 安迪

最佳答案

我使用 Little Fluffy Location - 它是一个库,你可以设置更新时间或距离,这个库制作一个广播接收器,实现 LocationListener,当位置改变时通知你的应用程序。

简单、快速、容易!

请引用this链接:

位置更改后,更新您在 map 上的叠加层! =)

如果您需要,我会发送完整的位置解决方案。

关于android - MyLocationOverlay 或 LocationManager 用于更新当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11342449/

相关文章:

android - fatal error : Class: No such file or directory

java - Android 4 标签布局的最佳方式?

android - Android HTML5 的视频编码

ios - Google 在 iOS 上弃用了 Places

iphone - 室内 WiFi 定位在追踪运动方面的准确度如何?

android - Android模拟器如何支持其他语言?

javascript - 直到第二次尝试才​​显示 Canvas 图像

javascript - 使用@JavascriptInterface将值发送到assets/map.html

javascript - geolocation.watchPosition 打破 geolocation.getCurrentPosition

javascript - 除了enableHighAccuracy之外,还有什么方法可以提高getCurrentPosition()坐标的准确性?