Google 如何计算我在桌面上的位置?
是的,这让我很困惑,我不确定你们中是否有人注意到或使用过使用桌面(或没有 GPS/没有移动设备)的谷歌地图上的“我的位置”功能。如果您有带有 google gears 的浏览器(最容易使用的是 Google Chrome),那么当使用我个人的标准 Wi-Fi 单击时(无需登录我的 Google 帐户),您将在 Google 地图中的缩放功能上方看到一个蓝色圆圈路由器和到我的 ISP 的正常互联网连接,它以某种方式设法以 100% 的准确度查明我的确切位置(此时此刻)。
它是如何做到的?他们在此处简短地提到了这一点但它并没有完全解释它,它说我的浏览器知道我在哪里......
我很困惑,怎么办?
我很感兴趣,因为我希望将它集成到我的编程项目的未来中,就像一些背景理解一样,但目前似乎没有很好的记录。
Right this is confusing me quite a bit, i'm not sure if any of you have noticed or used the "my location" feature on google maps using your desktop (or none GPS/none mobile device). If you have a browser with google gears (easiest to use is Google Chrome) then you will have a blue circle above the zoom function in Google Maps, when clicked (without being logged into my Google Account) using standard Wi Fi to my own personal router and a normal internet connection to my ISP, it somehow manages to pinpoint my exact location with a 100% accuracy (at this moment in time).
How does it do it? they breifly mention it here but it doesn't quite explain it, it says that my browser knows where i am...
...i am baffled, how?
I am intrigued because I would love to integrate it in the future of my programming projects, just like some background understanding and it doesn't seem too well documented at the moment.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
我现在在东京,以前在瑞士。然而,直到几天前,除了东京广大地区外,我的位置还没有被准确定位。今天我尝试了,我似乎在瑞士。如何?
秘密是我现在通过无线连接,并且我的无线路由器已在瑞士一个非常准确的区域被识别(感谢当时与我周围的其他 wifi 的关联)。现在,我的wifi转移到了东京,但查询的系统仍然认为wifi路由器在瑞士,因为它要么没有关于我周围的其他wifi的信息,要么它无法整理出冲突的信息(即具体信息)关于我的 wifi 路由器与我的 IP 地理位置,它精确地指出我在远东)。
因此,为了回答你的问题,谷歌或他的某人做了“战争驾驶”,绘制了 WiFi 的存在情况。每次对系统执行查询时(可能符合 W3C 草案地理定位 API)您的计算机发送它看到的 wifi 标识符,系统会执行两件事:
正如您所看到的,系统是自行构建的。你唯一需要的是良好的播种。之后,它以“50 米块”的形式延伸(新发现的 WiFi 连接的范围)。
当然,如果你真的想让系统变得疯狂,你可以开始与非全球定位运动的革命者们在全球范围内交换 WiFi 路由器。
I am currently in Tokyo, and I used to be in Switzerland. Yet, my location until some days ago was not pinpinted exactly, except in the broad Tokyo area. Today I tried, and I appear to be in Switzerland. How?
Well the secret is that I am now connected through wireless, and my wireless router has been identified (thanks to association to other wifis around me at that time) in a very accurate area in Switzerland. Now, my wifi moved to Tokyo, but the queried system still thinks the wifi router is in Switzerland, because either it has no information about the additional wifis surrounding me right now, or it cannot sort out the conflicting info (namely, the specific info about my wifi router against my ip geolocation, which pinpoints me in the far east).
So, to answer your question, google, or someone for him, did "wardriving" around, mapping the wifi presence. Every time a query is performed to the system (probably in compliance with the W3C draft for the geolocation API) your computer sends the wifi identifiers it sees, and the system does two things:
As you see, the system builds up by itself. The only thing you need is good seeding. After that, it extends in "50 meters chunks" (the range of a newly found wifi connection).
Of course, if you really want the system go banana, you can start exchanging wifi routers around the globe with fellow revolutionaries of the no-global-positioning movement.
这比你想象的要简单得多。您已使用同一 Google 帐户登录移动设备和桌面版 Chrome。谷歌只是希望您大部分时间都会随身携带手机。他们从您的手机获取位置数据,并假设您当前桌面会话的位置相同。
我通过 RDPing 到家里的 Windows 机器并远程检查 Google 地图来证明了这一点。它显示我的位置,就像工作时 Linux 上的 Chrome 一样。
如果您没有登录 Google 的手机,那么他们所能做的就是查找由您的 ISP 分配的 IP 地址的 GeoIP 数据。它通常非常不准确。
It's a lot more simple that you think. You've signed into both your mobile and Chrome on your desktop using the same Google account. Google simply expect you will have your mobile with you most of the time. They take the location data from your phone and assume the location of your current desktop session is the same.
I proved this by RDPing into my Windows machine at home from work and checking Google maps remotely. It show my location as the same as Chrome on Linux at work.
If you don't have a mobile that is signed into Google then all they can do is lookup GeoIP data for the IP address assigned by your ISP. It will typically be wildly inaccurate.
他们结合使用 IP 地理定位,并将附近无线网络的扫描结果与他们身边的数据库进行比较(该数据库是通过在 Android 手机用户使用 GPS 时收集 GPS 坐标以及 WiFi 扫描数据来构建的)
They use a combination of IP geolocation, as well as comparing the results of a scan for nearby wireless networks with a database on their side (which is built by collecting GPS coordinates alongside wifi scan data when Android phone users use their GPS)
我终于解决了。最大的问题是他们如何设法找出我周围有哪些无线网络以及他们如何知道这些网络在哪里。
它“似乎”与此类似:
参考:Slashdot
I've finally worked it out. The biggest issue is how they managed to work out what Wireless networks were around me and how do they know where these networks are.
It "seems" to be something similar to this:
Reference: Slashdot
根据Google Maps自己的帮助:
According to Google Maps' own help:
拒绝WiFi网络的想法!
抱歉各位...我没看到。使用您周围的 WiFi 网络似乎是一种非常不准确且无效的数据收集方法。现在的 WiFi 网络根本无法在一个地方停留很长时间。
想想看,WiFi 网络每天都在变化。更不用说 MiFi 和 Adhoc 网络,它们被“设计”为移动并与用户一起旅行。设备故障、网络设置更改、人员移动...依赖您所在区域的“WiFi 网络”似乎非常不准确,最终甚至可能无法在 IP 查找的粒度上提供显着改进。
我认为 iPhone 用户“扫描并发送”WiFi 调查数据回谷歌的想法,以及驾驶,也许与谷歌地图“街景”地图结合起来似乎是收集这些数据的一种非常可能的方法,但是,实际上,它并不能作为一种商业模式。
哦,顺便说一句,我忘了在我之前的帖子中提到......当我最初拉出我的位置时,我在地图上“精确”地定位了我,我正在通过以太网连接从桌面连接到路由器。我的桌面上没有 WiFi 卡。
因此,如果“附近的 WiFi 网络”理论是正确的……那么我就不应该能够如此精确地确定我的位置。
我将致电我的 ISP SKyrim,询问他们是否共享其网络拓扑以在其网络上启用地理定位。
Rejecting the WiFi networks idea!
Sorry folks... I don't see it. Using WiFi networks around you seems to be a highly inaccurate and ineffective method of collecting data. WiFi networks these days simply don't stay long in one place.
Think about it, the WiFi networks change every day. Not to mention MiFi and Adhoc networks which are "designed" to be mobile and travel with the users. Equipment breaks, network settings change, people move... Relying on "WiFi Networks" in your area seems highly inaccurate and in the end may not even offer a significant improvement in granularity over IP lookup.
I think the idea that iPhone users are "scanning and sending" the WiFi survey data back to google, and the wardriving, perhaps in conjunction with the Google Maps "Street View" mapping might seem like a very possible method of collecting this data however, in practicality, it does not work as a business model.
Oh and btw, I forgot to mention in my prior post... when I originally pulled my location the time I was pinpointed "precisely" on the map I was connecting to a router from my desktop over an ethernet connection. I don't have a WiFi card on my desktop.
So if that "nearby WiFi networks" theory was true... then I shouldn't have been able to pinpoint my location with such precision.
I'll call my ISP, SKyrim, and ask them as to whether they share their network topology to enable geolocation on their networks.
我知道您可以查找 IP 地址来获取大致位置,但它并不总是准确的。也许他们正在使用那个?
更新:
I know you can look up IP address to get approximate location, but it's not always accurate. Perhaps they're using that?
update:
可以根据您的 IP 地址(无线或固定)获取您的大概位置。
例如,请参阅 hostip.info 或 maxmind 基本上提供了从 IP 地址到地理坐标的映射。他们可能使用多种启发法和数据源。在大多数情况下,这种系统可能具有足够的准确性,可以将您定位到正确的主要城市。
除了 WiFi 技巧之外,谷歌可能还使用了一些类似的方法。
It is possible get your approximate locate based on your IP address (wireless or fixed).
See for example hostip.info or maxmind which basically provide a mapping from IP address to geographical coordinates. The probably use many kinds of heuristics and datasources. This kind of system has probably enough accuracy to put you in right major city, in most cases.
Google probably uses somewhat similar approach in addition to WiFi tricks.
当您使用 Google 地图时连接到该路由器的 GPS 或
手机上的位置。然后谷歌知道每一个连接的设备
该 Wifi 路由器使用相同的位置。
地理定位
GPS that connected to that router when you use Google maps or
location on cellphone. then google knows every device that connected
to that Wifi router uses the same location.
geolocation