How to disable the map rotation feature in the Android Map Fragment
Asked Answered
B

3

37

I use the Google Maps Api Version 2 for Androidto add a MapFragment to my Application.

This Fragments improves a lot in terms of speed and API usability. Sadly it also allows to rotate the map with a two finger gesture. I want to disable the rotation because this two finger gesture is often recognized instead of the gesture for zooming.

How can I disable the map rotation?

Bigod answered 4/12, 2012 at 9:59 Comment(0)
B
101

It turned out to be straight forward if you look into the right place in documentation.

There is a UiSettings class inside a GoogleMap that allows enabling and disabling of gestures.

  SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.maps_fragment);
  GoogleMap map = mapFragment.getMap();
  map.getUiSettings().setRotateGesturesEnabled(false);
Bigod answered 4/12, 2012 at 10:10 Comment(2)
You should accept your answer -- or delete the question, as it's even shown in the Demo-App how to turn all those features on and off...Psychosurgery
I also tried to find disabling zoom buttons and I found it in getUiSettings().setZoomControlsEnabled(false)Delamination
R
0

If you are creating your Google Map with code like this:

GoogleMapOptions googleMapOptions = new GoogleMapOptions();
...
mapFragment = SupportMapFragment.newInstance(googleMapOptions);

Then you can also disable the rotation gesture like this:

GoogleMapOptions googleMapOptions = new GoogleMapOptions();
...
googleMapOptions.rotateGesturesEnabled(false);
mapFragment = SupportMapFragment.newInstance(googleMapOptions);
Registrar answered 10/11, 2018 at 13:11 Comment(0)
H
0

SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this);

and in onmapReady insert this :

mMap.getUiSettings().setRotateGesturesEnabled(false);

Harlequin answered 24/7, 2019 at 17:35 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.