1. 如果是要显示完整地图上的ItemizedOverlay,有一个简单的方法

mMapController.zoomToSpan(mHistoryOverlay.getLatSpanE6(),
                mHistoryOverlay.getLonSpanE6());

2.如果不是的话,刚需要自己计算了,主要是计算以下函数中x,y的值,X ,Y 指的是经纬度最大的间隔值

mMapController.zoomToSpan(x,y);

计算的方法:

如果要计算指定像素间的x,y的经纬度的最大间隔,可以使用

GeoPoint PointRight = mMapView.getProjection()
                .fromPixels(right, bottom);

将屏幕上的像素点转化为经纬度

以下是计算完整显示一个圆形overlay的地图的边框

int r = (int) mProjection.metersToEquatorPixels(radius);  //将圆的半径半转化成像素

        // 得到左上角的坐标
        int left = Options.mapWidth / 2 – r;
        int top = Options.mapHeight / 2 – r;
        GeoPoint PointLeft = mMapView.getProjection().fromPixels(left, top);

        // 得到右下角的坐标
        int right = Options.mapWidth / 2 + r;
        int bottom = Options.mapHeight / 2 + r;
        GeoPoint PointRight = mMapView.getProjection()
                .fromPixels(right, bottom);

        int spanLatDelta = (int) (Math.abs(PointRight.getLatitudeE6()
                – PointLeft.getLatitudeE6()) * 1);
        int spanLngDelta = (int) (Math.abs(PointRight.getLongitudeE6()
                – PointLeft.getLongitudeE6()) * 1);

        // fit map to points
        mMapView.getController().zoomToSpan(spanLatDelta, spanLngDelta);
        mMapController.animateTo(currentGeofencePoint);

ps:经过转换的是有误差的.