我建立了一个简单的 HTML5 网站,可以获取我的位置(经纬度),并在 Google 地图上显示我的位置。
我用笔记本电脑打开了 HTML 文档华硕 K53E-B1我发现当我连接到无线网络时,它几乎显示了我的精确位置(大约 100 米的误差),而当我插入网线并再次测试时,它有点不准确。(显示距离我 12 公里的街道)。
你能解释一下为什么无线网络能提供更准确的位置吗?
使用 Google Chrome 测试。
答案1
当你使用有线电视时,他们所要依靠的只是公共记录,就像你可以在IP2位置。当您使用无线网络时,它们可以从空中获取大量信息。这不仅仅是另一个答案所暗示的公共接入点已经为人所知的问题。
地理定位服务还会根据 SSID、MAC 地址和信号强度考虑您附近的其他网络(您未连接到这些网络)。如果您和您的邻居都在使用地理定位服务,并且你们都看到网络 x、y 和 z,Google 的服务就会得出你们彼此在物理上相距很近的结论。它通过从用户那里收集的大量数据来实现这一点,这使他们能够很好地关联您的位置。我相信 Google 街景车也在为此目的帮助从接入点收集数据。
谷歌解释该服务的运作方式这里。不过,这个页面现在的描述不如以前详细,但有旧文本的副本在这个 StackOverflow 答案中。
因此,如果您出于隐私原因,不愿意让该服务将您所在地区的接入点列表发送给 Google,那么您显然不应该使用该服务。
答案2
当您使用有线网络时,其准确性受您的 ISP 限制,通常您会获得某个网络中心的地址。
当您使用(可能是公共的)WiFi 网络时,其他人(可能已启用 GPS)将已经知道该接入点的位置,因此您的位置必须在该 AP 的覆盖范围内。