正如标题所写,我想得到城市的名称(仅),而不是坐标的地址。我找到了下面的代码,但它返回了我所有的地址,而不仅仅是城市。
Geocoder geoCoder = new Geocoder(this, Locale.getDefault());
StringBuilder builder = new StringBuilder();
try {
List<Address> address = geoCoder.getFromLocation(latitude, longitude, 1);
int maxLines = address.get(0).getMaxAddressLineIndex();
for (int i=0; i<maxLines; i++) {
String addressStr = address.get(0).getAddressLine(i);
builder.append(addressStr);
builder.append(" ");
}
String finalAddress = builder.toString(); //This is the complete address.
} catch (IOException e) {}
catch (NullPointerException e) {}
如果有人可以帮助我,我会非常高兴。 非常感谢!
答案 0 :(得分:2)
Geocoder geoCoder = new Geocoder(this, Locale.getDefault());
StringBuilder builder = new StringBuilder();
try {
List<Address> address = geoCoder.getFromLocation(latitude, longitude, 1);
if (addresses.size() > 0) {
String city = addresses.get(0).getLocality();
}
//the rest of your code
答案 1 :(得分:0)
除了使用try {
JSONObject respJson = new JSONObject(response.toString());
JSONArray array = respJson.getJSONArray("compscience");
for(int i=0;i<array.length();i++)
{
JSONObject obj=array.getJSONObject(i);
if(ab.equals(obj.getString("booknmae")))
{
single = single +obj.getString("row");
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
外,我认为没有更好的方法来仅获取城市名称。当我们使用getLocality()
时,您会看到我们有城市名称,国家名称等。只需分析此函数的输出,就会发现所有位都用“逗号”分隔。城市名称位于第0个索引。
getLocality()