通过坐标检索城市的地理编码器:如何区分地址是城市,州或国家

时间:2018-06-19 06:08:55

标签: android google-places-api

通过坐标检索城市的地理编码器如何区分地址是城市,州或国家

使用地理编码器按坐标检索城市。

private Geocoder mGeocoder = new Geocoder(getActivity(), Locale.getDefault());

// ... 

 private String getCityNameByCoordinates(double lat, double lon) throws IOException {

     List<Address> addresses = mGeocoder.getFromLocation(lat, lon, 1);
     if (addresses != null && addresses.size() > 0) {
         return addresses.get(0).getLocality();
     }
     return null;
 }

如果我搜索&#34; USA&#34;,检索城市是&#34;独立&#34;,

如果我搜索&#34; Illinois&#34;,检索城市是&#34; Deer Creek&#34;,

所以当用户搜索州或国家时,我怎么知道这个?

并检索州或国家而不是城市

1 个答案:

答案 0 :(得分:0)

根据文档(https://developer.android.com/reference/android/location/Address),Address类有多种检索信息的方法。要检索城市和国家,您可以使用以下代码:

String city = addresses.get(0).getLocality();
String country = addresses.get(0).getCountryName();