Я устанавливаю:
map.setMyLocationEnabled(true)
Но мне интересно, что это на самом деле. Что я знаю:
- Я получаю кнопку "Найти меня" в правом верхнем углу карты.
- Я получаю синий значок на карте, который представляет мое текущее местоположение.
Вот моя забота. Я пишу приложение, ориентированное на местоположение, но меня беспокоит аккумулятор. В другом месте моего приложения (через настройки) я настроил LocationManager и прослушивал события местоположения, чтобы я мог их зарегистрировать. Но часть моих предпочтений - это точность, с которой я получаю обновления и интервал.
Когда я отключу свой LocationManager:
locationManange.removeUpdates(LocationListener listener);
Я ожидаю отключить службы определения местоположения для всего приложения. Тем не менее, я все еще вижу маленький значок GPS в панели заголовков телефонов, указывающий, что приложение получает обновления местоположения. Я знаю, что это происходит из-за того, что я установил это на моем карте:
map.setMyLocationEnabled(true);
Первоначально я думал, что если вы не прослушали обновления местоположения, настроив LocationManager, который установил map.setMyLocationEnabled(true), не имел бы никакого эффекта (т.е. ни одного значка местоположения или кнопки). Однако это не так.
Означает ли это, что, вызывая map.setMyLocationEnabled(true), Google настраивает свой собственный LocationManager со своими собственными настройками? Мне бы очень хотелось называть map.setMyLocationEnabled(true), но использовать мои настройки для обновлений местоположения, а не то, что делает Google под капотом. Это возможно? Я что-то пропустил в документах? Я не могу найти ничего о точности или интервале, который устанавливается в LocationManager при вызове map.setMyLocationEnabled(true).