android定时定位 - 利用百度定位API来实现定时定位功能

本文介绍了如何利用百度地图定位API在Android中实现定时定位功能。通过创建LocationClient,设置定位参数,结合Timer和TimerTask定时发送定位请求,并在回调中保存和更新经纬度信息。同时提供开启和关闭定位定时器的方法。
摘要由CSDN通过智能技术生成

时下LBS 是最热门的话题,前段时间,公司有个 LBS 项目,要求用到地图导航和定位,就研究了下地图和定位。

android  类库中, 虽然已经提供了几种定位方式,但是从提供的功能和反应速度上,和其他的第三方定位库相比,还是相形见绌。

搜索了几个第三方定位和地图的API平台,综合考虑了下,选择了百度地图。(第三方地图API的选择,具体还要根据自己的项目要求来选择)

言归正传,现在就说说百度的定位API 吧 (该文章,主要是讲定位的,所以就单独说说,百度的定位API 接口)

 

   百度定位API,是 GPS+基站+WIFI+IP混合定位,传感器辅助定位 ,具有 定位方式多,反应时间快等特点(具体的可以搜索一下“百度地图定位API”),下面就讲讲如何实现定时的去定位从而获取实时的定位经纬度。

 

 实现要求:

   LBS应用中,缺少不了定位,但是有时,由于网络环境的不稳定等特殊情况,可能会造成定位失败的情况(获取不到定位信息或者访问延时后报错),那就需要有种补救的措施,来实时的获取一个用户当前的定位信息。该示例就是一个实时定位的助手类。

   在项目开启时,开启定时定位,每隔一段时间,将经纬度保存在本地,来供应用程序的相关方法调用。

 

 思路:

    1. 定时的发送定位请求,首先需要 定时器 Timer 和 TimerTask ,来定时地发送定位请求;

    2. 在定位的回调函数里,将定位获取的信息保存到本地

关键代码实现:

  1. 首先将百度定位的jar包放入工程中;

  2. 定义一个application类,将定位的代码写在里面,放在application中,可以更好的去管理一些全局的变量和操作,由于定时定位是贯穿于整个APP的,所以放在application中比较好。

 

 private LocationClient mLocationClient = null;  //定位类

 //是否启动了定位API
 private boolean isOpenLocation = false;

 

 @Override
 public void onCreate() {
  mLocationClient = new LocationClient(this);  //实例定位类
 }

 

/**
  * start定位
  */
 private void startLocation()
 {
  try {
   if(!isOpenLocation)  //如果没有打开
   {

    //该部分主要是对定位类的配置,并没有实质性的去获取定位信息
    mLocationClient.setCoorType("bd09ll");

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值