Используя Maps SDK для Android, вы можете настроить способ взаимодействия пользователей с вашей картой, определив, какие из встроенных компонентов пользовательского интерфейса отображаются на карте и какие жесты разрешены.
Примеры кода
Репозиторий ApiDemos на GitHub включает пример, демонстрирующий использование параметров управления и жестов:
- UiSettingsDemoActivity : пример Java
- UiSettingsDemoActivity : образец Kotlin
Облегченный режим для минимального взаимодействия с пользователем
Если вам нужна облегченная карта с минимальным взаимодействием с пользователем, подумайте об использовании карты в облегченном режиме. Облегченный режим предлагает растровое изображение карты в указанном месте и уровне масштабирования. В упрощенном режиме пользователи не могут перемещать или масштабировать карту, а жесты не работают. Подробнее см. в руководстве по облегченному режиму .
элементы управления пользовательского интерфейса
Maps API предлагает встроенные элементы управления пользовательского интерфейса, аналогичные тем, которые есть в приложении Google Maps на вашем телефоне Android. Вы можете переключать видимость этих элементов управления с помощью класса UiSettings
, который можно получить из GoogleMap
с помощью метода GoogleMap.getUiSettings
. Изменения, внесенные в этот класс, немедленно отражаются на карте. Чтобы увидеть пример этих функций, просмотрите демонстрационную активность UI Settings в примере приложения .
Вы также можете настроить большинство этих параметров, когда карта создается либо с помощью атрибутов XML, либо с помощью класса GoogleMapOptions
. Дополнительные сведения см. в разделе Настройка начального состояния .
Каждый элемент управления пользовательского интерфейса имеет предопределенное положение относительно края карты. Вы можете отодвинуть элементы управления от верхнего, нижнего, левого или правого края, добавив отступы к объекту GoogleMap
.
Элементы управления масштабированием
Maps API предоставляет встроенные элементы управления масштабированием, которые отображаются в правом нижнем углу карты. По умолчанию они отключены, но их можно включить, вызвав UiSettings.setZoomControlsEnabled(true)
.

Компас
Maps API предоставляет изображение компаса, которое при определенных обстоятельствах появляется в левом верхнем углу карты. Компас будет отображаться только в том случае, если камера ориентирована таким образом, что имеет ненулевой пеленг или ненулевой наклон. Когда пользователь нажимает на компас, камера возвращается к положению с нулевым азимутом и наклоном (ориентация по умолчанию), и вскоре после этого компас исчезает. Вы можете полностью отключить отображение компаса, вызвав UiSettings.setCompassEnabled(boolean)
. Однако вы не можете заставить компас всегда отображаться.

Кнопка "Мое местоположение"
Кнопка «Мое местоположение» появляется в правом верхнем углу экрана , только если включен слой «Мое местоположение». Подробнее см. в руководстве по данным о местоположении .

Выбор уровня
По умолчанию средство выбора уровня (средство выбора этажа) появляется рядом с центральным правым краем экрана, когда пользователь просматривает карту помещений . Когда видны две или более внутренних карт, средство выбора уровня будет применяться к зданию, которое в данный момент находится в фокусе, которое обычно находится ближе всего к центру экрана. Каждое здание имеет уровень по умолчанию, который будет выбран при первом отображении средства выбора. Пользователи могут выбрать другой уровень, выбрав его в средстве выбора.
Вы можете отключить или включить средство выбора уровня, вызвав GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)
.
Это полезно, если вы хотите заменить средство выбора уровня по умолчанию своим собственным.

Панель инструментов карты
По умолчанию панель инструментов появляется в правом нижнем углу карты, когда пользователь касается маркера. Панель инструментов предоставляет пользователю быстрый доступ к мобильному приложению Google Maps.
Вы можете включать и отключать панель инструментов, вызывая UiSettings.setMapToolbarEnabled(boolean)
.
На карте в облегченном режиме панель инструментов сохраняется независимо от действий пользователя. На полностью интерактивной карте панель инструментов выдвигается, когда пользователь касается маркера, и снова выдвигается, когда маркер перестает быть в фокусе.
На панели инструментов отображаются значки, обеспечивающие доступ к просмотру карты или запросу маршрутов в мобильном приложении Google Maps. Когда пользователь нажимает значок на панели инструментов, API формирует намерение запустить соответствующее действие в мобильном приложении Google Maps.

Панель инструментов видна в правом нижнем углу карты на скриншоте выше. Ноль, один или оба значка намерения будут отображаться на карте в зависимости от содержимого карты и при условии, что мобильное приложение Google Maps поддерживает полученное намерение.
Жесты карты
Карта, созданная с помощью Maps SDK для Android, поддерживает те же жесты, что и приложение Google Maps. Однако могут возникнуть ситуации, когда вы захотите отключить определенные жесты, чтобы сохранить состояние карты. Масштабирование, панорамирование, наклон и азимут также можно настроить программно — дополнительные сведения см. в разделе «Камера и вид» . Обратите внимание, что отключение жестов не влияет на возможность программного изменения положения камеры.
Как и элементы управления пользовательского интерфейса, вы можете включать/отключать жесты с помощью класса UiSettings
, который можно получить из GoogleMap
, вызвав GoogleMap.getUiSettings
. Изменения, внесенные в этот класс, немедленно отражаются на карте. Чтобы увидеть пример этих функций, просмотрите демонстрационное действие «Настройки пользовательского интерфейса» в примере приложения (см. здесь , как его установить).
Вы также можете настроить эти параметры при создании карты либо с помощью XML-атрибутов, либо с помощью класса GoogleMapOptions
. Подробнее см. в разделе Настройка карты .
Жесты масштабирования
Карта реагирует на различные жесты, которые могут изменить уровень масштабирования камеры:
- Дважды нажмите, чтобы увеличить уровень масштабирования на 1 (увеличение).
- Коснитесь двумя пальцами, чтобы уменьшить масштаб на 1 (уменьшить масштаб).
- Сжатие/растяжение двумя пальцами
- Масштабирование одним пальцем путем двойного нажатия, но не отпускания при втором касании, а затем перемещение пальца вверх для уменьшения или вниз для увеличения.
Вы можете отключить жесты масштабирования, вызвав UiSettings.setZoomGesturesEnabled(boolean)
. Это не повлияет на то, может ли пользователь использовать элементы управления масштабированием для увеличения и уменьшения масштаба.
Жесты прокрутки (панорамирования)
Пользователь может прокручивать (панорамировать) карту, перетаскивая карту пальцем. Вы можете отключить прокрутку, вызвав UiSettings.setScrollGesturesEnabled(boolean)
.
Жесты наклона
Пользователь может наклонить карту, поместив два пальца на карту и перемещая их вниз или вверх вместе, чтобы соответственно увеличить или уменьшить угол наклона. Вы можете отключить жесты наклона, вызвав UiSettings.setTiltGesturesEnabled(boolean)
.
Повернуть жесты
Пользователь может вращать карту, поместив два пальца на карту и применяя вращательное движение. Вы можете отключить вращение, вызвав UiSettings.setRotateGesturesEnabled(boolean)
.