`
as11051105
  • 浏览: 59346 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

Android 定位的三种方式

阅读更多

	// 声明LocationManager对象
		LocationManager loctionManager;
		// 通过系统服务,取得LocationManager对象
		loctionManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

方式一:
// 通过GPS位置提供器获得位置
String providerGPS = LocationManager.GPS_PROVIDER; 
Location location = loctionManager.getLastKnownLocation(providerGPS);

方式二:
// 通过基站位置提供器获得位置
String providerNetwork = LocationManager.NETWORK_PROVIDER;
Location location = loctionManager.getLastKnownLocation(providerNetwork);

方式三:
		// 使用标准集合,让系统自动选择可用的最佳位置提供器,提供位置
		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);
		

处理:
// 显示在EditText中
		updateWithNewLocation(location);
		// 监听位置变化,2秒一次,距离10米以上
		loctionManager.requestLocationUpdates(provider, 1000, 1, 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);
		}
	};

	private void updateWithNewLocation(Location location) {
		if (location != null) {
			double lat = location.getLatitude();
			double lng = location.getLongitude();
			latStr = format.format(lat);
			lonStr = format.format(lng);
			txtLat.setText(latStr);
			txtLon.setText(lonStr);
		} else {
			txtLat.setText("");
			txtLon.setText("");
		}
	}
分享到:
评论

相关推荐

    Android的三种定位方式

    本文将详细探讨Android中的三种主要定位方式:GPS定位、百度定位服务和高德定位服务。 首先,我们来了解一下GPS(全球定位系统)定位。GPS定位是通过接收至少四颗GPS卫星的信号来计算设备的经纬度坐标,速度和时间...

    Android三种定位方式的实现

    Android三种定位方式的实现

    Android三种定位方式的实现.zip

    在Android系统中,有三种主要的定位方式:GPS(全球定位系统)、网络定位(包括Wi-Fi和移动网络)以及蓝牙定位。这些定位技术各有特点,适用于不同的场景需求。本资源包将详细介绍这三种定位方式的实现,帮助开发者...

    2种方式获取android设置可以使用的定位方式

    在Android系统中,主要有三种定位提供者:GPS、网络(基于蜂窝塔和Wi-Fi)以及被动提供者。这些提供者根据其可用性、精度和功耗为应用提供地理位置信息。开发者可以根据应用的需求选择合适的定位方式。 第一种方法...

    Android版百度定位、腾讯定位、高德定位三者混合

    本项目"Android版百度定位、腾讯定位、高德定位三者混合"提供了一种混合定位模式,结合了百度、腾讯和高德三家主流地图服务商的定位API,旨在为开发者提供更灵活、高效的定位解决方案。 ### 1. 定位原理 定位主要...

    Android的三种网络通信方式

    Android提供了三种主要的网络通信接口,它们分别是:java.net.*(标准Java接口)、Org.apache接口(通常指的是HttpClient)和Android.net.*(Android网络接口)。这三种接口各有特点,适用于不同的网络通信场景。 1. **...

    Android地图定位与总结

    其次,Android定位服务主要依赖于GPS(全球定位系统)、Wi-Fi、移动网络等多种定位方式。GPS提供精确的户外定位,但在室内或城市高楼区可能效果不佳。这时,Wi-Fi和移动网络基站的信号可以辅助定位,提供室内或城市...

    android定位(基站,GPS,wifi)齐全

    本文将详细介绍基于Android的三种定位方式:GPS(全球定位系统)、WiFi网络定位和基站定位,并结合提供的源码资源进行深入解析。 首先,GPS是全球卫星导航系统,用于提供精确的地理位置信息。`Android实现GPS定位....

    android定位之基站定位

    ### Android定位之基站定位 #### 一、概述 在Android应用开发中,定位技术是非常重要的一个环节。通常情况下,我们可以通过GPS(全球定位系统)来实现精准定位,但当设备处于室内或没有GPS信号覆盖的地方时,GPS...

    android基站定位

    总之,Android基站定位是移动设备定位的一种重要方式,尽管存在精度限制,但结合其他技术,如A-GPS和Wi-Fi定位,可以为用户提供较好的位置服务。在开发过程中,理解并合理运用这些技术,同时注意用户隐私保护,是...

    android手机定位.pdf

    本文将详细介绍 Android 手机定位的各种方式,包括 GPS 定位、基站定位、Wifi 定位和 AGPS 定位,并讨论每种方式的优缺点。 一、GPS 定位 GPS(Global Positioning System,全球定位系统)是最简单和最准确的手机...

    Android定位资料合集

    一、Android定位机制 Android支持多种定位方式,包括GPS(全球定位系统)、WiFi、蜂窝网络、蓝牙等。其中,GPS和WiFi是最常见的两种定位手段。 1. GPS定位 GPS是全球卫星定位系统,通过接收至少4颗卫星的信号来计算...

    android 定时定位 (用的是百度地图定位API)

    在Android开发中,定位服务是不可或缺的一部分,尤其在构建各种基于位置的应用时。这个项目以“android 定时定位 (用的是百度...通过深入理解和实践,开发者可以更好地掌握Android定位服务以及第三方API的集成技巧。

    android 基站定位程序

    总结,Android基站定位是利用移动通信网络实现的一种定位方式,特别适用于GPS信号不好的场景。通过集成Android系统提供的API,开发者可以创建自己的基站定位应用,但要注意不同运营商的兼容性问题。提供的压缩包和...

    基于Android系统的移动定位模块设计与实现.pdf

    三、Android平台下的移动定位模块实现 Android操作系统提供了丰富的API和开发工具,支持开发者快速开发移动定位模块。Android中的LocationManager类提供了获取当前位置信息的方法,包括通过GPS、Wi-Fi、基站等方式...

    android gps wifi 基站 定位齐全。源码

    总的来说,这个源码包提供了学习和实践Android定位服务的宝贵资源,涵盖了从基础的GPS定位到更复杂的WiFi和基站定位,以及可能的融合定位策略。对于任何想要提升Android定位技能的开发者来说,这是一个很好的学习...

    android城市列表选择、定位

    在Android开发中,"android城市列表选择、定位"是一个常见的需求,涉及到用户界面设计、数据管理以及地理位置服务等多个方面。以下将详细解析这个主题中的关键知识点。 首先,**城市列表**是应用程序中常见的一种...

    A-GPS定位与GPS定位的Android简单实现

    理解这两种定位方式的差异和应用场景,对于优化定位效率和用户体验至关重要。在实际项目中,根据需求选择合适的定位策略,如使用`FusedLocationProviderClient`,可以达到更高效、准确的定位效果。

    android 定位到输入的地址

    3. fused location provider:谷歌提供的Fused Location Provider是Android的一个定位服务,它综合考虑了GPS、网络等多种定位方式,以提供更准确、节能的定位结果。通过`...

Global site tag (gtag.js) - Google Analytics