【发布时间】:2013-08-09 23:12:59
【问题描述】:
使用三星 S3 和 Android Google Map V2(使用“LocationClient”获取位置)。它的功能完全正常,除了
在室内,第一次更新位置(不是来自 LocationManager 的 getLastLocation())非常非常非常慢,甚至没有更新。 (GPS 开启,wifi 关闭)
室内,开WIFI(甚至没有连接任何热点)第一次位置更新速度还可以。
我按照下面的教程进行了第一次位置更新(不是来自 LocationManager 的 getLastLocation())速度,如果在户外的话就可以了。
(谷歌教程) https://developers.google.com/maps/documentation/android/location 和 http://developer.android.com/training/location/receive-location-updates.html
根据谷歌这里,https://developers.google.com/maps/documentation/android/start,它说
android.permission.ACCESS_COARSE_LOCATION 允许 API 使用 WiFi 或移动蜂窝数据(或两者)来确定设备的位置。
android.permission.ACCESS_FINE_LOCATION 允许 API 使用全球定位系统 (GPS) 在非常小的区域内确定设备的位置。
因此,我认为它应该从 NETWORK 和 GPS 更新位置。
==========================
但我得到的是
如果只打开 GPS,它(LocationClient)似乎只收听 GPS 信号。如果你想从 NETWORK 更新位置,你还必须打开 WIFI。
这样对吗?
谢谢...
==========================
更新
根据Google Maps Android API v2 creating a new LocationSource.
现在,我不使用“LocationClient”并将另一个“LocationSource”设置为 Google Map。现在谷歌地图即使在室内并且没有 WIFI 开启也可以接收到非常快速更新的位置。
【问题讨论】:
-
@ss1271 这已经过时了。 Google Maps Android API v2 使用 Google I/O 2013 上宣布的新
LocationClientAPI。 -
@MaciejGórski 感谢您提供的信息,我会检查一下 =)
标签: android google-maps-android-api-2