通过RIL和GOOGLE实现基站定位

本文实现的基本原是,在windows mobile带手机功能的手机通过RIL调用就可以获取到基站的编号、区域号、国家代码等信息,通过这些信息访问google提供的一个网址就可以返回该基站的经纬度。(本文参考了很多网上的资料)

 

在网上查看资料说是可以获取多个基站,但我一直不能实现,还有我在一款CDMA的手机也实现不了。

 

定义NativeMethods类,写入要调用的方法。

 

 

 

定义接收基站信息结构和委托

 

好现在就可以来实现获取基站信息了

 

获取时会卡一小会,建议把这部分放入单独的线程中。

获取到基站后就使用google来查询出经纬度了。

 访问google进行查询的类

 

 

 里面我引用了,using Newtonsoft.Json.Linq;

这个程序集是用于json的解析,可以在网上下载得到,稍后也会在csdn的下载添加一个下载连接。

 

写好后使用它就非常简单了

string postData=rilCellTowerInfo.dwCellID.ToString() + "," +
                rilCellTowerInfo.dwLocationAreaCode.ToString() + "," +
                rilCellTowerInfo.dwMobileCountryCode.ToString() + "," +
                "1";

 

LocationService service = new LocationService(postData);
string  _location = service.GetLocationInfomation(postData);

 

这个_location就是转换出来的经纬度。

再次建议写在线程里。因为转换需要1-几秒钟的时间。

 

由于项目有其它功能,就不把源文件上传上来了。但其它有关的代码都已经在文章中了。

 

 

如何有人知道多基站定位的,也请您指导一下。谢谢!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值