Android 使用GPS定位获取经纬度的方法

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

移动 是手机与手持设备的最大特点,可以通过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中,如图:

Android 使用GPS定位获取经纬度的方法第1张

监听位置的变化

//监听位置变化,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显示的位置信息

Android 使用GPS定位获取经纬度的方法第2张
Android 使用GPS定位获取经纬度的方法第1张
Android 使用GPS定位获取经纬度的方法第4张
Android 使用GPS定位获取经纬度的方法第5张

免责声明:文章转载自《Android 使用GPS定位获取经纬度的方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WPF 和 UWP 中,不用设置 From 或 To,Storyboard 即拥有更灵活的动画控制Linux访问控制列表(Access Control List,简称ACL)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SpringBoot-Mybatis_Plus学习记录之公共字段自动填充

一.应用场景 平时在建对象表的时候都会有最后修改时间,最后修改人这两个字段,对于这些大部分表都有的字段,每次在新增和修改的时候都要考虑到这几个字段有没有传进去,很麻烦。mybatisPlus有一个很好的解决方案。也就是公共字段自动填充的功能。一般满足下面条件的字段就可以使用此功能: 这个字段是大部分表都会有的。 这个字段的值是固定的,或则字段值是可以在...

JAVA连接数据库

运行如下Java程序,学会JAVA连接数据库的方法。。 import java.sql.*; public class Test { public static void main(String[] srg) { String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载...

实验3- 熟悉常用的 HBase 操作

石家庄铁道大学信息科学与技术学院 实验报告 2018年----2019年第一学期 题目:熟悉常用的 HBase 操作 课程名称:大型数据库应用技术 班级:信1605-2班 姓名: XX学号: XXXXXXXX 指导教师: XXX 一、实验内容与完成情况:(实验具体步骤和实验截图说明) 实验...

c#截取两个指定字符串中间的字符串(转载)

转载来源:https://www.cnblogs.com/jolins/p/9714238.html  写法有很多,记录常用的两种: 1、正则表达式 1 public static string MidStrEx_New(string sourse, string startstr, string endstr) 2 {...

thinkphp 常见问题

0.写在最前面的不断更新 (1)trace不起作用 A:必须要输出到模板,才会有trace信息 (2)提示“您浏览的页面暂时发生了错误!请稍后再试~” A:检查控制器(看看能进到控制器没有,设断点输出一下。如果没有。检查控制器名字,路径对了没有?) (3)Model:relation您所请求的方法不存在! A:这没什么好说的了,检查方法。 (4)神马都检查...

Unity3D脚本中文系列教程(七)

http://dong2008hong.blog.163.com/blog/static/4696882720140311445677/?suggestedreading&wumii Unity3D脚本中文系列教程(六) 类方法◆ static function BeginGroup(GroupName : string) : void ◆ sta...