0

我的地图视图包含许多精确点。当用户进行该活动时,应该将地图放大到这样的级别,正确​​的 3 品脱是可见的。地图不应该或多或少地缩放,它应该正好是三个。我知道缩放级别地图可以通过代码在 0 到 21 之间变化。但是有没有办法设置缩放级别,使得在两种情况下都可以看到精确的 3 个针脚,如果针脚远或近正确 3 应该是可见的吗? API中有什么功能可以这样设置吗?

4

1 回答 1

2

点是您希望在地图上可见的所有地理点。

private void Zoom() {
    int minLatitude = Integer.MAX_VALUE;
    int maxLatitude = Integer.MIN_VALUE;
    int minLongitude = Integer.MAX_VALUE;
    int maxLongitude = Integer.MIN_VALUE;

    for (GeoPoint p : points) {
        int lati = p.getLatitudeE6();
        int lon = p.getLongitudeE6();

        maxLatitude = Math.max(lati, maxLatitude);
        minLatitude = Math.min(lati, minLatitude);
        maxLongitude = Math.max(lon, maxLongitude);
        minLongitude = Math.min(lon, minLongitude);
    }
    mapController.zoomToSpan(Math.abs(maxLatitude - minLatitude),
            Math.abs(maxLongitude - minLongitude));
    mapController.animateTo(new GeoPoint((maxLatitude + minLatitude) / 2,
            (maxLongitude + minLongitude) / 2));
}
于 2012-09-21T11:33:32.533 回答