我试图仅从Android中的地理编码器中提取城市和州。我已经到了很远的地方,它提取了城市的美好,但我所遇到的问题是它沿着它打印拉链。
我正在寻找"城市,州和#34;而现在的最终输出是" City,State Zip"
有什么想法吗?
Geocoder geoCoder = new Geocoder(getActivity(), Locale.getDefault());
List<Address> addresses;
try {
addresses = geoCoder.getFromLocation(mLatitude, mLongitude, 10);
int i=1;
for(Address addObj:addresses)
{
// Looping once
if(i==1)
{
String add_line1_extract;
add_line1_extract=addObj.getAddressLine(1);
String string = add_line1_extract;
String[] parts = string.split(",");
//Setting city
mCity = parts[0];
//setting state
mState = parts[1];
// Final Output
String cityAndState = mCity + ", " + mState;
i++;
}
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
答案 0 :(得分:0)
您可以通过从Address类调用getAdminArea()方法来获取州名。但是,它可能不适用于所有国家。此外,您可以致电getLocality()来检索城市名称。
因此,对于您的代码,您可以执行以下操作:
String cityName = addObject.getLocality();
String stateName = addObject.getAdminArea();
String cityAndState = cityName + ", " + stateName;
如果您想要州名的缩写,可以在String[] parts
中进一步拆分。您可以执行以下操作:
String[] moreSplit = parts[1].split(" ");
String mStateAbbr = moreSplit[0];
String mCityAndStateAbbr = mCity + mStateAbbr;