Android:从圆圈确定缩放级别

时间:2015-03-10 15:36:15

标签: java android google-maps google-play-services

我正在使用此代码来确定圆圈的缩放级别,但它没有返回有效的缩放级别,问题是什么?
我想设置地图缩放级别以显示圆圈的所有部分。

public float getZoomLevel(Circle circle) 
{
    float zoomLevel = 11;
    if (circle != null) {
        double radius = circle.getRadius() + circle.getRadius() / 2;
        double scale = radius / 500;
        zoomLevel = (float) (16 - Math.log(scale) / Math.log(2));
    }
    return zoomLevel;
}

1 个答案:

答案 0 :(得分:2)

我用Math.floor修复它并使用整数而不是float

public int getZoomLevel(Circle circle) 
{
    int zoomLevel = 11;
    if (circle != null) 
    {
        double radius = circle.getRadius();
        double scale = radius / 500;
        zoomLevel = (int) Math.floor((16 - Math.log(scale) / Math.log(2)));
    }
    return zoomLevel ;
}