【问题标题】:Google Maps Geolocation API accuracyGoogle Maps Geolocation API 准确性
【发布时间】:2015-03-10 11:51:56
【问题描述】:

我正在测试 Geolocation API 并得到一些奇怪的结果。 我有(我的)接入点并且知道他们的 Wifi MAC 地址。在服务器上我需要得到他们的位置。我发送了 2 个或更多这样的 MAC 地址,在某些情况下可以得到非常精确的位置。在其他情况下,我会在完全不同的国家/地区获得位置。

我认为在这种情况下,Google 无法通过 Mac 地址确定位置(没有足够的数据或其他),并且可能会根据我的服务器 IP(云托管、不同国家等)返回位置。

有什么方法可以让我知道这个计算是基于 MAC 或 IP 地址的,所以我可以“拒绝”IP 结果??

我目前使用的解决方案是,如果精度小于 500m,我会接受结果(我假设它是基于 MAC 的正确结果),但如果有更可靠的解决方案,我会更喜欢。

感谢您的任何建议、答案等。

【问题讨论】:

  • 如果您没有启用 GPS,您应该能够获得更准确的结果。

标签: google-maps geolocation


【解决方案1】:

根据您使用的浏览器,HTML5 Geolocation API 会根据您的公共 IP 地址、手机信号塔 ID、GPS 信息、Wifi 接入点列表、信号强度和 MAC ID(Wifi和/或蓝牙)。然后,它通常通过 HTTPS 请求将该信息传递给定位服务,该请求尝试将您的位置与各种数据库相关联,这些数据库包括公共和私人 Wifi 接入点位置,以及蜂窝塔和 IP 地址位置。然后通过 JavaScript 回调将大致位置返回给您的代码。

您的案例看起来像是在使用 VPN。如果打开 VPN,则该位置将解析为 VPN 的公共 IP 地址。例如,丹佛的用户登录到公司 VPN,该公司的主机托管在其位于德克萨斯州达拉斯郊区的总部办公室。 HTML5 Geolocation API 会将位置解析为达拉斯的总部公共 IP 地址,而不是用户的实际位置。出于安全原因,相当多的企业用户拥有 VPN。

【讨论】:

    猜你喜欢
    • 2015-09-18
    • 2016-10-22
    • 2015-04-03
    • 2013-07-15
    • 2020-08-11
    • 2017-12-29
    • 2014-11-05
    • 2012-10-15
    • 2014-10-12
    相关资源
    最近更新 更多