2013-04-08 16 views
5

Gibt es eine Möglichkeit, das Zoomen (Pinch und Doppeltipp) in der zu deaktivieren, aber den Bildlauf zu halten?Google Maps Android MapView v2: Zoomen deaktivieren

Das bedeutet Einstellung klickbar zu false würde nicht funktionieren.

Ich habe auch versucht, eine onTouch listener in der activity Einstellung, aber es wird nicht ausgelöst werden:

mapView.setOnTouchListener(this); 

Antwort

7

Sie diese Eigenschaften zuweisen können mit der XML Datei:

map:uiRotateGestures="true" 
    map:uiScrollGestures="true" 
    map:uiTiltGestures="true" 
    map:uiZoomGestures="true" 

Verwenden Sie also:

map:uiZoomGestures="false" 

Auf dem MapFragment Objekt.

+0

Diese Lösung funktionierte nicht, wenn ich den obigen Code zu meinem Kartenfragment in der XML-Datei hinzufüge. @ JRichardsz Antwort ist richtig. Nach dem Implementieren von "map.getUiSettings(). SetZoomGesturesEnabled (false);" Ich habe den Zoom erfolgreich deaktiviert. –

15
import com.google.android.gms.maps.GoogleMap; 

public void onMapReady(GoogleMap map) { 
... 
map.getUiSettings().setZoomGesturesEnabled(false); 

UiSettings Documentation

+1

Das ist die richtige Antwort !! Danke @laalto – JRichardsz

1

U kann auch eine gewisse etwas Derartiges versuchen ..

Hinweis: Diese Methode deaktiviert Zoom in/out Funktionalität für Google map UI

Vor zwei Antwort richtig ist, wie pro Frage gestellt. Danke David, dass du mich aktualisiert hast.

GoogleMap myMap; 

myMap.getUiSettings().setZoomControlsEnabled(false); 

Weitere öffentliche Methoden, die für Google Map UI ..

https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/UiSettings#setZoomControlsEnabled(boolean)

+0

Dies deaktiviert den Pinch-Zoom und/oder den Doppel-Tab-Zoom nicht. Es deaktiviert nur die +/- Zoom-Buttons, die standardmäßig auf einer Karte angezeigt werden. – dm78

+0

yup David .. Es nicht Pinch Eigenschaft deaktiviert .. Aus Versehen habe ich diese Antwort erwähnt. Meine Lösung deaktiviert die Zoomoption von der Benutzeroberfläche. Die oben erwähnte Antwort ist korrekt. Auch die Antwort von laato ist präziser. Danke, dass du mich aktualisiert hast. Aktualisierung mit neuen. – AndroidHacker

1

hier ist beispielsweise auf Kotlin:

map.uiSettings.setAllGesturesEnabled(false)