其他分享
首页 > 其他分享> > 如何计算Android Geocoder结果的缩放级别

如何计算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