我已经拥有纬度和经度,我几乎获得所有位置,但邮政编码始终为空,并且地址给出街道名称和编号,我想要这个单独的。 那么这是我的代码......谢谢你的帮助......
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();
答案 0 :(得分:1)
是的,如果字段没有特定字段的值,则Geocoder Address会为字段返回null。 就像你没有邮政编码。 在使用Geocoder地址列表中的字段值之前,请务必进行空检查。
答案 1 :(得分:0)
您尝试做的是反向地理编码,您需要使用第三方服务才能执行此操作。请查看这些链接here。
其中一些服务产生的结果比其他服务更好,但您不能依赖它们。如果你得到一个结果(或者你得到的部分结果)那么很好。但是期待你可能根本没有得到任何回报。