MyLocationOverlay или LocationManager для обновления текущего местоположения

Я использую MapView, чтобы показать текущее местоположение пользователя на карте. Чтобы обновить местоположение, пока пользователь находится в движении, у меня есть выбор:

  • Я могу использовать MyLocationOverlay, чтобы нарисовать текущее местоположение и расширить его, чтобы разрешить отслеживание местоположения пользователей в движении и иметь собственный маркер. Проблема с MyLocationOverlay в том, что я не могу контролировать частоту, с которой устройство запрашивает местоположение у GPS. Я беспокоюсь о разрядке батареи здесь.
  • Я могу использовать Location Manager и подписаться с помощью requestLocationUpdates, чтобы получить местоположение от GPS. Здесь у меня больше контроля над частотой, с которой запрашивается GPS. Я могу подключить LocationListener и написать туда код.

Но я читал здесь, в SO, что это может быть не очень хороший подход к использованию диспетчера местоположений, и MyLocationOverlay следует предпочесть этому.

Кроме того, учтите, что мое приложение основано на местоположении, и местоположение пользователя должно отслеживаться по мере его перемещения.

Могут ли люди предложить, какой подход лучше всего реализовать и относительно меньше влияет на батарею.

Обратите внимание, что я новичок в Android, поэтому простите за очевидные ошибки.

Заранее спасибо, Энди

6
задан andy 5 July 2012 в 10:28
поделиться