【发布时间】:2011-04-07 17:04:35
【问题描述】:
Chrome 在检测我的位置方面似乎非常准确。它是如何做到的?你能指出我的源代码吗?
【问题讨论】:
-
我认为他们使用了您的 IP 以及他们对互联网的大量知识(数据)。
标签: html google-chrome geolocation
Chrome 在检测我的位置方面似乎非常准确。它是如何做到的?你能指出我的源代码吗?
【问题讨论】:
标签: html google-chrome geolocation
我认为他们使用您的 IP 地址和 geolocation 服务,例如 http://www.ip2location.com/ 或(更有可能)他们自己的 geolocation database/service)
【讨论】:
地理位置可以根据:
请参阅 W3C Geolocaton API 和 Google Gears API(Chrome 的/W3C 地理定位 API 所基于的)。
【讨论】:
他们着眼于几件事: -> 您所在位置的无线网络的唯一标识符 (SSID) 和信号强度。 -> IP 地址(您的公共 IP 地址) -> GPS(如果有) -> 移动网络位置数据(如果有)
【讨论】:
您可以使用设备上可用的不同服务和硬件获取您的位置。最常见的是:GPS、wifi 信息、手机信号塔。或者,还有 IP 查找,但这不是很准确,并且不涉及您设备上的任何特殊内容。
在您的情况下,很可能使用了有关您的 wifi 网络的信息。有巨大的数据库将 wifi 网络连接到一个位置,这些数据库由具有 GPS 和 Wifi 的汽车(例如 Google 街景汽车)创建。从您的计算机到服务器的传输是根据W3C Geolocation API Specs 完成的,它是 HTML5 的一部分。
Chrome 源代码? Here 是一个开始的入口点。或者,如果您更喜欢老式的文件浏览器:http://src.chromium.org/svn/trunk/src/chrome/browser/geolocation/
通过 wifi 进行本地化的实现文件:
【讨论】:
最近我从事 HTML 5 地理位置分配工作。所有现代浏览器(IE9、Safari、FF、Opera)都支持它。
但是当我来到 Chrome 时,它不受支持。我花了几个小时来解决这个问题。
终于找到了解决办法:
Chrome 中的地理位置默认关闭。要激活它,用户必须转到他们的 Chrome 快捷方式并将--enable-geolocation 添加到目标行的末尾,在快捷方式选项卡下。
【讨论】:
PC 上的浏览器没有 GPS,但它有一个外部 IP 地址(通常是路由器的外部 IP 地址)。如果同一路由器后面的其他组件有 GPS - 这会将位置固定到该 IP 地址,并通过位置服务将此位置附加到浏览器。
【讨论】: