设置
移动设备只限于全球定位系统。网络未启用。
实现了LocationManager.requestLocationUpdates
以获得位置修复。经过长时间的不活动(比如隔夜),LocationManager需要超过3分钟才能得到修复。随后的更新速度相当快(比如5-10秒)。
如果我先打开谷歌地图,它就能在1分钟内获得我在GPS上的位置。
为什么谷歌地图在启动GPS时速度要快得多?
请注意:
我知道,如果启用NETWORK_PROVIDER,我可以加快定位修复的速度。但这不是问题所在。这里的问题是:仅仅使用全球定位系统,GMaps做什么不同?
发布于 2015-02-25 18:19:00
你的答案在这里!!
谷歌( Google )和苹果( Apple )和Skyhook等公司建立了一个数据库,将WLAN BSSID连接到一个地理位置。BSSID类似于接入点的MAC地址,该接入点由该接入点广播。因此,如果启用了BSSID广播,则为“公共可视”,这是大多数访问点的默认设置。BSSID作为IP堆栈在较低层上运行,您甚至不必连接到接入点才能接收这些广播。
每次使用启用的GPS和WiFi运行谷歌地图或导航时,如果您的设备能够获得良好的GPS修复程序,则当前可见的无线局域网网络和当前位置( GPS补丁)将上载到谷歌,以建立和更新数据库。这种技术有时被称为众包。因此,每个Android设备都充当数据收集器。
由于大多数接入点的位置是静态的,并且只覆盖一个很小的区域--覆盖半径约为100米--它们是理想的定位锚,不需要GPS就能很好地定位位置。
https://stackoverflow.com/questions/28718738
复制相似问题