`

使用GPS获取经纬度

阅读更多
GPSHelper.java文件:
package edison.gps;

import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;

public class GPSHelper {

	private Context con;
	private double mLatitude = 0;
	private double mLongitude = 0;
	private LocationManager mLocationManager;

	public GPSHelper(Context con) {
		this.con = con;
	}

	public static GPSHelper mGps;

	public static GPSHelper getGpsInstance(Context mCon) {
		if (mGps == null) {
			mGps = new GPSHelper(mCon);
		}
		return mGps;
	}

	/** Get the locationManager object and set GPS update listener. */
	public void openGps() {
		mLocationManager = (LocationManager) con
				.getSystemService(Context.LOCATION_SERVICE);
		/**
		 * Register the listener with the Location Manager to receive
		 * locationupdates
		 */
		mLocationManager.requestLocationUpdates(
				LocationManager.NETWORK_PROVIDER, 6000, 0, locationListener);
	}

	/** Close the gps service. */
	public void closeGps() {
		if (mLocationManager != null) {
			mLocationManager.removeUpdates(locationListener);
		}
	}

	/** Get the latitude location. */
	public double getLatitude() {
		return mLatitude;
	}

	/** Get the longitude location. */
	public double getLongitude() {
		return mLongitude;
	}

	private void updateWithNewLocation(Location location) {
		if (location != null) {
			mLatitude = location.getLatitude();
			mLongitude = location.getLongitude();
		}
	}

	private final LocationListener locationListener = new LocationListener() {
		public void onLocationChanged(Location location) {
			updateWithNewLocation(location);
		}

		public void onProviderDisabled(String provider) {
		}

		public void onProviderEnabled(String provider) {
		}

		public void onStatusChanged(String provider, int status, Bundle extras) {
		}
	};

}



GpsLocation.java
package edison.gps;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class GpsLocation extends Activity {

	private Button mGetLocation;
	private TextView mLongitude, mLatitude;
	private GPSHelper mGps;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		mGps = GPSHelper.getGpsInstance(getApplicationContext());
		findView();
	}

	public void findView() {
		mGetLocation = (Button) findViewById(R.id.mGetLocation);
		mGetLocation.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				mGps.openGps();
				mLongitude.setText(String.valueOf(mGps.getLongitude()));
				mLatitude.setText(String.valueOf(mGps.getLatitude()));
			}
		});
		mLongitude = (TextView) findViewById(R.id.mLongitude);
		mLatitude = (TextView) findViewById(R.id.mLatitude);
	}
}

    在这2个类里面获取的GPS坐标时,需要在手机上设置一个选项:允许手机使用无线网络通过基站来获取位置信息(这样可以保证在室内或室外都可以快速的获取GPS定位坐标)

需要加几个权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
分享到:
评论

相关推荐

    Android_GPS如何获取经纬度

    首先,要使用GPS获取经纬度,必须在AndroidManifest.xml文件中添加必要的权限。这涉及到`ACCESS_FINE_LOCATION`权限,因为它允许应用访问用户的精确地理位置信息。在`&lt;manifest&gt;`标签内添加以下代码行: ```xml ``...

    android获取GPS经纬度,并根据经纬度获取准确地址( 纯原生)

    在Android开发中,获取设备的GPS经纬度以及根据这些坐标获取准确地址是常见的需求。这里我们将深入探讨如何实现这一功能。 首先,我们需要了解Android中的Location服务。Location服务是Android系统提供的一种定位...

    android获取GPS经纬度,并根据经纬度获取准确地址 _andoid 原生开发定位无法获取经纬度,

    在Android设备上,我们可以利用内置的GPS传感器或者网络定位服务来获取经纬度坐标。 1. **开启GPS服务** 在Android中,使用LocationManager服务来管理位置更新。首先,在AndroidManifest.xml中添加权限: ```xml `...

    xamarin android gps定位获取经纬度

    xamarin android中使用gps定位获取经纬度,入门的简单介绍:http://blog.csdn.net/kebi007/article/details/74936979

    iphone通过gps获取经纬度的

    在iOS开发中,获取iPhone设备的GPS位置信息是常见的需求,这主要涉及到Core Location框架的使用。...在学习和使用这个示例时,不仅可以掌握获取经纬度的基本方法,还能了解到如何处理授权、错误和优化定位性能等问题。

    AndroidGPS定位,获取经纬度位置

    本教程将深入探讨如何在Android应用程序中使用GPS获取经纬度坐标,并将其显示在TextView中。以下是一系列详细步骤和相关知识点: 1. **AndroidManifest.xml配置**: 在Android应用中使用GPS服务,必须在`...

    安卓调用GPS获取经纬度源码

    ### 安卓调用GPS获取经纬度源码详解 #### 一、概述 在移动互联网时代,位置服务已经成为很多应用的基础功能之一。特别是在导航、外卖配送、社交软件等领域,准确获取用户的位置信息变得尤为重要。本篇文章将通过一...

    Android根据GPS获取经纬度和海拔

    本文将详细介绍如何在Android Studio项目中根据GPS获取经纬度和海拔。 首先,为了获取地理位置信息,我们需要在AndroidManifest.xml文件中请求相应的权限。添加以下权限: ```xml ``` 这两个权限分别用于获取...

    android gps 获取经纬度

    在Android开发中,获取GPS(全球定位系统)的经纬度是一项...以上就是关于“Android GPS 获取经纬度”的详细说明,希望能帮助你理解和实现相关功能。如果你需要进一步的代码示例或者对某个环节有疑问,欢迎继续探讨。

    Android studio 获取GPS经纬度信息(含数据库)

    主要内容为通过手机gps获取经纬度数值,设置sqlite数据库,可以将获取的经纬度保存在数据库中,做了简单的数据滤波,可以求得一点的平均经纬度,并获取该点的其他值与均值的距离,从而观察经纬度的精确度。

    android基于Gps 定位和基站定位获取经纬度

    这可能是源码文件的一部分,可能包含了更具体的实现细节,例如如何初始化`LocationListener`,处理位置更新,以及如何显示和使用获取到的经纬度信息等。如果能访问这个文件,将有助于更深入地理解整个定位系统的...

    android gps定位获取经纬度

    本篇将详细介绍如何在Android中获取经纬度坐标。 一、Android权限设置 在AndroidManifest.xml文件中,必须声明使用GPS的权限,这是获取位置信息的前提。添加以下代码: ```xml ``` `ACCESS_FINE_LOCATION`权限...

    android GPS获取经纬度

    在Android平台上,获取GPS经纬度是一项基础且重要的功能,它涉及到地理位置服务,广泛应用于地图导航、定位服务、社交应用等领域。下面将详细讲解如何在Android中实现这一功能,以及涉及的相关知识点。 首先,我们...

    android根据GPS获取经纬度和海拔

    开发者可以通过LocationManager或FusedLocationProviderClient来获取经纬度、海拔、速度和时间等数据,为用户提供基于位置的服务。在实际操作中,需要注意权限管理、性能优化和用户体验等方面的问题。

    android安卓绝对可以获取GPS经纬度的google map demo

    使用谷歌api,不需要网络,可以直接获取经纬度,获取经纬度写到一个类中,直接调用start,关闭使用stop。 注意要在室外使用! 打开应用,马上开始获取地址,多次点击 第一个按钮: 获取gps经纬度, 如果程序获取到...

    android通过GPS获取经纬度和具体城市

    本篇文章将详细介绍如何利用GPS(全球定位系统)技术在Android平台上获取设备的经纬度坐标以及对应的具体城市信息。 首先,我们需要了解Android中的位置API。Android提供了一个强大的Location API,它允许开发者...

    GPS无网络下获取经纬度

    本篇文章将深入探讨如何在无网络环境下利用GPS获取经纬度,并通过Android Studio进行实际代码实现。 首先,我们需要在AndroidManifest.xml文件中添加必要的权限,以便应用能够访问GPS服务。以下是必需的权限声明: ...

    wince gps获取经纬度,速度的计算,打印日志的动态库

    解析NMEA字符串是获取经纬度和速度的关键步骤。你需要编写一个函数,该函数能解析这些字符串,提取出经纬度(DD.ddddd的形式,其中D表示度,d表示小数度)和速度(节或公里/小时)。 2. **动态库创建**: 使用C++...

    GPS定位获取经纬度

    "GPS定位获取经纬度"这个主题涉及到如何在应用中检测并利用GPS服务来获取用户的精确地理位置坐标,即经度和纬度。这里我们将深入探讨相关知识点。 首先,我们需要了解GPS的基本原理。GPS是一个全球卫星导航系统,...

Global site tag (gtag.js) - Google Analytics