我正在使用此代码来确定圆圈的缩放级别,但它没有返回有效的缩放级别,问题是什么?
我想设置地图缩放级别以显示圆圈的所有部分。
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;
}
答案 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 ;
}