我想知道在禁用GPS的情况下,Android手机上的Google Maps如何能够很好地定位我。这种精度,启用无线功能会更好(精度从1600m到100)。

我不知道我有一个动态IP-不应该链接到我的地址。例如,wolframalpha对我的定位精度非常低(该国家/地区正确),并且对于所有其他IP定位服务来说都是一样。

评论

另请参阅Google Maps为什么需要Wifi?和什么是辅助GPS

另请参阅:Android如何获取粗略位置?

#1 楼

Google和其他公司(如Apple和Skyhook)建立了将WLAN BSSID链接到地理位置的数据库。 BSSID类似于该接入点广播的接入点的MAC地址。因此,如果启用了BSSID广播,则它是“公开可见的”,这是大多数接入点的默认设置。 BSSID在比IP堆栈低的一层上运行;您甚至不必连接到接入点即可接收这些广播。

每次在启用GPS和WiFi的情况下运行Google Maps或Navigation,并且您的设备能够获得良好的GPS修复程序中,将当前可见的WLAN网络和您当前的位置(GPS修复程序)上载到Google以构建和更新数据库。这种技术有时称为众包。因此,每个Android设备都充当数据收集器。

由于大多数访问点的位置都是静态的,并且仅覆盖一小部分区域-覆盖半径约为100m-它们是无需GPS即可进行良好定位的理想锚。

评论


谢谢,但是首先它们如何匹配BSSID和位置?我的房子里只有一个月有一个新的无线热点,它已经在数据库中了...

–马丁·特里高(Martin Trigaux)
2011年10月31日在8:50



@MartinTrigaux看到我的更新:)

–流程
2011年10月31日12:41

请注意,出于相同目的,Google StreetView汽车还带有GPS和Wifi。

– Lie Ryan
2011年10月31日15:25

它也可以使用手机信号塔。关闭GPS和WiFi,您仍然会获得位置数据。

– devnul3
2011年11月1日下午5:36

好的,谢谢,很好的技巧,只是有点吓人的隐私...关于手机信号塔,我有些不了解。如果我没有无线设备,只知道小区ID,它如何找到塔的相应位置。我猜这里有一个最后一次看到的缓存,但是对于新的缓存,没有办法知道?

–马丁·特里高(Martin Trigaux)
2011年11月1日19:22



#2 楼

我认为在这种情况下,他们主要使用手机信号塔。他们找到了三个靠近您的塔楼(它们为您的手机提供了呼叫/接收连接),然后使用这些塔楼到您的各自距离来计算您的确切位置。在GPS和WiFi技术广泛普及之前,手机就是这样定位的。

评论


以我的经验,谷歌的LBS没有使用手机信号塔三角测量。它的处理方式与WLAN地理位置数据相同,只是他们使用基站信号塔的GSM ID而不是BSSID并将其映射到信号塔的位置及其估计的覆盖范围。有时是非常不准确的。例如,在城市面积较大的城市地区和农村地区,铁塔的覆盖范围更大,例如Google Maps告诉您的。

–流程
2011年11月1日21:37

谢谢,但我不确定您是否可以使用手机信号塔三角测量来达到50m的准确位置

–马丁·特里高(Martin Trigaux)
2011年11月1日于22:41

在某些情况下,可以达到此精度。但是,三角剖分不能由GSM设备本身完成。只有运营商才能这样做,并将此信息提供给设备。但是鉴于大多数智能手机不需要运营商提供的LBS来提供体面的位置信息,因此大多数运营商都关闭了其LBS接口。至少德国就是这种情况。

–流程
2011年11月2日,7:39

#3 楼

我没有电话号码的计划,而手机信号塔距离100m更远。它可能通过路由器的位置确定您的位置。半径为5m-1km。