Android内部是支持这个操作的,不需要借助任何的第三方工具

主要就是Geocoder这个类。

 

下面是工具类全部代码。

import android.content.Context;import android.location.Address;import android.location.Geocoder;import android.util.Log;import android.widget.Toast;import java.io.IOException;import java.util.List;public class GetAddressUtil {    Context context;    public GetAddressUtil(Context context) {        this.context = context;    }    public String getAddress(double lnt , double lat){        Geocoder geocoder = new Geocoder(context);        boolean falg = geocoder.isPresent();        Log.e("thistt", "the falg is " + falg);        StringBuilder stringBuilder = new StringBuilder();        try {            //根据经纬度获取地理位置信息---这里会获取最近的几组地址信息,具体几组由最后一个参数决定            List addresses = geocoder.getFromLocation(lat , lnt, 1);            if (addresses.size() > 0) {                Address address = addresses.get(0);                for (int i = 0; i < address.getMaxAddressLineIndex(); i++) {                    //每一组地址里面还会有许多地址。这里我取的前2个地址。xxx街道-xxx位置                    if(i == 0) {                        stringBuilder.append(address.getAddressLine(i)).append("-");                    }                    if(i == 1){                        stringBuilder.append(address.getAddressLine(i));                        break;                    }                }//                stringBuilder.append(address.getCountryName()).append("_");//国家//                stringBuilder.append(address.getFeatureName()).append("_");//周边地址//                stringBuilder.append(address.getLocality()).append("_");//市//                stringBuilder.append(address.getPostalCode()).append("_");//                stringBuilder.append(address.getCountryCode()).append("_");//国家编码//                stringBuilder.append(address.getAdminArea()).append("_");//省份//                stringBuilder.append(address.getSubAdminArea()).append("_");//                stringBuilder.append(address.getThoroughfare()).append("_");//道路//                stringBuilder.append(address.getSubLocality()).append("_");//香洲区//                stringBuilder.append(address.getLatitude()).append("_");//经度//                stringBuilder.append(address.getLongitude());//维度                Log.d("thistt", "地址信息--->" + stringBuilder);            }        } catch (IOException e) {            // TODO Auto-generated catch block            Toast.makeText(context, "报错", Toast.LENGTH_LONG).show();            e.printStackTrace();        }        return stringBuilder.toString();    }}

更多相关文章

  1. Android开发错误信息与解决方案汇总
  2. Android判断Wlan信号强弱及wlan管理信息
  3. Android监控外接USB设备和获取USB等设备的详细信息
  4. 根据文件名称修改安卓默认的蓝牙接收文件地址
  5. Android 中如何获取editText文本信息
  6. Android WebView如何隐藏地址栏,用WebView 来显示网页内容
  7. Android获取已安装应用信息(图标,名称,版本号,包)
  8. 我会经常在这个地址下面共享自己保存的几本书

随机推荐

  1. Android中实现日期时间选择器(DatePicker
  2. 用ViewFlipper实现各种切换动画
  3. 关于Android生命周期方法调用return的问
  4. android 启动图
  5. Android基于Window.ID_ANDROID_CONTENT给
  6. 在Android(安卓)Studio 中导入opencv2.4.
  7. Beginning Android(安卓)Debug
  8. android 使用include 调用内部组件
  9. android > 设置button 背景颜色
  10. 使用RenderScript库,在某些手机或Android