我有一个应用程序可以将纬度和经度反向地理编码为可读地址。这是下面的代码示例:
protected List<Address> doInBackground(Double... params) {
try {
List<Address> addresses = geoCoder.getFromLocation(mylat,
mylong, 1);
StringBuilder sBuilder = new StringBuilder();
if (addresses.size() > 0) {
Address address = addresses.get(0);
for (int i = 0; i < address.getMaxAddressLineIndex(); i++) {
/**
* Returns a line of the address numbered by the
* given index (starting at 0), or null if no such
* line is present.
*/
sBuilder.append(address.getAddressLine(i)).append(
"\n");
////////////
////////////
// sBuilder.append(address.getLocality()).append("\n");
//sBuilder.append(address.getPostalCode()).append("\n");
}// end for
addressString = sBuilder.toString();
}// end if
return geoCoder.getFromLocation(params[0], params[1], 1);
} catch (IOException e) {
e.printStackTrace();
return null;
}// end catch
}// end doInBackground method
我想修改它,所以如果 PostalCode 为空,则不打印任何内容,如果它接收到一个值,则将其与其余其他详细信息一起显示。问题是我住在一个不使用邮政编码的国家,这就是为什么这部分代码目前被注释掉的原因。如果您在一个使用邮政编码的国家/地区(大多数都这样做!),我希望该应用程序显示邮政编码,如果您在我的国家或不使用邮政编码的类似国家,则忽略缺少邮政编码。
谁能推荐我需要做哪些改变才能允许这样做?我相信我需要添加逻辑来处理这里的字符串附加:
sBuilder.append(address.getPostalCode()).append("\n");
谢谢。:)