zoukankan      html  css  js  c++  java
  • 对于WIFI版ipad(无GPS芯片)定位功能的释疑

     把玩ipad(WIFI版ipad,无GPS芯片)很久时间了,曾今有很多人(包括我)也用过它的定位功能,发现它确实很准确,通常的误差在40米以内,所以很多人都怀疑这个版本的ipad是不是真的内置了GPS芯片?关于这个,国外的拆解过程已经说明了:它确实没有GPS芯片!但是,它是怎么样精确定位的呢?

        首先,我们了解一下通常的定位原理。移动终端通常通过两种方式来确定你的地理位置,一是 gps、agps,定位比较准确,二是移动网络基站定位,偏差较大。有人认为agps就是基站定位,其实这是两回事,agps是通过移动的数据网络(gprs、3g、edge)获取卫星数据,然后提供的参考定位数据,这些只有移动运营商能做到比较精确的定位。

        其实,ipad确实是通过WIFI给我们定位的。至于原理,却不是通过IP的位置,因为一个ip地址可以定位到某个省、市,但是具体位置相差很远,以前用过彩虹QQ的童鞋就可能知道,说不定那天就到天南地北去旅游去了,因为大家大部分用的adsl,地址是随机分配的,而且这个数据库要不停的更新。ipad(整个IOS系统) WIFI定位采用的是SKYHOOKWIRELESS的技术,通过测量与周边基站的信号强度,来确定自己的位置。这些公司(包括google)是会收集一些地区的wifi基站mac地址来对应该基站的经纬度做成数据库的。ipad在搜寻周边的无线型号(无需连入,甚至有些热点是隐藏的他也会搜寻到),然后通过几个热点来确认自己的位置,同时在搜寻过程中会获取到相应ap的mac地址,然后通过网络去数据库中查询这个mac地址对应的经纬度,再依据几个基站的与你的ipad的信号强度,最终计算出你的位置,这个位置有时候是比较准确的。

        目前包括Google latitudeSKYHOOKWIRELESS等都在做这个事情,在国内还可以通过凯立德、灵图等公司进行收集。在中国的大城市已经有了很大的覆盖面。

    转自:http://www.icnote.com/ipad-get-your-latitude-without-gps/

  • 相关阅读:
    Java 异常Exception e中e的getMessage()和toString()以及 e.printStackTrace();方法的区别
    js几秒以后倒计时跳转示例
    Java读取property配置文件
    js 设置下拉框的默认值
    JS的可枚举性
    Object的原型拷贝-create、assign、getPrototypeOf 方法的结合
    JS 事件循环机制
    vue nextTick深入理解-vue性能优化、DOM更新时机、事件循环机制
    vue 实战问题-watch 数组或者对象
    vue2.0读书笔记2-进阶
  • 原文地址:https://www.cnblogs.com/wanyakun/p/3478293.html
Copyright © 2011-2022 走看看