Позвольте пользователям взаимодействовать с вашей картой

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

Шаблон Поддержка API-уровня приложения Car App
NavigationTemplate 2

PlaceListNavigationTemplate

(устарело)

4

RoutePreviewNavigationTemplate

(устарело)

4

MapTemplate

(устарело)

5 (введен шаблон)
MapWithContentTemplate 7 (введен шаблон)

Реализуйте интерактивные функции обратного вызова.

Интерфейс SurfaceCallback содержит несколько методов обратного вызова, которые можно реализовать для добавления интерактивности к картам, созданным с помощью шаблонов из предыдущего раздела:

Взаимодействие Метод Поддержка API-уровня приложения Car App
Кран onClick 5
Масштабирование с помощью жеста «щипок» onScale 2
Перетаскивание одним касанием onScroll 2
Мгновенный запуск одним касанием onFling 2
Двойное нажатие

onScale

(Хост шаблона определяет масштабный коэффициент)

2
Поворотный механизм перемещения в режиме панорамирования

onScroll

(Хост шаблона определяет коэффициент расстояния)

2

Добавить полосу действий карты

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

Для получения обратных вызовов интерактивности карты необходимо добавить кнопку Action.PAN в панель действий карты. Когда пользователь нажимает кнопку Pan , хост переходит в режим панорамирования, как описано в разделе «Понимание режима панорамирования» .

Если в вашем приложении отсутствует кнопка Action.PAN в панели действий карты, оно не получает пользовательский ввод от методов SurfaceCallback , и хост закрывает любой ранее активированный режим панорамирования.

На сенсорном экране кнопка "Панорамирование" не отображается.

Разобраться в режиме панорамирования

В режиме панорамирования хост шаблона преобразует ввод пользователя с устройств ввода без сенсорного управления, таких как поворотные контроллеры и сенсорные панели, в соответствующие методы SurfaceCallback . Реагируйте на действия пользователя по входу или выходу из режима панорамирования с помощью метода setPanModeListener в NavigationTemplate.Builder . Хост может скрывать другие компоненты пользовательского интерфейса в шаблоне, пока пользователь находится в режиме панорамирования.