为啥 HTML 5 Geolocation 里面只用 IP 数据有时也能很准

这个定位API只有接口是统一的,对不同的设备不同的硬件和网络条件下会使用不同的定位方式,大致分为以下几种:1、GPS,这是最准确的2、Wifi热点定位,这个是比较准确的。你说的没有公司收集wifi位置是不准确的,事实上如果你用google地图之类的软件同时接入一个没有被记录位置的新WIFI,当你用其他定位方式(也可能包括通过周围wifi的位置)定位到你的当前位置时,这个WIFI就会被记录位置,下次可以用来定位。3、移动基站定位,这个也是比较准确的4、IP定位,这个误差就比较大根据你的情况,应该是使用WIFI来定位了,这个是比较准确的,这也是为什么使用无线网络时定位更准确的原因。另外,WIFI定位并不一定需要接入某个WIFI,因为扫描WIFI热点就可以得到MAC地址,根据MAC地址就可以定出位置,而且当周围WIFI很多时,根据各个WIFI的信号强弱可以得到跟GPS不相上下的精确度。
■网友
浏览器会调用读取你的定位设备定位,如你手机或者笔记本上面的GPS设备或WIFI设备,
■网友
根据我的观察。chrome+google map的定位比较准是根据ip定位你基站-最靠近你的电信运营商服务器-因为这些服务器是有地址的(所以...);另外,我发现,在广州地区附近使用中国联通的宽带服务,因为服务器都在广州,所以就算我在佛山地区使用联通宽带上网,定位后都是显示广州。因此得出上面结论。
■网友
通過查詢同一路由表的其他用戶地理位置可以提高精度.如果網站的用戶足夠多且密集, 通過分析同一路由下的其他用戶位置可以獲取你的位置. 但這個是非常不精確的, 在城市中還好, 在一些偏遠地區同一路由用戶位置相聚甚遠.traceroute IP 可以看到中間通過哪些路由. 越接近對方的路由若有使用相同路由的用戶能查詢到地理位置亦可判斷你的地理位置不會太遠.


    推荐阅读