`
羽落窗前
  • 浏览: 107682 次
  • 性别: Icon_minigender_2
  • 来自: 厦门
社区版块
存档分类
最新评论

Android GPS定位

阅读更多

今天整了一天GPS问题,崩溃啊!!后来还好找到了一个解说详细的博文,一下豁然开朗。
原文地址:http://justsee.iteye.com/blog/657337

 

关于GPS值的获取,主要是使用到LocationManager,用法如下:

 

 

LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);

 

 :getSystemService是Activity的一个方法。Location更新的设置是每隔1000ms更新一次,并且不考虑位置的变化。最后一个参数是LocationListener的一个引用,这个类需要实现:

 

private final LocationListener locationListener = new LocationListener() {

		public void onLocationChanged(Location location) {
                        //如果需要去到GPS启动后取到的Location,必须用这个!
		}

		public void onProviderDisabled(String provider) {
			// Provider被disable时触发此函数,比如GPS被关闭 
			
		}

		public void onProviderEnabled(String provider) {
			//  Provider被enable时触发此函数,比如GPS被打开 
			
		}

		public void onStatusChanged(String provider, int status, Bundle extras) {
			// Provider的转态在可用、暂时不可用和无服务三个状态直接切换时触发此函数 
			
		}
		
	};

 

完成这些设定后,获取GPS的方法:

Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 
double latitude = location.getLatitude();     //经度 
double longitude = location.getLongitude(); //纬度 
double altitude =  location.getAltitude();     //海拔 

注:这里取到的GPS值是目前存储在GPS上的Location值,如果刚刚打开GPS就用这个方法取Location取到的会是上一次代开GPS时取到的旧值。等待GPS取得新值需要用LocationListener里的 onLocationChanged。

 

在运行程序前,还需要修改AndroidManifest.xml文件,在application中加入:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES"/>  

停止GPS运行:

locationManager.removeUpdates(locationListener)

检测GPS是否已经启动:

 

locationManagemer.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER);
Toast.makeText(this, "Please open GPS!", Toast.LENGTH_SHORT).show();
 

 

分享到:
评论
3 楼 u011404046 2014-07-23  
又是这种坑人的代码,,这只是获取别人的定位信息而已,如果getLastKnownLocation返回null,不知道又是copy了谁的···
2 楼 pulove 2011-09-26  
很好,YEYE
1 楼 jianai115 2011-07-28  
亲,看不懂啊,源代码可以发一下吗?1003862555@qq.com

相关推荐

    Android GPS 定位的实现

    Android GPS 定位的实现 Android GPS 定位是 Android 平台中的一种常见的定位服务,通过使用 Google 地图实现 GPS 定位服务。下面是 Android GPS 定位的实现知识点: 一、添加权限 要使用 Android 平台的 GPS ...

    Android GPS定位简单 DEMO

    -- GPS定位必须的权限 --&gt; &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/&gt; **1.获取位置管理器对象LocationManager** ``` import android.location.LocationManager; ...

    AndroidGPS定位

    本章重点介绍了如何在Android平台上实现GPS定位以及如何利用谷歌地图进行地图显示和操作。 位置服务,也称为Location-Based Services(LBS),结合了GPS、移动通信、网络定位等多种技术,为用户提供与位置相关的...

    AndroidGPS定位源码

    本资源提供了Android GPS定位的实例源码,对于学习和理解如何在Android应用中集成GPS定位至关重要。通过分析这些源码,我们可以深入探讨Android GPS定位的相关知识点。 1. **AndroidManifest.xml配置** 在Android...

    Android GPS定位 代码+APK

    在Android开发中,GPS定位是一项基础且重要的功能,它允许应用程序获取用户的位置信息,从而实现各种基于位置的服务,如导航、地图应用、社交网络签到等。本资源提供了一个实现Android GPS定位的源码示例,并附带了...

    Android GPS定位源码

    这个"Android GPS定位源码"提供了一种实现方式,帮助开发者能够获取到经纬度信息,从而实现各种基于位置的服务,如导航、地图应用、地理围栏等。 在Android中,定位服务主要依赖于LocationManager和Location...

    android GPS定位完美版

    android GPS定位完美版

    Android GPS定位源代码

    本资源"Android GPS定位源代码"提供了一个实现这一功能的实例,结合教程视频,为开发者提供了一个学习和实践GPS定位技术的平台。 1. **AndroidManifest.xml配置** 在Android应用中使用GPS,首先需要在`...

    Android GPS定位测试

    本文将深入探讨Android GPS定位测试的相关知识点,包括API的使用、权限管理、定位服务的开启与关闭、定位精度的优化以及测试策略。 首先,Android提供了一系列的API接口来处理GPS定位,主要在`android.location`包...

    Android GPS定位例子

    这个"Android GPS定位例子"是一个实现GPS定位功能的示例项目,它已经被测试并确认能够正常运行,尽管GPS定位通常需要一定时间来获取精确的位置信息。 Android系统提供了一套完整的API,即Location API,用于获取...

    Android_GPS.rar_Android GPS定位_GPS_android_gps android_定位

    本文将深入探讨Android中的GPS定位机制、API的使用以及相关的编程实践。 1. **Android GPS定位机制** Android系统通过集成GPS硬件模块与网络定位服务(如Wi-Fi和移动网络)来实现定位功能。GPS模块接收来自卫星的...

    delphi xe7android gps定位demo使用百度地图

    在开发Android应用时,有时我们需要实现GPS定位功能,Delphi XE7作为一个强大的跨平台开发工具,可以帮助我们轻松实现这一需求。本示例是关于如何在Delphi XE7环境下,利用百度地图API来实现Android设备上的GPS定位...

    android GPS 定位技巧

    在Android平台上,GPS定位是移动应用开发中一个重要的功能,它允许用户获取设备的精确地理位置信息,例如经纬度坐标。以下是一些关于Android GPS定位的关键知识点: 1. **权限设置**: 在Android中,使用GPS定位...

    android GPS 定位系统源码

    本文将深入探讨Android GPS定位系统的源码,分析其工作原理,并提供一些关键知识点,帮助开发者理解和实现自己的定位功能。 1. **Android位置服务框架** Android提供了位置服务框架,该框架为应用程序提供了统一的...

    AndroidGPS定位和高德SDK定位

    Android Studio 项目,集成了Android GPS定位。 在项目中也集成了高德SDK的定位效果。 项目的中key可以在高德开放平台上自行申请。

    Android GPS定位(LocationGPS)

    本文将深入探讨Android GPS定位机制,包括基本概念、API使用、权限管理以及优化策略。 首先,理解GPS的基本原理至关重要。GPS是通过接收多个卫星信号来计算设备的经纬度坐标。在Android中,定位服务主要依赖于`...

Global site tag (gtag.js) - Google Analytics