Chrome在检测我的位置时似乎非常准确。它是如何做到的?你能指点我的源代码吗?
答案 0 :(得分:54)
地理定位可以根据以下方式计算:
请参阅W3C Geolocaton API和Google Gears API(Chrome / W3C Geolocation API所基于的)。
答案 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进行本地化的实施文件:
答案 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
添加到目标行的末尾。