通过坐标检索城市的地理编码器如何区分地址是城市,州或国家
使用地理编码器按坐标检索城市。
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;,
所以当用户搜索州或国家时,我怎么知道这个?
并检索州或国家而不是城市
答案 0 :(得分:0)
根据文档(https://developer.android.com/reference/android/location/Address),Address类有多种检索信息的方法。要检索城市和国家,您可以使用以下代码:
String city = addresses.get(0).getLocality();
String country = addresses.get(0).getCountryName();