获取Android上给定边界的地图缩放级别,如JS Google Maps API:map.getBoundsZoomLevel(bounds)

我有一个聚类标记,用于定义包含一组标记的边界矩形.群集具有中心(lat,lon),标记计数以及纬度和经度跨度以计算边界.

Google Maps API(JS)有一个名为“getBoundsZoomLevel(bounds)”的函数,但我无法在Google Maps SDK for Android中找到等效的方法.如何估算给定边界的缩放级别(特别是在具有不同分辨率/密度的不同设备上)?

我已经计划用户可以触摸群集标记,地图视图将以中心和该群集的边界为中心.

有人为我提供了工作代码段或一些建议吗?

提前致谢
关心Thorsten.

解决方法

谢谢你的回答Solvek.与此同时,我找到了一个解决方案,我稍微适应了它的工作原理.该方法计算一组地理点的边界,计算这些点的跨度,最后使用zoomToSpan和animateto缩放并居中给定区域:
public static void zoomInBounds(final MapView view,final GeoPoint.. bounds) {

    int minLat = Integer.MAX_VALUE;
    int minLong = Integer.MAX_VALUE;
    int maxLat = Integer.MIN_VALUE;
    int maxLong = Integer.MIN_VALUE;

    for (GeoPoint point : bounds) {
        minLat = Math.min(point.getLatitudeE6(),minLat);
        minLong = Math.min(point.getLongitudeE6(),minLong);
        maxLat = Math.max(point.getLatitudeE6(),maxLat);
        maxLong = Math.max(point.getLongitudeE6(),maxLong);
    }

    final MapController controller = view.getController();
    controller.zoomToSpan(
                       Math.abs(minLat - maxLat),Math.abs(minLong - maxLong));
    controller.animateto(new GeoPoint((maxLat + minLat) / 2,(maxLong + minLong) / 2));
}

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...