这两天关注了一下这方面的资料。原先只知道可以使用基站定位,但是一直愁没法获得基站数据,也就作罢了,后来GoogleMap的“我的位置”功能给我提了醒,google可能会有这方面的API,至少也可以通过分析网络协议包的形式获取。分析过程就不写了,手机可通过ActiveSync访问网络,手机运行GoogleMap并显示当前位置,再通过电脑上的使用网络分析包工具即可。

关于如何实现以及还可以的扩充应用 推荐一篇文章 如何在任何手机上找到GPS定位。里面描述了

1 如何从Windows Mobile无线接口层Cell塔获取数据

2如何从Google的API  http://www.google.com/glm/mmap 获取经纬度

3 如何利用获取的经纬度更新您的Yahoo!火鹰帐户,TwitterMap

这个只是GPS和基站联合进行的定位,现在Google还推出了WiFi定位的API功能,还有些第三方网站也有API提供。比方说http://www.skyhookwireless.com/ 。只要提供当时位置你寻到的WIFI热点的MAC地址,SSID,dbi信号强度等信息,既可以得知经纬度。

下面两张图可以说明整个实现原理

XPSSnap2

终端所在地周边有非常多的网络信号,基站信息Cellular(绿色),Wifi(红色),GPS(黄色)信息

XPSSnap1

手机终端作为信号接收器,获取周边的信号,通过内置软件传递给后台服务器(Google)服务器计算即可得知终端的位置

 

 

 

由个网站值得推荐 AntBlog 站长提供了3种数据服务接口,将Google的接口进行了简化封装,更方便大家的调用,地址如下

手机基站数据转GPS数据

Wi-Fi位置查询

经纬度转地理位置