Klaasvaak
Klaasvaak

Reputation: 5644

Google Maps Android MapView v2: disable zooming

Is there a way to disable the zooming (pinch and double tap) in the MapView but keep the scrolling?

This means setting clickable to false would not work.

I have also tried setting an onTouch listener in the activity but it will not trigger using:

mapView.setOnTouchListener(this);

Upvotes: 10

Views: 12539

Answers (5)

rob
rob

Reputation: 2296

If you're looking for a solution in Google Maps for Compose you can use this one:

GoogleMap(
    modifier = Modifier.fillMaxSize(),
    cameraPositionState = cameraPositionState,
    uiSettings = MapUiSettings(
        scrollGesturesEnabled = false,
        zoomGesturesEnabled = false,
        zoomControlsEnabled = false
    )
)

Upvotes: 0

Felix
Felix

Reputation: 1296

here is example on Kotlin:

map.uiSettings.setAllGesturesEnabled(false)

Upvotes: 4

laalto
laalto

Reputation: 152927

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

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

UiSettings Documentation

Upvotes: 27

AndroidHacker
AndroidHacker

Reputation: 3596

U may also try some thing like that ..

NOTE : this method disables zoom in / out functionality for Google map UI

Above two answer is correct as per question asked. Thanks David for updating me.

GoogleMap myMap;

myMap.getUiSettings().setZoomControlsEnabled(false);

For more public methods available for Google Map UI ..

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

Upvotes: 1

Emil Adz
Emil Adz

Reputation: 41129

You can assign those properties using the XML file:

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

So use:

   map:uiZoomGestures="false"

On the MapFragment object.

Upvotes: 9

Related Questions