2011-01-07 14 views

Antwort

8

Ich brauchte ein wenig Zeit, aber ich habe eine Lösung dafür. Was ich getan habe, ist die Ereignisausbreitung zu stoppen, wenn mehr als ein Finger den Bildschirm berührt.

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

ich fand heraus, wenn Sie 'mapView.setBuiltInZoomControls (true) verwenden,', 'OnTouch()' nur einmal aufgerufen wird (das erste Mal), so dass diese Methode ist nutzlos. .. Denkst du, es ist ein MapView-Bug? – Murphy

+0

kann ich nicht wirklich sagen. In meiner Anwendung hatte ichBuiltInZoomControls auf false gesetzt und meine eigenen Steuerelemente implementiert. –

+1

Ich habe dies versucht, es funktioniert nicht, wenn Sie eingebaute Zoomsteuerelemente – user590849

8

Deaktivieren Sie alle Gestures:

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

Disable nur Zoom

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

Hier ist ein kleiner Trick Prise Zoom zu täuschen: P (Set eine Zoomstufe und setzen das gleiche Niveau wie 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, 

// Andere o. ä ptionen sind nach Ihren Wünschen

0
final UiSettings uiSettings = map.getUiSettings(); 
uiSettings.setZoomControlsEnabled(true); 
uiSettings.setZoomGesturesEnabled(false); 
Verwandte Themen