当前位置: 移动技术网 > IT编程>移动开发>Android > Android编程实现GPS位置获取的方法

Android编程实现GPS位置获取的方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

b13区下载,kill,大高静流

本文实例讲述了android编程实现gps位置获取的方法。分享给大家供大家参考,具体如下:

public class gpsinfoservice {
  private static gpsinfoservice minstance;
  private locationmanager locationmanager;//定位服务
  private gpsinfoservice(context context) {
    // todo auto-generated constructor stub
    locationmanager = (locationmanager) context.getsystemservice(context.location_service);
  }
  public static gpsinfoservice getinstance(context context){
    if(minstance == null){
      minstance = new gpsinfoservice(context);
    }
    return minstance;
  }
  //注册定位监听
  public void registenerlocationchangelistener(){
    //得到所有的定位服务
//   list<string> providers = locationmanager.getallproviders();
//   for(string provider:providers){
//     log.i("i", provider);
//   }
    //查询条件
    criteria criteria = new criteria();
    //定位的精准度
    criteria.setaccuracy(criteria.accuracy_fine);
    //海拔信息是否关注
    criteria.setaltituderequired(false);
    //对周围的事情是否进行关心
    criteria.setbearingrequired(false);
    //是否支持收费的查询
    criteria.setcostallowed(true);
    //是否耗电
    criteria.setpowerrequirement(criteria.power_low);
    //对速度是否关注
    criteria.setspeedrequired(false);
    //得到最好的定位方式
    string provider = locationmanager.getbestprovider(criteria, true);
    //注册监听
    locationmanager.requestlocationupdates(provider, 60000, 0, getlistener());
  }
  //取消监听
  public void unregisterlocationchangelistener(){
    locationmanager.removeupdates(getlistener());
  }
  private mylocationlistener listener;
  //得到定位的监听器
  private mylocationlistener getlistener(){
    if(listener == null){
      listener = new mylocationlistener();
    }
    return listener;
  }
  //得到上个地理位置
  public string getlastlocation(){
    return sp.getstring("last_location", "");
  }
  private final class mylocationlistener implements locationlistener{
    //位置的改变
    public void onlocationchanged(location location) {
      // todo auto-generated method stub
      double latitude = location.getlatitude();//维度
      double longitude = location.getlongitude();//经度
      string last_location = "jingdu: " + longitude + ",weidu:" + latitude;
      editor editor = sp.edit();
      editor.putstring("last_location", last_location);
      editor.commit();
    }
    //gps卫星有一个没有找到
    public void onstatuschanged(string provider, int status, bundle extras) {
      // todo auto-generated method stub
    }
    //某个设置被打开
    public void onproviderenabled(string provider) {
      // todo auto-generated method stub
    }
    //某个设置被关闭
    public void onproviderdisabled(string provider) {
      // todo auto-generated method stub
    }
  }
}

更多关于android相关内容感兴趣的读者可查看本站专题:《android控件用法总结》、《android视图view技巧总结》、《android操作json格式数据技巧总结》、《android开发入门与进阶教程》及《android资源操作技巧汇总

希望本文所述对大家android程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网