gps获取经纬度
来源:互联网 发布:送餐抢单软件 编辑:程序博客网 时间:2024/04/27 18:33
private LocationManager locationManager; //位置管理者private String provider; //位置提供器 比如gps network
locationManager = (LocationManager) mActivity.getSystemService(Context.LOCATION_SERVICE);
//获取经纬度private void getLocation() { Location location = getBestLocation(locationManager); Toast.makeText(mContext, "location:"+location, Toast.LENGTH_SHORT).show(); //为位置管理者设置位置监听。参数: 1位置提供器 2多少毫秒 3多少米 4位置监听器 locationManager.requestLocationUpdates(provider, 5000, 1, locationListener);}//获取location对象,优先以GPS_PROVIDER获取location对象,当以GPS_PROVIDER获取到的locaiton为null时 //则以NETWORK_PROVIDER获取location对象,这样可保证在室内开启网络连接的状态下获取到的location对象不为空private Location getBestLocation(LocationManager locationManager) { Location result = null; if (locationManager != null) { result = locationManager .getLastKnownLocation(LocationManager.GPS_PROVIDER); provider = LocationManager.GPS_PROVIDER; if (result != null) { return result; } else { result = locationManager .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); provider = LocationManager.NETWORK_PROVIDER; return result; } } return result;}//位置监听器LocationListener locationListener = new LocationListener() { @Override public void onLocationChanged(Location location) { showLocation(location); } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } @Override public void onProviderEnabled(String provider) { } @Override public void onProviderDisabled(String provider) { }};//销毁时解除位置监听@Overridepublic void onDestroy() { super.onDestroy(); if (locationManager != null){ locationManager.removeUpdates(locationListener); }}//吐司弹出经纬度private void showLocation(Location location) { Toast.makeText(mContext, "纬度:"+location.getLatitude()+"经度:"+location.getLongitude(), Toast.LENGTH_SHORT).show();}
先创建位置管理者 ,通过位置管理者的getLastKnowLocation方法传入位置提供器来获取location对象。
注意:获取location对象,优先以GPS_PROVIDER获取location对象,当以GPS_PROVIDER获取到的locaiton为null时 ,
则以NETWORK_PROVIDER获取location对象,这样可保证在室内开启网络连接的状态下获取到的location对象不为空。
直接复制getBestLocation方法传入locationManager即可。
LocationManager可以设置位置变化监听器。requestLocationUpdates,传入位置提供器(gps、network)、毫秒、米、位置变化监听器。主要写监听器里面的onLocationChange方法。
销毁时判断locationManager是否为空,不为空时解除位置变化监听器removeUpdates。
参照博客:http://blog.csdn.net/zhangyu_kenshin/article/details/50651409
需要的权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.INTERNET" />
0 0
- Android获取GPS经纬度
- Unity3d获取GPS 经纬度
- Unity获取经纬度(GPS)
- gps获取经纬度
- GPS 定义获取经纬度
- 使用Gps获取经纬度
- Android GPS定位 获取经纬度
- android 使用gps获取经纬度
- Android GPS定位 获取经纬度
- Android GPS定位 获取经纬度
- cordova 获取GPS经纬度信息
- Android GPS/WIFI定位 获取经纬度
- GPS或NewWork获取当前位置经纬度
- Android设置GPS及获取经纬度坐标
- 点击按钮根据GPS获取当前经纬度
- Android GPS获取当前经纬度坐标
- Android设置GPS及获取经纬度坐标
- Android--使用手机GPS获取经纬度
- mysql dba系统学习(16)mysql的mysqldump备份
- OpenGL缓冲区对象之VAO
- Swift-方法杂谈
- JSP基本介绍
- 获得当前时间(时区,微秒数) 工具类
- gps获取经纬度
- 随笔之java笔试2
- 【Modern OpenGL】第一个三角形
- 时间转换
- maven导入jar包慢的问题
- linux基础命令
- mysql dba系统学习(18)mysql主从复制的实现 mysql dba系统学习(19)配置mysql+lvs+keeplived实现Mysql读操作的负载均衡
- LeetCode 2016 307
- 2016.12.21 今天的收获