package com.casic.gasoperation.utils; 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<Address> 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; } } String getAddressLine = address.getAddressLine(0); return getAddressLine; } } catch (IOException e) { Toast.makeText(context, "报错", Toast.LENGTH_SHORT).show(); e.printStackTrace(); } return ""; } }