【发布时间】:2013-04-03 13:55:18
【问题描述】:
当我有位置的经度和纬度时,我试图从 android 中的 google maps api 中找出位置名称。我想要实现的是,在获得位置名称后,我想向我的朋友发送一条短信,告诉他们我当前的位置。我不确定是否需要打开地理编码器服务。
这是我到目前为止所做的,现在我被卡住了。
class mylocationlistener implements LocationListener
{
@SuppressLint("NewApi")
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
if(location != null)
{
Double longi = location.getLongitude();
Double lat = location.getLatitude();
String str = "";
str= "Longitude=" + longi + ", Latitude=" + lat;
Toast.makeText(getApplicationContext(),str,Toast.LENGTH_LONG).show();
Geocoder geocoder = new Geocoder(getBaseContext(), Locale.getDefault());
boolean abc = Geocoder.isPresent();
try {
List<Address> addresses = geocoder.getFromLocation(lat, longi, 1);
if(!addresses.isEmpty())
{
str = addresses.get(0).getLocality() + addresses.get(0).getAddressLine(1)+ addresses.get(0).getAddressLine(2);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Toast.makeText(getApplicationContext(),str, Toast.LENGTH_LONG).show();
}
}
}
【问题讨论】:
-
代码似乎正确。你有什么错误吗?请更好地描述您的问题。
-
List 地址 = geocoder.getFromLocation(lat, longi, 1);在此声明中,地址为空。
-
尝试反向地理编码并检查此链接mobiforge.com/developing/story/using-google-maps-android
-
只需要使用经度和纬度的地址名称,可以作为短信发送给其他用户。
标签: android google-maps google-geocoder