Как отключить функцию поворота карты во фрагменте карты Android

Я использую Google Maps API версии 2 для Android, чтобы добавить MapFragment в свое приложение.

Эти фрагменты значительно улучшают скорость и удобство использования API. К сожалению, он также позволяет вращать карту жестом двумя пальцами. Я хочу отключить вращение, потому что этот жест двумя пальцами часто распознается вместо жеста для масштабирования.

Как отключить поворот карты?


person Janusz    schedule 04.12.2012    source источник


Ответы (3)


Это оказалось прямолинейным, если вы заглянете в нужное место в документации.

Внутри GoogleMap есть класс UiSettings, который позволяет включение и выключение жестов.

  SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.maps_fragment);
  GoogleMap map = mapFragment.getMap();
  map.getUiSettings().setRotateGesturesEnabled(false);
person Janusz    schedule 04.12.2012
comment
Вы должны принять свой ответ или удалить вопрос, поскольку в демонстрационном приложении даже показано, как включать и выключать все эти функции... - person Ridcully; 06.01.2013
comment
Я также пытался найти отключение кнопок масштабирования и нашел его в getUiSettings().setZoomControlsEnabled(false) - person Amt87; 03.03.2014

Если вы создаете карту Google с помощью такого кода:

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

Затем вы также можете отключить жест вращения следующим образом:

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

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

и в onmapReady вставьте это:

mMap.getUiSettings().setRotateGesturesEnabled(false);

person mahsa k    schedule 24.07.2019