2

OSMDroid API を使用したズーム インターフェイスで問題が発生しました。ズーム コントロールでレベル 18 を超えてズームすることができないようです。レベル 12 ~ 22 のローカル (SD カード) カスタム マップ キャッシュを使用しています。12 から 18 までズームできますが、それ以上はズームできません。最小ズームまたは最大ズームを設定する方法はないようです。この設定がどこで定義されているかについて誰か考えがありますか?

4

1 に答える 1

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);
于 2013-05-03T05:28:14.780 に答える