LocationManager 与 Google 地图 API 的准确性
Accuracy of LocationManager vs Google Maps API
我一直在使用 LocationManager/LocationClient,由于无法使用 GPS,这显然无法提供高度准确的结果。基于位置服务设置为开,我得到的位置不是很准确。
但是使用 Uber、TaxiForSure 等应用程序,无需使用 GPS,他们就可以在 Google 地图上高精度地绘制我的位置。
Google 地图 API 中是否有秘诀?我的意思是 Google 地图 API 做的不仅仅是 LocationManager/LocationClient?
Google 建立了一个数据库,将 WLAN BSSID 链接到地理位置。 BSSID 就像接入点广播的 MAC 地址。因此,如果启用 BSSID 广播,则为 "public viewable",这是大多数接入点的默认设置。 BSSID 作为 IP 堆栈在较低层运行,您甚至不必连接到接入点即可接收这些广播。
每次您 运行 Google 启用 GPS 和 WiFi 的地图或导航时,如果您的设备能够获得良好的 GPS 定位,当前可见的 WLAN 网络和您的当前位置( GPS fix) 上传到 Google 以建立和更新数据库。这种技术有时称为众包。因此,每个 Android 设备都充当数据收集器。
由于大多数接入点在其位置上是静态的并且仅覆盖一小块区域 - 覆盖半径约为 100 米 - 它们是在没有 GPS 的情况下进行良好定位的理想锚点。
此外 Google 街景车还带有 GPS 和 Wifi 用于相同目的
我一直在使用 LocationManager/LocationClient,由于无法使用 GPS,这显然无法提供高度准确的结果。基于位置服务设置为开,我得到的位置不是很准确。 但是使用 Uber、TaxiForSure 等应用程序,无需使用 GPS,他们就可以在 Google 地图上高精度地绘制我的位置。
Google 地图 API 中是否有秘诀?我的意思是 Google 地图 API 做的不仅仅是 LocationManager/LocationClient?
Google 建立了一个数据库,将 WLAN BSSID 链接到地理位置。 BSSID 就像接入点广播的 MAC 地址。因此,如果启用 BSSID 广播,则为 "public viewable",这是大多数接入点的默认设置。 BSSID 作为 IP 堆栈在较低层运行,您甚至不必连接到接入点即可接收这些广播。
每次您 运行 Google 启用 GPS 和 WiFi 的地图或导航时,如果您的设备能够获得良好的 GPS 定位,当前可见的 WLAN 网络和您的当前位置( GPS fix) 上传到 Google 以建立和更新数据库。这种技术有时称为众包。因此,每个 Android 设备都充当数据收集器。
由于大多数接入点在其位置上是静态的并且仅覆盖一小块区域 - 覆盖半径约为 100 米 - 它们是在没有 GPS 的情况下进行良好定位的理想锚点。
此外 Google 街景车还带有 GPS 和 Wifi 用于相同目的