设置最小和最大缩放级别

时间:2013-04-25 19:08:57

标签: android zoom osmdroid

使用OSMDroid API无法使用缩放界面 - 似乎无法使缩放控制缩放到18级以上。使用级别为12-22的本地(SD卡)自定义地图缓存。我们可以从12 -18缩放,但不能超越。似乎没有任何方法可以设置最小或最大缩放。任何人都对这个设置的定义有什么想法?

1 个答案:

答案 0 :(得分:4)

你需要创建一个扩展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"
    />

和活动:

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