2011-01-07 8 views

答えて

8

私は少し時間がかかりましたが、私はこれに対する解決策を持っています。複数の指が画面に触れている場合は、イベントの伝播を止めることができます。

mapView.setOnTouchListener(new OnTouchListener() { 
     public boolean onTouch(View v, MotionEvent event) { 
      if(event.getPointerCount() > 1) { 
       return true; 
      } 
      return false; 
     } 
    }); 
+0

あなたの要件に応じている;'、 'onTouchは()'一度だけ(1回目)と呼ばれているので、この方法では無用です。 .. MapViewのバグだと思いますか? – Murphy

+0

私は本当に伝えることはできません。私のアプリケーションでは、私はfalseでsetBuiltInZoomControlsを持っていて、自分のコントロールを実装しました。 –

+1

これを試してみましたが、内蔵のズームコントロールを使用している場合は動作しません – user590849

8

すべて無効にジェスチャー:

mapView.getMap().getUiSettings().setAllGesturesEnabled(false); 

無効にちょうどズーム

ここ
mapView.getMap().getUiSettings().setZoomControlsEnabled(false); 
-2

はピンチズームをだますためにちょっとしたトリックです:P(ズームレベルを設定し、同じレベルを設定maxZoom

var myOptions1 = { 
      //Coordinates of the map's center 
      center: new google.maps.LatLng(152,125), 
      //Zoom level 
      zoom: 15, // or any level of zoom you want to preload your map 
      maxZoom:15 // same as the zoom value makes sure the map is not zoomed, 

//その他ptionsは、私はあなたが使用している場合、 `(真)mapView.setBuiltInZoomControlsがあることが分かった

0
final UiSettings uiSettings = map.getUiSettings(); 
uiSettings.setZoomControlsEnabled(true); 
uiSettings.setZoomGesturesEnabled(false); 
関連する問題