Элементы управления и жесты

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Выберите платформу: Android iOS JavaScript

Используя Maps SDK для Android, вы можете настроить способ взаимодействия пользователей с вашей картой, определив, какие из встроенных компонентов пользовательского интерфейса отображаются на карте и какие жесты разрешены.

Примеры кода

Репозиторий ApiDemos на GitHub включает пример, демонстрирующий использование параметров управления и жестов:

Облегченный режим для минимального взаимодействия с пользователем

Если вам нужна облегченная карта с минимальным взаимодействием с пользователем, подумайте об использовании карты в облегченном режиме. Облегченный режим предлагает растровое изображение карты в указанном месте и уровне масштабирования. В упрощенном режиме пользователи не могут перемещать или масштабировать карту, а жесты не работают. Подробнее см. в руководстве по облегченному режиму .

элементы управления пользовательского интерфейса

Maps API предлагает встроенные элементы управления пользовательского интерфейса, аналогичные тем, которые есть в приложении Google Maps на вашем телефоне Android. Вы можете переключать видимость этих элементов управления с помощью класса UiSettings , который можно получить из GoogleMap с помощью метода GoogleMap.getUiSettings . Изменения, внесенные в этот класс, немедленно отражаются на карте. Чтобы увидеть пример этих функций, просмотрите демонстрационную активность UI Settings в примере приложения .

Вы также можете настроить большинство этих параметров, когда карта создается либо с помощью атрибутов XML, либо с помощью класса GoogleMapOptions . Дополнительные сведения см. в разделе Настройка начального состояния .

Каждый элемент управления пользовательского интерфейса имеет предопределенное положение относительно края карты. Вы можете отодвинуть элементы управления от верхнего, нижнего, левого или правого края, добавив отступы к объекту GoogleMap .

Элементы управления масштабированием

Maps API предоставляет встроенные элементы управления масштабированием, которые отображаются в правом нижнем углу карты. По умолчанию они отключены, но их можно включить, вызвав UiSettings.setZoomControlsEnabled(true) .

Zoom Controls

Компас

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

Compass

Кнопка "Мое местоположение"

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

My Location button

Выбор уровня

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

Вы можете отключить или включить средство выбора уровня, вызвав GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean) .

Это полезно, если вы хотите заменить средство выбора уровня по умолчанию своим собственным.

Level picker

Панель инструментов карты

По умолчанию панель инструментов появляется в правом нижнем углу карты, когда пользователь касается маркера. Панель инструментов предоставляет пользователю быстрый доступ к мобильному приложению Google Maps.

Вы можете включать и отключать панель инструментов, вызывая UiSettings.setMapToolbarEnabled(boolean) .

На карте в облегченном режиме панель инструментов сохраняется независимо от действий пользователя. На полностью интерактивной карте панель инструментов выдвигается, когда пользователь касается маркера, и снова выдвигается, когда маркер перестает быть в фокусе.

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

Map Toolbar

Панель инструментов видна в правом нижнем углу карты на скриншоте выше. Ноль, один или оба значка намерения будут отображаться на карте в зависимости от содержимого карты и при условии, что мобильное приложение 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) .