7

我正在尝试从 Geocoder 获取位置地址,我能够获取纬度和经度,但它返回的地址长度为零。

这是我的代码片段

            double longi = location.getLongitude();
            double latt = location.getLatitude();

            Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.ENGLISH);

            String add="";
            try {


                List<Address> address = geocoder.getFromLocation(latt/1E6,longi/1E6, 1);


                System.out.println("in location listener "+address.size());


                int i=0;

                if(address.size()>0)
                {
                    for(i=0;i<address.get(0).getMaxAddressLineIndex();i++)
                    {
                        add += address.get(0).getAddressLine(i);
                    }


                    Toast toast  = new Toast(getApplicationContext());
                    toast.makeText(getApplicationContext(), add, Toast.LENGTH_LONG).show();
                }   

            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

请帮我把它弄对。提前致谢!

4

2 回答 2

5

如果平台中没有后端服务,Geocoder 查询方法将返回一个空列表。使用 isPresent() 方法确定是否存在 Geocoder 实现。

有关详细信息,请参阅地理编码器文档

于 2012-05-08T07:08:53.847 回答
0

我认为您的项目没有针对正确的 AVD。要使用地理位置,您必须将其指向实现 google API 的 avd。一旦你改变它,一切都会好起来的。

安装 Google API 插件

于 2012-05-08T07:17:04.823 回答