从latlng获取zipcode

时间:2014-06-02 11:38:26

标签: android zipcode

我应该使用哪种网络服务来获取纬度和经度的邮政编码? 我使用的是Geonames API,但它不符合要求。我想使用任何提供邮政编码/邮政编码的webservices。

        Geocoder geocoder;
        List<Address> addresses;
        geocoder = new Geocoder(this, Locale.getDefault());
        addresses = geocoder.getFromLocation(_mylat, _mylong, 1);
        String address = addresses.get(0).getAddressLine(0);
        String city = addresses.get(0).getAddressLine(1);
        String country = addresses.get(0).getAddressLine(2);
                        String zipcode = addresses.get(0).getPostalCode();

即使我尝试了这段代码,但我没有得到结果。我得到Exception为IndexOutOfBoundException。

2 个答案:

答案 0 :(得分:0)

从标签中,我假设您正在开发Android应用。如果是这种情况,我建议使用Geocoder.getFromLocation(),而不是网络服务。

给定纬度和位置,它将生成可能的Address个对象的列表。然后,您可以使用getPostalCode()获取其邮政编码。

有关教程,请参阅Displaying a Location Address

答案 1 :(得分:0)

Geocoder geocoder;
            List<Address> addresses;
            geocoder = new Geocoder(this, Locale.getDefault());
            addresses = geocoder.getFromLocation(_mylat, _mylong, 1);
            String address = addresses.get(0).getAddressLine(0);
            String city = addresses.get(0).getAddressLine(1);
            String country = addresses.get(0).getAddressLine(2);
                            String zipcode = addresses.get(0).getPostalCode();