【问题标题】:Android MapView zoom to a radiusAndroid MapView 缩放到一个半径
【发布时间】:2012-09-12 06:59:41
【问题描述】:

在我的应用程序中,我有一个 MapView。

我想根据用户设置的半径更改地图的缩放比例。 我在this 链接中找到了答案,但问题是该函数只考虑屏幕的宽度。我也想考虑高度。

例如:如果我想查看 1 公里的半径 - 链接中的函数将显示 1 公里的宽度,但不会显示 1 公里的高度。 对我来说非常重要的是,即使高度为 1 公里,宽度为 1.5 公里,它也会在宽度和高度上显示它

我该怎么做?

【问题讨论】:

  • 你有办法做到这一点吗?
  • 不是真的...问题中的链接是我迄今为止找到的最佳答案..

标签: android zooming android-mapview


【解决方案1】:

这是工作代码,结果准确。

1) 在具有所需半径的物体上画一个圆

Circle circle = mGoogleMap.addCircle(new CircleOptions().center(new LatLng(latitude, longitude)).radius(getRadiusInMeters()).strokeColor(Color.RED));           
        circle.setVisible(true);
        getZoomLevel(circle);

2) 将该对象传递给此函数并设置缩放级别 这里是a link

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

【讨论】:

  • 在这种情况下 500 是多少?在这种情况下 16 是多少?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多