Android中通过经纬度来过去到城市名称
16lz
2021-12-04
-
- 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" />
更多相关文章
- android的自定义弹出窗
- Android应用程序获取系统权限
- Android应用程序获取系统权限
- android之Uri的使用简介\Uri与path相互转换
- Android中获取屏幕相关信息(屏幕大小,状态栏、标题栏高度)
- android 获取路径目录方法以及判断目录是否存在,创建目录
- Android(安卓)应用的真正入口 - ZygoteInit.java
- Android(安卓)layout xml总结(1)
- android获取应用内自定义权限与权限使用情况