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

时间:2010-09-03 06:57:32

标签: html5 google-chrome geolocation

Chrome在检测我的位置时似乎非常准确。它是如何做到的?你能指点我的源代码吗?

6 个答案:

答案 0 :(得分:54)

地理定位可以根据以下方式计算:

  1. GPS(如果有)
  2. 可用的Wi-Fi网络和信号强度
  3. 可用的手机信号塔和信号强度
  4. IP地址查找
  5. 请参阅W3C Geolocaton APIGoogle Gears API(Chrome / W3C Geolocation API所基于的)。

    Chromium's geolocation source code可以在线查看。

答案 1 :(得分:8)

您可以使用设备上提供的不同服务和硬件获取您的位置信息。最常见的是:GPS,wifi信息,手机信号塔。另外,还有IP查找,但这不是很准确,并且不会涉及您设备上的任何特殊内容。

在您的情况下,最常使用有关您的wifi网络的信息。有大量的数据库将wifi网络连接到一个位置,由带有GPS和GPS的汽车创建。 Wifi(例如Google街景汽车)。从您的计算机到服务器的传输是根据W3C Geolocation API Specs完成的,这是HTML5的一部分。

Chrome源代码? Here是开始的切入点。或者,如果您更喜欢旧式文件浏览器:http://src.chromium.org/svn/trunk/src/chrome/browser/geolocation/

通过wifi进行本地化的实施文件:

  • wifi_data_provider_mac.cc
  • wifi_data_provider_linux.cc
  • wifi_data_provider_win.cc

答案 2 :(得分:0)

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

答案 3 :(得分:0)

个人电脑上的浏览器没有gps,但它有一个外部IP地址(通常是路由器的外部IP地址)。如果同一路由器后面的其他组件有gps - 这个引脚位置到该IP地址并通过位置服务将此位置附加到浏览器。

答案 4 :(得分:-1)

我认为他们使用您的IP地址和geolocation服务,例如http://www.ip2location.com/或(更有可能)他们自己的geolocation database /服务)

答案 5 :(得分:-2)

最近我参与了HTML 5地理位置分配。它支持所有现代浏览器(IE9,Safari,FF,Opera) 但是当我来到Chrome时它不受支持。我花了几个小时来解决这个问题 最后我找到了一个解决方案:

默认情况下,Chrome中的地理位置已关闭。要激活它,用户必须转到Chrome快捷方式,然后在“快捷方式”标签下将--enable-geolocation添加到目标行的末尾。