Android定位功能总结
来源:互联网 发布:ubuntu系统 流畅 配置 编辑:程序博客网 时间:2024/05/24 06:24
前言:
定位功能,在我们的很多app中都可以看得到,今天就编写一个Demo来总结一下如何获取经纬度
步骤一:声明权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
注:在Android 6.0以上,除了在AndroidManifest.xml中进行权限的声明之外,这个权限还需要在代码去进行校验,征询用户的同意;
步骤二:获取LocationManager实例
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
步骤三:设置定位的方式
/*** * 设置定位的方式: * GPS_PROVIDER:使用GPS的方式进行定位 * NETWORK_PROVIDER:使用网络的方式进行定位 * PASSIVE_PROVIDER:通过其他应用定位的结果来获知此时的位置(一般不用) * ***//*** * 获取目前所有可用的定位方式 */List<String> providers = locationManager.getProviders(true);/*** * 手动筛选出最佳的一个定位方式 */if (providers.contains(LocationManager.GPS_PROVIDER)) { bestProvider = LocationManager.GPS_PROVIDER;} else if (providers.contains(LocationManager.NETWORK_PROVIDER)) { bestProvider = LocationManager.NETWORK_PROVIDER;} else { Toast.makeText(this, "no provider", Toast.LENGTH_SHORT).show(); return;}
步骤四:对定位进行侦听
listener = new LocationListener() { @Override public void onLocationChanged(Location location) { /*** * 获取维度值 * **/ double latitude = location.getLatitude(); Log.e("latitude", "" + latitude); /*** * 获取经度值 * **/ double longitude = location.getLongitude(); Log.e("longitude", "" + longitude); textView_01.setText("latitude:" + latitude + '\n' + "longitude" + longitude); } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } @Override public void onProviderEnabled(String provider) { } @Override public void onProviderDisabled(String provider) { }};
/** * bestProvider表示我们设置的定位方式 * 2000:表示每2000ms定位信息就更新一次 * 1:表示每1m定位信息也更新一次 * listener:定位侦听者 */locationManager.requestLocationUpdates(bestProvider, 2000, 1, listener);
步骤五:当程序关闭时,移除侦听
locationManager.removeUpdates(listener);
总结:
在这里只是进行了获取经纬度的操作,若想要获取其具体的地址,可以通过引入百度SDK的反地理编码功能来实现,
也可以用其他反地理编码API来实现,当然你还可以直接通过百度地图SDK集成的定位功能来替代上述一切操作;
至于如何用百度地图SDK来操作定位功能,直接进官网查看,文档已经写得很清楚了........
效果图:
源码:
Android定位功能示例源码
参考:
郭霖《第一行代码android》
0 0
- Android定位功能总结
- Android定位功能
- Android定位功能
- android定位功能
- Android定位功能
- Android定位功能
- Android定位功能学习
- Android定位功能
- android定位功能1
- Android问题定位总结
- Android定位功能(二)
- Android定位功能(一)
- Android定位功能(二)
- Android定位功能(一)
- Android定位功能(二)
- Android定位功能(一)
- Android定位功能(二)
- Android 百度 Map----定位功能
- 阿里面试题总结
- 示例代码
- 利用Java反射机制取代switch判断
- 敏捷开发之Scrum扫盲篇
- 图的割点、桥与双连通分支
- Android定位功能总结
- HDU 4414: Finding crosses
- 解决 eclipse GIT Writing to secure store failed 问题 提交代码认证不通过
- apply函数族简介
- Hdu 5819 Knights(前缀相同,骑士决斗,最后剩下第n个骑士)
- kaldi 中lattice操作的几个工具
- interpolator插补器的属性
- BFS_4
- shell中的${},##和%%的使用