私はこの質問が少し古いことを知っていますが、私は同じ問題を抱えていて、回避策を見つけました。それは優雅な解決策ではありませんが、うまくいくようです。
まずあなたが
public class NonPannableMapView extends MapView {
public NonPannableMapView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public NonPannableMapView(Context context, AttributeSet attrs){
super(context, attrs);
}
public NonPannableMapView(Context context, String apiKey) {
super(context, apiKey);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
//Handle a move so there is no panning or zoom
if(ev.getAction() == MotionEvent.ACTION_MOVE)
return true;
return super.onTouchEvent(ev);
}
}
が、それはちょうどNonPannableMapViewにあなたのレイアウトでのMapViewの参照を変更する場合ですonTouchEventハンドラをオーバーライドし、独自のマップのサブクラスを作成する必要があります。
これは、内蔵のズームコントロールを有効にするだけですが、パンとズームの可能性だけでなく無効にしたいと考えています。 –
はそれぞれ無効にしますが、指でズームやパンに影響を与えません。 –