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上设置的准确度或间隔的任何信息。

Solutions Collecting From Web of "map.setMyLocationEnabled(true)真正做了什么"

这是否意味着通过调用map.setMyLocationEnabled(true)google正在设置自己的LocationManager并使用自己的设置?

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

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

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