代码之家  ›  专栏  ›  技术社区  ›  gak

Chrome如何知道我的地理位置?

  •  23
  • gak  · 技术社区  · 15 年前

    6 回复  |  直到 15 年前
        1
  •  57
  •   Matt Austin    15 年前

    地理位置可根据以下公式计算:

    1. GPS(如有)
    2. 可用的wi-fi网络和信号强度
    3. 可用的信号塔和信号强度

    W3C Geolocaton API Google Gears API (Chrome/W3C地理定位API基于哪个)。

    Chromium's geolocation source code

        2
  •  8
  •   Thomas    15 年前

    可以使用设备上的不同服务和硬件获取您的位置。最常见的是:GPS、wifi信息、手机发射塔。或者也有IP查找,但这不是很准确,不涉及任何特殊的设备上。

    在您的情况下,很可能使用了有关wifi网络的信息。有巨大的数据库将wifi网络连接到一个位置,这些位置是由带有GPS和wifi的汽车(例如谷歌街景车)创建的。从您的计算机到服务器的传输是根据 W3C Geolocation API Specs

    Chrome的来源? Here 是一个起点。或者如果您更喜欢老式的文件浏览器: http://src.chromium.org/svn/trunk/src/chrome/browser/geolocation/

    • wifi\数据\提供商_linux.cc文件
    • wifi\数据\提供商_赢.cc
        3
  •  0
  •   Ciprian    15 年前

    他们看了几件事: ->您所在位置的无线网络的唯一标识符(SSID)和信号强度。 ->IP地址(您的公共IP地址) ->移动网络位置数据(如果可用)

        4
  •  0
  •   Erez    9 年前

        5
  •  -1
  •   splash    15 年前

    我想他们用的是你的IP地址和 geolocation http://www.ip2location.com/ 或者(更可能)他们自己的 geolocation database /服务)

        6
  •  -2
  •   oers Alfian Busyro    13 年前



    最后我找到了解决办法:

    默认情况下,Chrome中的地理位置处于关闭状态。要激活它,用户必须转到他们的Chrome快捷方式并添加 --enable-geolocation