mapview的半径

时间:2011-07-29 01:18:42

标签: android android-maps

我有一个mapview,当用户点击mapview时,它设置了lon&纬度点。我希望能够捕捉缩放距离的缩放级别/半径,这是最好的方法吗?

2 个答案:

答案 0 :(得分:2)

请检查此问题:Android: How do I set the zoom level of map view to 1 km radius around my current location?

对我来说很好。

你必须使用:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

mapView.getController().setZoom(calculateZoomLevel(metrics.widthPixels));




private int calculateZoomLevel(int screenWidth) {
    double equatorLength = 40075004; // in meters
    double widthInPixels = screenWidth;
    double metersPerPixel = equatorLength / 256;
    int zoomLevel = 1;
    while ((metersPerPixel * widthInPixels) > 1000) {
        metersPerPixel /= 2;
        ++zoomLevel;
    }
    return zoomLevel;
}

答案 1 :(得分:0)

getZoomLevel()是您正在寻找的方法。