map.setMyLocationEnabled(true)真正做了什么

我正在设置:

map.setMyLocationEnabled(true) 

但我想知道这究竟是做什么的。 我知道的:

  1. 我在地图的右上角find了一个find我的按钮
  2. 我在地图上看到一个代表我当前位置的蓝色图标

这是我的担忧。 我正在写一个位置感知应用程序,但我担心电池。 在我的应用程序的其他地方(通过首选项)我设置了一个LocationManager并监听位置事件,以便我可以记录它们。 但我偏好的部分原因是我获得更新的准确性和间隔。

当我关闭我的LocationManager时:

 locationManange.removeUpdates(LocationListener listener); 

我希望关闭整个应用程序的位置服务。 然而,我仍然在手机标题栏中看到小GPS图标,表明该应用正在获取位置更新。 我知道这是因为我在地图视图上设置了这个:

 map.setMyLocationEnabled(true); 

我原本以为如果你没有通过设置一个设置map.setMyLocationEnabled(true)的LocationManager来监听位置更新就没有效果(即没有我的位置图标或按钮)。 然而,事实并非如此。

这是否意味着通过调用map.setMyLocationEnabled(true)google正在设置自己的LocationManager并使用自己的设置? 我真的想调用map.setMyLocationEnabled(true),但让它使用我的设置进行位置更新,而不是google在幕后做的事情。 那可能吗? 我错过了文档中的内容吗? 当我调用map.setMyLocationEnabled(true)时,我找不到有关LocationManager上设置的准确度或间隔的任何信息。

  • Android Geocoder配额限制
  • 自定义片段(NPE)内的Android Maps V2 MapView
  • 使用GoogleMap BitmapDescriptor的VectorDrawable
  • Android Phonegap - 如何打开原生谷歌地图应用程序
  • 如何从地方选择器活动中检索地图的快照?
  • GoogleMaps v2 Android的我的位置按钮未显示
  • 一次在每个标记上显示信息窗口
  • 在谷歌地图android中移动带有gps的标记
  • 这是否意味着通过调用map.setMyLocationEnabled(true)google正在设置自己的LocationManager并使用自己的设置?

    不完全是。 Maps V2默认使用LocationClient

    我真的想调用map.setMyLocationEnabled(true),但让它使用我的设置进行位置更新,而不是google在幕后做的事情。 那可能吗?

    您可以使用setLocationSource()来提供您自己的位置数据,以便与my-location图层一起使用。 这是一个示例项目 。