パン/ズームを無効にして、マップ オーバーレイをクリックできるようにする方法はありますか?
ユーザーがマップのビューポートを動き回ることを拒否しながら、タップ可能にしたい ItemizedOverlay について具体的に考えています(ゲーム用です)。
同じ質問への回答を見たことがありますが、残念ながらその回答ではオーバーレイ項目をクリックできません。
どうもありがとう、よろしく、アレックス
パン/ズームを無効にして、マップ オーバーレイをクリックできるようにする方法はありますか?
ユーザーがマップのビューポートを動き回ることを拒否しながら、タップ可能にしたい ItemizedOverlay について具体的に考えています(ゲーム用です)。
同じ質問への回答を見たことがありますが、残念ながらその回答ではオーバーレイ項目をクリックできません。
どうもありがとう、よろしく、アレックス
この質問は少し古いことは知っていますが、同じ問題があり、回避策を見つけました。これは適切な解決策ではありませんが、うまくいくようです。
最初に、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 に変更するだけです。
これを試して:
mapView.setBuiltInZoomControls(false);
それがうまくいくことを願っています!楽しむ!