2

パン/ズームを無効にして、マップ オーバーレイをクリックできるようにする方法はありますか?

ユーザーがマップのビューポートを動き回ることを拒否しながら、タップ可能にしたい ItemizedOverlay について具体的に考えています(ゲーム用です)。

同じ質問への回答を見たことがありますが、残念ながらその回答ではオーバーレイ項目をクリックできません。

どうもありがとう、よろしく、アレックス

4

2 に答える 2

4

この質問は少し古いことは知っていますが、同じ問題があり、回避策を見つけました。これは適切な解決策ではありませんが、うまくいくようです。

最初に、onTouchEvent ハンドラーをオーバーライドする独自のマップ サブクラスを作成する必要があります。

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);
    }
}

次に、レイアウトの MapView 参照を NonPannableMapView に変更するだけです。

于 2012-02-23T00:00:34.437 に答える
-1

これを試して:

mapView.setBuiltInZoomControls(false);

それがうまくいくことを願っています!楽しむ!

于 2011-06-22T12:30:53.103 に答える