android - 设置最小和最大缩放级别

标签 android zooming osmdroid

使用 OSMDroid API 的缩放界面时遇到问题 - 似乎无法使缩放控件缩放到级别 18 以上。使用级别 12-22 的本地(SD 卡)自定义 map 缓存。我们可以从 12 -18 缩放,但不能超出。似乎没有任何方法可以设置最小或最大缩放。有人知道此设置的定义位置吗?

最佳答案

您需要创建一个扩展 MapView 的类,您可以通过重写 getMaxZoomLevel() 和 getMinZoomLevel() 来设置它,如下所示:

public class CustomMapView extends MapView {

/* constructors */  

@Override
public int getMaxZoomLevel() {
    return 22;
}

@Override
public int getMinZoomLevel() {
    return 12;
}

}

不要忘记在布局中将 MapView 调用更改为 CustomMapView:

<com.yourpackage.CustomMapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mapview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />

和 Activity :

private CustomMapView mMapView;
.
.
.
mMapView = (CustomMapView) findViewById(R.id.mapview);

关于android - 设置最小和最大缩放级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16222825/

相关文章:

iphone - 如何将并排放置的两个图像一起缩放?

java - 当用户点击 osmdroid map 中的标记时如何设置标记 fragment ?

android - 下载 osmdroid map

android - 尝试在 ActionbarActivity 的 fragment 中对 SharedPreferences 的空对象引用调用虚拟方法

java - JMapViewer: map 刚刚加载时未设置平移和缩放

android - Firebase 设备测试实验室 : Failed to create a test matrix

ios - UIScrollView 与纯 AutoLayout 方法,缩放和居中 ImageView

java - 为什么绑定(bind)项目中没有生成某些类?

Android MultiDex 应用程序在 Android Studio 3.0 上的低 API 上崩溃

android - Google Oauth 多设备