0

我已经有了纬度和经度,我得到了几乎所有的位置,但邮政编码始终为空,地址给出了我想要的街道名称和号码。好吧,这是我的代码...感谢您的帮助..

Geocoder geocoder;
          List<Address> addresses;
          geocoder = new Geocoder(this, Locale.getDefault());
          try {
            addresses = geocoder.getFromLocation(lat, lng, 1);
            Address ad = addresses.get(0);
               address = ad.getAddressLine(0);
               country = ad.getCountryName();
               postalcode = addresses.get(0).getPostalCode();
               city = ad.getLocality();
               state = ad.getAdminArea();
4

2 回答 2

1

是的,如果地理编码器地址没有特定字段的值,则为字段返回 null。就像您收到的邮政编码为空一样。在使用地理编码器地址列表中的字段值之前,请始终进行空检查。

于 2013-02-08T17:24:32.880 回答
0

您正在尝试执行的操作称为反向地理编码,您需要使用 3rd 方服务才能执行此操作。在这里查看这些链接。

其中一些服务比其他服务产生更好的结果,但您不能依赖它们。如果你得到一个结果(或者你有一个部分结果),那就太好了。但是希望您可能根本无法得到任何回报。

于 2013-02-08T17:18:07.060 回答