分类:
2011-05-09 00:38:18
如果你在你的手机装过Google Mobile Maps,你可以发现只要你的手机能连GPRS,即使没有GPS功能,也能定位到你手机所在位置,只是精度不是很精确。在探讨这个原理之前,先让我们了解一下一些移动知识,了解什么是MNC/MCC/LAC/Cell ID。
移动网号码,中国联通CDMA系统的MNC为03,中国移动的应该为00。
移动用户所属国家代号,中国是:460。
地区区域码,用来划分区域,一般小地方就一个LAC,大地方就有多几个。
CellID代表一个移动基站,如果你有基站数据,查CellID你就可以知道这个基站在哪里,移动公司或者警察通过这个知道你是在哪个基站范围打的移动电话。
这些信息有什么用呢? 通过这些信息可以知道你的手机是从哪个国家,区域和哪个基站接入移动网络的。所以有些防盗手机丢失后,会发一些类似"MCC:460;MNC:01;LAC:7198:CELLID:24989"内容的短信到你指定号码就是这个用途,通过这些信息可以从移动查到你的被盗手机在哪里出现过。不过知道了也没用,中国人口这么密集,就是在你身边你也不知道谁是小偷:)
这些信息从哪里来呢,一般的手机系统都提供相应的API来获取这些信息(Tower Info),比如Window SmartPhone 或Mobile就是通过RIL.dll里的API来取得,每个手机操作系统不一样,相关的信息可以查相关资料。
得到了这些信息,如果没有基站信息表,得到了这些信息也不知道在哪,因为只有移动运营商有相关的信息,除非你是运营商或者警察才能得到这些信息。是不是我们就查不到相应的数据呢,当然不是,强大的Google就有,这里就要提到Google Mobile Maps API,里面囊括了比较全的基站信息,中国的也有,就是偏远地区的有没有就不知道了。Google Mobile Maps本身就是使用的这些信息,感兴趣可以试一试,没有GPS模块也能定位到你手机位置,但精度不大,取决于基站的位置离你多远。
同样我们自己也可以开发相应的手机应用来定位,只要调用Google现成的API(Secret API)“.
另外有个可以参考的例子