Android getFromLocationName始终返回空地址

Android getFromLocationName始终返回空地址,android,google-geocoder,Android,Google Geocoder,我有点困惑,我试图从一个地址中检索纬度/经度,我从以前的帖子中检索了一些代码,但是无论我在getFromLocationName方法中填写的地址是什么,我总是得到一个空字符串作为回报 以下是我正在使用的代码: public void onMapReady(GoogleMap map) { LatLng coord = getLocationFromAddress(getBaseContext(), fullAdr); 。。。。。 public LatLng getLocationF

我有点困惑,我试图从一个地址中检索纬度/经度,我从以前的帖子中检索了一些代码,但是无论我在getFromLocationName方法中填写的地址是什么,我总是得到一个空字符串作为回报

以下是我正在使用的代码:

public void onMapReady(GoogleMap map) {

    LatLng coord = getLocationFromAddress(getBaseContext(), fullAdr);
。。。。。

public LatLng getLocationFromAddress(上下文,字符串)
{
地理编码器=新地理编码器(上下文);
名单地址;
LatLng p1=null;
尝试
{
如果(!coder.isPresent()){
Log.d(“JRE”,“没有地理编码器!”);
返回新板条(0,0);
}
地址=编码者。getFromLocationName(StradAddress,5);
如果(地址==null)
{
返回null;
}
地址位置=地址。获取(0);
location.getLatitude();
location.getLongitude();
p1=新车床(location.getLatitude(),location.getLongitude());
}
捕获(例外e)
{
e、 printStackTrace();
}
返回p1;
}
知道为什么我总是得到空值吗


谢谢。

这里的“空字符串”是什么意思?您发布的代码返回一个LatLng。问题是没有返回地址对象吗?是的,是的,地址是空的,所以无法提取LatLng
    public LatLng getLocationFromAddress(Context context, String strAddress)
{
    Geocoder coder= new Geocoder(context);
    List<Address> address;
    LatLng p1 = null;

    try
    {
        if(!coder.isPresent()) {
            Log.d("JRE","There is no GeoCoder !");
            return new LatLng(0,0);
        }
        address = coder.getFromLocationName(strAddress, 5);
        if(address==null)
        {
            return null;
        }
        Address location = address.get(0);
        location.getLatitude();
        location.getLongitude();

        p1 = new LatLng(location.getLatitude(), location.getLongitude());
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
    return p1;

}