【问题标题】:Android : determine zoom level from circleAndroid:从圆圈确定缩放级别
【发布时间】:2015-03-10 15:36:15
【问题描述】:

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

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;
}

【问题讨论】:

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


【解决方案1】:

我用Math.floor 修复了它,并使用整数而不是浮点数

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 ;
}

【讨论】:

  • 知道 500 比例因子代表什么吗?你是怎么找到的?
猜你喜欢
  • 1970-01-01
  • 2012-07-16
  • 2017-04-09
  • 2021-12-22
  • 2016-02-27
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
相关资源
最近更新 更多