如何计算Android Geocoder结果的缩放级别
作者:互联网
我正在使用Android的Geocoder来搜索我基于地图的应用中的位置.地理编码效果很好,应用程序成功地在地理编码结果上重新定位MapView.问题是我不知道移动到新位置时要使用的缩放级别. location_query参数可以是街道,也可以是国家/地区 – 如何知道放大多远以显示结果位置?那就是,我该怎么做?用?
public void goToPlace(String location_query) {
List<Address> addresses;
Geocoder gc = new Geocoder(_ctx);
addresses = gc.getFromLocationName(location_query, 1);
if (addresses != null) {
Address a = addresses.get(0);
int lat = (int) (a.getLatitude() * 1E6);
int lon = (int) (a.getLongitude() * 1E6);
mapController.animateTo(new GeoPoint(lat, lon));
mapController.setZoom(???);
}
}
解决方法:
我的想法是使用方法getAddressLine来选择适当的缩放级别.正如文档所说:
Returns a line of the address numbered by the given index (starting at 0), or null if no such line is present.
因此,对于一个国家/地区,它只返回1行地址,对于城市2行,对于街道3行.对于每种情况,您可以使用不同的缩放级别.
标签:android,android-mapview,google-geocoder 来源: https://codeday.me/bug/20190903/1797847.html