Android中通过GPS或NetWork获取当前位置的经纬度
来源:互联网 发布:iphone连不上蜂窝数据 编辑:程序博客网 时间:2024/06/05 23:02
今天在Android项目中要实现一个通过GPS或NetWork来获取当前移动终端设备的经纬度功能。要实现该功能要用到Android Framework 中的 LocationManager 类。下面我就直接贴上主要的代码说明如何实现通过GPS或NetWork来获取实时位置的经纬度。 - private double latitude=0.0;
- private double longitude =0.0;
-
- LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
- if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
- Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
- if(location != null){
- latitude = location.getLatitude();
- longitude = location.getLongitude();
- }
- }else{
- LocationListener locationListener = new LocationListener() {
-
- // Provider的状态在可用、暂时不可用和无服务三个状态直接切换时触发此函数
- @Override
- public void onStatusChanged(String provider, int status, Bundle extras) {
-
- }
-
- // Provider被enable时触发此函数,比如GPS被打开
- @Override
- public void onProviderEnabled(String provider) {
-
- }
-
- // Provider被disable时触发此函数,比如GPS被关闭
- @Override
- public void onProviderDisabled(String provider) {
-
- }
-
- //当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发
- @Override
- public void onLocationChanged(Location location) {
- if (location != null) {
- Log.e("Map", "Location changed : Lat: "
- + location.getLatitude() + " Lng: "
- + location.getLongitude());
- }
- }
- };
- locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000, 0,locationListener);
- Location location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
- if(location != null){
- latitude = location.getLatitude(); //经度
- longitude = location.getLongitude(); //纬度
- }
- }
- private double latitude=0.0;
- private double longitude =0.0;
- LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
- if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
- Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
- if(location != null){
- latitude = location.getLatitude();
- longitude = location.getLongitude();
- }
- }else{
- LocationListener locationListener = new LocationListener() {
- // Provider的状态在可用、暂时不可用和无服务三个状态直接切换时触发此函数
- @Override
- public void onStatusChanged(String provider, int status, Bundle extras) {
- }
- // Provider被enable时触发此函数,比如GPS被打开
- @Override
- public void onProviderEnabled(String provider) {
- }
- // Provider被disable时触发此函数,比如GPS被关闭
- @Override
- public void onProviderDisabled(String provider) {
- }
- //当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发
- @Override
- public void onLocationChanged(Location location) {
- if (location != null) {
- Log.e("Map", "Location changed : Lat: "
- + location.getLatitude() + " Lng: "
- + location.getLongitude());
- }
- }
- };
- locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000, 0,locationListener);
- Location location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
- if(location != null){
- latitude = location.getLatitude(); //经度
- longitude = location.getLongitude(); //纬度
- }
- }
同时别忘了在AndroidManifest.xml文件中加入如下权限:
<!-- 连接互联网Internet权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- GPS定位权限 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
说明:本人在真机中测试上述的功能,可以正确获取得了移动终端实时位置的经纬度。
版权声明:本文为博主原创文章,未经博主允许不得转载。
0 0
- Android中通过GPS或NetWork获取当前位置的经纬度
- Android中通过GPS或NetWork获取当前位置的经纬度
- Android中通过GPS或NetWork获取当前位置的经纬度
- Android中通过GPS或NetWork获取当前位置的经纬度
- Android中通过GPS或NetWork获取当前位置的经纬度
- Android中通过GPS或NetWork获取当前位置的经纬度
- Android中通过GPS或NetWork获取当前位置的经纬度
- 【总结备用】 Android中通过GPS或NetWork获取当前位置的经纬度
- Android 通过network gps获取当前位置的location信息
- GPS或NewWork获取当前位置经纬度
- Android获取当前位置的经纬度
- 【Android 】获取当前位置的经纬度
- android通过gps获取到当前位置
- android通过高德地图定位sdk获取当前位置的经纬度(只是经纬度哦)
- android定位:获取当前位置的经纬度
- Android之获取当前位置的经纬度
- Android获取手机经纬度(GPS、NetWork)封装工具类
- Android获取手机经纬度(GPS、NetWork)封装工具类
- 计算几何学习笔记
- NoSql——mongoDB(副本集)
- USACO——The Castle
- 为什么delegate属性使用assigne而不是retain?
- 【Matlab学习笔记】【函数学习】size参数
- Android中通过GPS或NetWork获取当前位置的经纬度
- HDU 1671 Phone List (Trie·数组实现)
- 两个日期相差的天数
- NSMutableArray类addObject方法对对象retainCount的影响 --在MRC下
- USACO——Ordered Fractions
- VirtualBox利用启动优盘安装虚拟机
- PS入门——PS的简单使用
- 【平衡树】【NOI 2005】维护数列
- mesos资源动态分配测试