我正在设置:
map.setMyLocationEnabled(true)
但我想知道这到底是做什么的。我所知道的:
这是我的担忧。我正在写一个位置感知的应用程序,但我担心电池。在我的应用程序的其他地方(通过首选项)我设置了一个LocationManager并监听位置事件,以便我可以记录它们。但我的部分偏好是我获得更新的准确性和间隔。
当我关闭我的LocationManager时:
locationManange.removeUpdates(LocationListener listener);
我希望关闭整个应用的位置服务。然而,我仍然在手机标题栏中看到小GPS图标,表明该应用正在获取位置更新。我知道这是因为我在地图视图中设置了这个:
map.setMyLocationEnabled(true);
我原本以为如果你没有通过设置一个设置map.setMyLocationEnabled(true)的LocationManager来监听位置更新就没有效果(即没有我的位置图标或按钮)。但事实并非如此。
这是否意味着通过调用map.setMyLocationEnabled(true)google正在设置自己的LocationManager并使用自己的设置?我真的想调用map.setMyLocationEnabled(true),但让它使用我的设置进行位置更新,而不是谷歌在幕后做的事情。那可能吗?我在文档中遗漏了什么吗?当我调用map.setMyLocationEnabled(true)时,我找不到有关LocationManager上设置的准确度或间隔的任何信息。
答案 0 :(得分:11)
这是否意味着通过调用map.setMyLocationEnabled(true)google正在设置自己的LocationManager并使用自己的设置?
不完全是。默认情况下映射V2 uses LocationClient
。
我真的想调用map.setMyLocationEnabled(true),但让它使用我的设置进行位置更新,而不是谷歌在幕后做的事情。这可能吗?
您可以use setLocationSource()
提供您自己的位置数据,以便与my-location图层一起使用。 Here is a sample project证明了这一点。