web-dev-qa-db-fra.com

Comment désactiver la fonctionnalité de rotation de la carte dans le fragment de carte Android

J'utilise le Google Maps Api Version 2 pour Android pour ajouter un MapFragment à mon application. 

Ces fragments s’améliorent beaucoup en termes de rapidité et de convivialité des API. Malheureusement, cela permet également de faire pivoter la carte avec un geste de deux doigts. Je souhaite désactiver la rotation car ce geste à deux doigts est souvent reconnu au lieu du geste de zoom. 

Comment puis-je désactiver la rotation de la carte?

31
Janusz

Il s'est avéré être simple si vous regardez au bon endroit dans la documentation. 

Il existe une classe UiSettings dans une carte Google Map qui permet d'activer et de désactiver les gestes. 

  SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.maps_fragment);
  GoogleMap map = mapFragment.getMap();
  map.getUiSettings().setRotateGesturesEnabled(false);
88
Janusz

Si vous créez votre carte Google avec un code comme celui-ci:

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

Ensuite, vous pouvez également désactiver le geste de rotation comme ceci:

GoogleMapOptions googleMapOptions = new GoogleMapOptions();
...
googleMapOptions.rotateGesturesEnabled(false);
mapFragment = SupportMapFragment.newInstance(googleMapOptions);
0
ban-geoengineering