无聊在寝室瞎鼓捣,写出个程序可以用手机Gps模块定位了,当时还是挺激动的呢,下面把我瞎鼓捣的过程分享一下~~~。
先放一下成品图吧:左边是定位时截取的图,右边是定位完成时截取的图。
在程在程序里是有线程辅助用户判断Gps信息是在更新的。就是最下面两行字啦~~。
首先,要使用手机里的Gps模块是要权限的,在安卓工程的AndroidManifest.Xml文件内添加这么一条语句就行了。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
这条语句的位置参照下图:
好,配置完了Xml文件那么这个程序就有获取位置信息的权限了。
要得到位置信息,就要在Activity里实例化一个LocationManager,再给这LocationManager申请使用Gps模块,再返回位置信息。就这三个步骤!!!
final LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000, 1, new TestLocationListener()); Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
来解释一下这三条语句吧,第一条就是实例化一个LocationManager对象了,说他要用系统服务里面的位置服务;第二天就是给这个LocationManager申请地点更新需要用到的Gps模块,第二个参数1000表示隔1s更新一次位置信息,第三个参数1表示如果距离变化超过1m则更新一次位置信息,若两个参数都为0 表示尽可能频繁的请求位置信息第四个参数是一个位置监听器了。
好,有了前两条语句,于是加上第三条语句就可以得到位置信息啦,需要什么信息就在location对象里面取就行啦。不过这里会有一个问题,就是没开Gps模块的时候或者还没有定位完成的时候是没有位置信息的,如果这时去取location里的信息,就会报空指针异常。所以我们还得稍微处理一下。
比如像下面这样:
if (location != null) {// 如果有GPS信息的话 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); double latitude = location.getLatitude(); double longitude = location.getLongitude(); long Time = location.getTime(); float Speed = location.getSpeed(); float Accuracy = location.getAccuracy(); double Altitude = location.getAltitude(); a1.append("最后一次的位置信息:"); a1.append("\n精度: " + Accuracy); a1.append("\n纬度 : " + latitude); a1.append("\n经度 : " + longitude); a1.append("\n海拔: " + Altitude); a1.append("\n速度: " + Speed + "m/s"); a1.append("\n速度: " + Speed * 3.6 + "km/h"); a1.append("\n时间 : " + sdf.format(Time)); } else a1.setText("无地理位置信息");
这里的a1是一个TextView。
最后实现一下上面三行语句中第二个语句里面的第四个参数TestLocationListener吧,这个类要继承LocationListener接口,实现里面的方法,悄悄告诉你,其实这里什么都不写也是可以的~~~~。
相关推荐
Android GPS 定位的实现 使用Google地图 Android下实现GPS定位服务
Android Studio 项目,集成了Android GPS定位。 在项目中也集成了高德SDK的定位效果。 项目的中key可以在高德开放平台上自行申请。
android gps 定位软件 微信可搜索任意地点附近人
android GPS定位完美版
在Android中的GPS定位在Android中的GPS定位在Android中的GPS定位在Android中的GPS定位
利用手机内置GPS返回设备所在的经纬度坐标,刚启动的时候初次定位较慢,反应时间3-5分钟。另外,手机要开启GPS定位功能;
GPS定位功能。GPS定位例子。开启软件后,要等2分钟,就会弹出经纬度。
Android GPS定位;Android GPS定位;Android GPS定位;Android GPS定位
Android GPS定位例子 Android GPS定位例子 Android GPS定位例子 已测试通过,由于GPS定位一般都比较慢,但是成功运行
android平台上完成GPS定位功能,完整代码实例,多次测试。
这时的定位方式为GPS,由于GPS定位慢,所以它不可能立即返回你一个Location对象,所以就返回null了。 **3.推荐locationManager.requestLocationUpdates();方法** LocationManager中设定监听位置变化的代码如下: ``...
Android GPS定位源码 可以得到经纬度信息
Android 高德地图gps定位.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
TestGPS 测试安卓GPS定位 2016.05.28 可以显示搜索到的卫星数量以及经纬度坐标
这是一个使用手机GPS获取当前位置和经纬度坐标的示例程序,真机测试可用;开发IDE环境为AndroidStudio。
点击一个按钮后能够进行gps定位,将取得的gps点在一个TextView中显示出来经纬度。
android模拟器使用gps定位,模拟实现GPS传感器经纬坐标数据的获取。
Android的GPS定位源码,可以检测GPS是否打开,定位速度快,可以显示经纬度。 已经打包了可以安装的APK文件
Android GPS定位源代码,带教程视频。
初学者Android源码,获取Gps定位信息的Android源码实例,通过这个JAVA小项目,你可能学会GPS在Android手机中如何工作,定位和获取GPS等操作,代码中有注释,方便理解学习,部分代码注解: public int InfoType;//...