首页 > 其他分享 >Android Location服务之Geocoder

Android Location服务之Geocoder

时间:2022-12-05 15:32:26浏览次数:33  
标签:Geocoder double longitude Location address latitude Android append


提到Android基于位置的服务,就不得不提android.location包,location包提供了很便捷的API来实现基于位置的服务。主要包括Geocoder和LocationManager。今天就先来介绍一下Geocoder。

Geocoder可以在街道地址和经纬度地图坐标之间进行转换。它提供了对两种地理编码功能的访问:

Forward Geocoding(前向地理编码):查找某个地址的经纬度

Reverse Geocoding(反向地理编码):查找一个给定的经纬度所对应的街道地址。

分别对应以下方法:


[java] ​​view plain​​​​copy​​



  1. List<Address>  getFromLocationName(String locationName, int maxResults)  
  2. List<Address>  getFromLocation(double latitude,double longitude,int maxResults);  


Geocoder是基于后台backend的服务,因此这个方法不是对每台设备都适用。

/**
* @param latitude 经度
* @param longitude 纬度
* @return 详细位置信息
*/
private static String convertAddress(Context context, double latitude, double longitude) {
Geocoder mGeocoder = new Geocoder(context, Locale.getDefault());
StringBuilder mStringBuilder = new StringBuilder();

try {
List<Address> mAddresses = mGeocoder.getFromLocation(latitude, longitude, 1);
if (!mAddresses.isEmpty()) {
Address address = mAddresses.get(0);
mStringBuilder.append(address.getAdminArea()).append(", ").append(address.getLocality()).append(", ").append(address.getCountryName());
}
} catch (IOException e) {
e.printStackTrace();
}

return mStringBuilder.toString();
}



标签:Geocoder,double,longitude,Location,address,latitude,Android,append
From: https://blog.51cto.com/u_11407799/5912445

相关文章

  • Android Activity
    Activity的四种状态  Activity的生命周期  eg:打开MainActivity.java ,  继承Activity单击鼠标右键产生菜单项(Generate),之后选择重写方法菜单项(Overri......
  • Android ViewPager2 + TabLayout + BottomNavigationView
    AndroidViewPager2+TabLayout+BottomNavigationView实际案例本篇主要介绍一下ViewPager2+TabLayout+BottomNavigationView的结合操作概述相信大家都看......
  • Android中的intentservice
    在Android的应用中,往往需要在执行主界面的操作时,如果要执行耗时的操作,那么应该是另外开线程的,或者是用async或者handler,今天发现其实也可以用android中的一个Intents......
  • 华为4g模块 linux驱动程序,定制Android之4G-LTE模块驱动
    定制Android之4G-LTE模块驱动一.        简介本文讲述在Android内核中,添加中国移动4G-LTE制式华为MU909模块驱动,实现通过4G上网业务,电话业务,短信业务。CPU:Sams......
  • Android 五种布局管理器及布局管理器的嵌套
    一、相对布局管理器RelativeLayout android:gravity  各子组件摆放方式android:ignoreGravity  哪个组件不受前面组件影响   相对参考组件位置androi......
  • Google本想借刀杀人,却用Android武装了敌人
    Gartner最新报告称Android手机以近2:1的优势在出货量方面超过了iPhone,Google肯定在庆祝。鉴于苹果的市场领先地位,Android的确很了不起。但Google或许对自己过去所采取的战略......
  • Android Studio的Java项目种运行main()的方法
    首先我们创建一个类publicclassTestClass{publicstaticvoidmain(String[]args){Stringstring="{\"name\":\"Bingo\",\"age\":18}";S......
  • [Android开发学iOS系列] 和一个真正iOS开发的区别?
    和一个真正iOS开发的区别?学习iOS的这段时间,我一直在思考和感受着自己和一个真正做了几年iOS的dev之间的区别.同时也在反向思考,我自己和一个新学Android的人,又有什......
  • Android 系统使RNDIS网卡上网
    背景说明:一位台湾客户需要采购一批SIMCOMSIM6600CE模组用于Tinkerboard2s,需要适配Debain系统和Android系统。 主要修改点:1、defconfig增加RNDISHOST驱动2、在opt......
  • Android平台GB28181设备接入模块之球机/云台控制探究
    技术背景好多开发者在做GB28181设备接入的时候,问云台控制是否可以处理(亦或拉取外部RTSP摄像头,通过命令中转的方式,控制摄像头),实际上云台控制命令相对来说还是比较好处理的。......