• Android中通过经纬度来过去到城市名称

Android中通过经纬度来过去到城市名称

  • 废话也不多说,直接上代码,代码可以直接拷贝过去用.
  • 获取当前经纬度的方法
    public static void getGPSLocation(Context context){        double latitude = 0.0;        double longitude = 0.0;        LocationManager locationManager =                                               (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);        //判断GPS是否启动        if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){            //通过GPS获取位置            Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);            if(location != null){                latitude = location.getLatitude();                longitude = location.getLongitude();            }else{                //位置改变的一个监听                LocationListener locationListener = new LocationListener(){                    public void onLocationChanged(Location location) {                        //位置改变                    }                    public void onStatusChanged(String provider, int status, Bundle extras) {                        //GPS状态变化时触发                    }                    public void onProviderEnabled(String provider) {                        //GPS开启时触发                    }                    public void onProviderDisabled(String provider) {                        //GPS禁用时触发                    }                };                locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000, 0, locationListener);                //通过网络获取位置                location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);                if(location != null){                    latitude = location.getLatitude();                    longitude = location.getLongitude();                }            }            //最后打印出经度和纬度            Log.e("TAG", "Lat:"+latitude+";Lon="+longitude);        }    }
  • 通过我们以上方法获取到经纬度后,我们可以通过一下的代码来获取到我们所在的城市名
    // 获取地址信息    private static List getAddress(Location location) {        //用来接收位置的详细信息        List result = null;        try {            if (location != null) {                Geocoder gc = new Geocoder(mContext, Locale.getDefault());                result = gc.getFromLocation(location.getLatitude(),                        location.getLongitude(), 1);            }        } catch (Exception e) {            e.printStackTrace();        }        return result;    }
  • 最后呢,大家都不要忘记了最重要的一个步骤,就是添加我们所需要的权限
        <uses-permission android:name="android.permission.INTERNET" />        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

更多相关文章

  1. android的自定义弹出窗
  2. Android应用程序获取系统权限
  3. Android应用程序获取系统权限
  4. android之Uri的使用简介\Uri与path相互转换
  5. Android中获取屏幕相关信息(屏幕大小,状态栏、标题栏高度)
  6. android 获取路径目录方法以及判断目录是否存在,创建目录
  7. Android(安卓)应用的真正入口 - ZygoteInit.java
  8. Android(安卓)layout xml总结(1)
  9. android获取应用内自定义权限与权限使用情况

随机推荐

  1. 动态合并工作表,放到哪里也能刷新
  2. 计算折旧月数,实用才是硬道理
  3. iOS多线程面试题分析
  4. SSL证书有哪些类型?如何去选择?
  5. iMove 如何输出影片、mp4 档案格式及调整
  6. iOS188面试题面试题整理,底层、技术亮点公
  7. 苹果 iMac Pro 官网已售罄, iMac Pro 最终
  8. 实现敏捷框架的比较:Scrum 方法 vs 看板方
  9. centos7 系统自带的OpenJDK切换成的Oracl
  10. flink sql使用中的一个问题