2011-06-22 9 views
2

パン/ズームを無効にして地図のオーバーレイをクリック可能にする方法はありますか?アンドロイドのMapViewでパンニング/ズームを無効にできますが、ユーザーはItemizedOverlayをクリックできますか?

私は、ユーザーが地図のビューポートを移動するのを拒否しながら、タップ可能にしたいItemizedOverlayについて考えています(これはゲーム用です)。

私はthe same questionと答えましたが、悲しいことに、オーバーレイ項目をクリックすることはできません。作品

mapView.setBuiltInZoomControls(false); 

希望:

おかげでたくさん、 よろしく、 アレックス

答えて

-1

はこれを試してみてください!楽しむ!

+0

これは、内蔵のズームコントロールを有効にするだけですが、パンとズームの可能性だけでなく無効にしたいと考えています。 –

+0

はそれぞれ無効にしますが、指でズームやパンに影響を与えません。 –

4

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

まずあなたが

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ハンドラをオーバーライドし、独自のマップのサブクラスを作成する必要があります。

関連する問題