文档章节

Android GPS定位 获取经纬度

IT丶小生
 IT丶小生
发布于 2014/02/20 16:14
字数 519
阅读 337
收藏 6

Android GPS定位 获取经纬度

Android应用服务器Eclipse 

移动 是手机与手持设备的最大特点,可以通过Eclipse的DDMS视图,模拟设备的位置变化,改变经纬度后,点击send,然后运行程序,在应用程序中,动态的获取设备位置,然后显示当前的位置信息。 

获取位置信息分为三步: 
1. 添加系统权限,来支持对LBS硬件的访问 
   <uses-permission    android:name="android.permission.ACCESS_FINE_LOCATION"> 
  </uses-permission> 

2. 得到系统服务 的LocationManager 对象      
         LocationManager loctionManager; 
        String contextService=Context.LOCATION_SERVICE; 
        //通过系统服务,取得LocationManager对象 
        loctionManager=(LocationManager) getSystemService(contextService); 

3. 得到位置提供器,通过位置提供器,得到位置信息,可以指定具体的位置提供器,也可以提供一个标准集合,让系统根据 标准匹配最适合的位置提供器,位置信息是由位置提供其提供的。 
     a.   通过GPS位置提供器获得位置(指定具体的位置提供器) 
        String provider=LocationManager.GPS_PROVIDER; 
       Location location = loctionManager.getLastKnownLocation(provider); 
        
     b. 使用标准集合,让系统自动选择可用的最佳位置提供器,提供位置 
        Criteria criteria = new Criteria(); 
        criteria.setAccuracy(Criteria.ACCURACY_FINE);//高精度 
        criteria.setAltitudeRequired(false);//不要求海拔 
        criteria.setBearingRequired(false);//不要求方位 
        criteria.setCostAllowed(true);//允许有花费 
        criteria.setPowerRequirement(Criteria.POWER_LOW);//低功耗 

       //从可用的位置提供器中,匹配以上标准的最佳提供器 
        String provider = loctionManager.getBestProvider(criteria, true); 
        
        //获得最后一次变化的位置 
        Location location = loctionManager.getLastKnownLocation(provider); 

最后将位置信息显示在TextView中,如图: 
 

监听位置的变化 
        //监听位置变化,2秒一次,距离10米以上 
        loctionManager.requestLocationUpdates(provider, 2000, 10, locationListener); 

//位置监听器 
    private final LocationListener locationListener = new LocationListener() { 
@Override 
public void onStatusChanged(String provider, int status, Bundle extras) { 
} 
@Override 
public void onProviderEnabled(String provider) { 
} 
@Override 
public void onProviderDisabled(String provider) { 
} 
//当位置变化时触发 
@Override 
public void onLocationChanged(Location location) { 
//使用新的location更新TextView显示 
updateWithNewLocation(location); 
} 
}; 

通过改变位置经纬度,程序会自动更新TextView显示的位置信息 
 

本文转载自:http://lovezhou.iteye.com/blog/852217

共有 人打赏支持
IT丶小生
粉丝 0
博文 15
码字总数 0
作品 0
昌平
私信 提问
android定位

关于android定位,onLocationChanged 方法从不回调,有人知道是什么原因吗?以下是代码和权限。 tv_location = (TextView) findViewById(R.id.tv_location); //获取经纬度坐标(LocationMana...

海洋清风
2018/07/01
57
0
Android 手机定位慢的解决方法

做移动互联网就不太可能不碰手机端的开发。上周为了项目需要,俺也挽袖子抡胳膊开始写起了Android程序,还好有java基础,倒也上手快,写了几个小程序,主要都是关于定位方面的。 网上也搜得到...

鉴客
2011/07/18
25.6K
12
Android 实现定位及地理位置解析

昨儿折腾了一天,把Android 手机定位、获取手机当前位置的功能给搞掂了。这次记下来,不然又忘~~ 思路很简单,第一步,获取经纬度,第二步,把经纬度转换为地址。看起来简单,但是实现起来比...

慕广陵
2012/12/06
0
6
Android获取手机经纬度

利用手机获取所在地点的经纬度: Location 在Android 开发中还是经常用到的,比如 通过经纬度获取天气,根据Location 获取所在地区详细Address (比如Google Map 开发).等。而在Android 中通过...

长平狐
2012/09/03
11.7K
2
android手机GPS、基站定位问题

大家好,我遇到一个android软件开发上的问题,希望大家帮忙给我指点下迷津: 之前我用老人机GPS定位获取的经纬度信息,在谷歌地图上采用一套纠偏算法,可以很准确地在地图上显示;用移动运营...

口米巴
2012/10/23
2K
5

没有更多内容

加载失败,请刷新页面

加载更多

C++ vector和list的区别

1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。 因此能高效的进行随机存取,时间复杂度为o(1); 但因为内存空间是连续的,所以在进行插入和删除操作时,会造...

shzwork
今天
3
0
Spring之invokeBeanFactoryPostProcessors详解

Spring的refresh的invokeBeanFactoryPostProcessors,就是调用所有注册的、原始的BeanFactoryPostProcessor。 相关源码 public static void invokeBeanFactoryPostProcessors(Configu......

cregu
昨天
4
0
ibmcom/db2express-c_docker官方使用文档

(DEPRECIATED) Please check DB2 Developer-C Edition for the replacement. What is IBM DB2 Express-C ? ``IBM DB2 Express-C``` is the no-charge community edition of DB2 server, a si......

BG2KNT
昨天
3
0
Ubuntu 18.04.2 LTS nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic)

平台:Ubuntu 18.04.2 LTS nvidia-docker2 版本:2.0.3 错误描述:在安装nvidia-docker2的时候报dpkg依赖错误 nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic) 先看一下依......

Pulsar-V
昨天
4
0
学习笔记1-goland结构体(struct)

写在前面:若有侵权,请发邮件by.su@qq.com告知。 转载者告知:如果本文被转载,但凡涉及到侵权相关事宜,转载者需负责。请知悉! 本文永久更新地址:https://my.oschina.net/bysu/blog/3036...

不最醉不龟归
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部