我正在进行设置:
map.setMyLocationEnabled(true)
但我想知道这个功能具体是做什么的。我所知道的是:
- 我会在地图的右上角得到一个定位按钮
- 我会在地图上看到一个蓝色图标,代表我的当前位置
我的担忧是,我正在开发一个位置感知应用,但我担心它会消耗电量。在我的应用程序的其他地方(通过首选项),我设置了一个LocationManager并监听位置事件以便记录它们。但我可以设置获取位置更新的精确度和间隔时间。
当我关闭我的LocationManager时:
locationManange.removeUpdates(LocationListener listener);
我希望能够关闭整个应用程序的位置服务。但是,我仍然可以看到手机标题栏中的小GPS图标,表示该应用程序正在获取位置更新。我知道这是因为我在地图视图上设置了它:
map.setMyLocationEnabled(true);
我最初认为,如果您没有通过设置LocationManager来监听位置更新,则调用map.setMyLocationEnabled(true)将不起作用(即没有我的位置图标或按钮)。但是事实并非如此。
这是否意味着调用map.setMyLocationEnabled(true)时,谷歌正在使用自己的LocationManager及其自己的设置?我真的想调用map.setMyLocationEnabled(true),但希望它使用我的位置更新设置而不是谷歌在幕后执行的任何操作。是否可能?我在文档中错过了什么吗?当我调用map.setMyLocationEnabled(true)时,无法找到有关LocationManager设置的准确性或间隔的任何信息。
removeUpdates()
之后,您确定GPS更新不是由其他应用程序引起的吗?(例如Google地图本身或其他任何应用程序)。您是否尝试在卸载您的应用程序时进行此操作? - xav