我正在尝试使用纬度和经度坐标来解析特定地址。目前,Geocoder API偶尔会返回一系列地址,即使所选位置是单独的房屋而不是公寓楼。
以下方法接受纬度,经度和活动,并返回从Geocoder API返回的Address
对象:
public static Address resolveAddress(double latitude, double longitude, Activity activity) {
Geocoder geocoder = new Geocoder(activity);
List<Address> addresses;
try {
addresses = geocoder.getFromLocation(latitude, longitude, 1);
if (addresses != null && addresses.size() > 0 ) {
Log.d(TAG, "resolveAddress: " + addresses.get(0).toString());
return addresses.get(0);
}
} catch (IOException e) {
Log.e(TAG, e.getMessage(), e);
}
return null;
}
Geocoder API提供的getFromLocation()
方法接受maxResults
参数作为它的最后一个参数,您可以在上面的代码中看到它被设置为1.即便如此,返回单个结果,在单个结果中返回一系列街道号码。
我认为GPS和Android位置服务的准确性足以解决单个房屋问题。如何使用纬度和经度坐标来最好地确定单个地址?