При использовании следующих шаблонов вы можете добавить поддержку взаимодействия пользователей с созданными вами картами, например, позволить им просматривать различные части карты, масштабируя и перемещая её.
| Шаблон | Поддержка API-уровня приложения Car App |
|---|---|
NavigationTemplate | 2 |
(устарело) | 4 |
(устарело) | 4 |
(устарело) | 5 (введен шаблон) |
MapWithContentTemplate | 7 (введен шаблон) |
Реализуйте интерактивные функции обратного вызова.
Интерфейс SurfaceCallback содержит несколько методов обратного вызова, которые можно реализовать для добавления интерактивности к картам, созданным с помощью шаблонов из предыдущего раздела:
| Взаимодействие | Метод | Поддержка API-уровня приложения Car App |
|---|---|---|
| Кран | onClick | 5 |
| Масштабирование с помощью жеста «щипок» | onScale | 2 |
| Перетаскивание одним касанием | onScroll | 2 |
| Мгновенный запуск одним касанием | onFling | 2 |
| Двойное нажатие | (Хост шаблона определяет масштабный коэффициент) | 2 |
| Поворотный механизм перемещения в режиме панорамирования | (Хост шаблона определяет коэффициент расстояния) | 2 |
Добавить полосу действий карты
Эти шаблоны могут содержать панель действий с картой для выполнения действий, связанных с картой, таких как увеличение и уменьшение масштаба, центрирование, отображение компаса и другие действия по вашему выбору. Панель действий с картой может содержать до четырех кнопок только с иконками, которые можно обновлять без изменения глубины задачи. Панель действий скрыта в режиме ожидания и появляется снова в активном состоянии.
Для получения обратных вызовов интерактивности карты необходимо добавить кнопку Action.PAN в панель действий карты. Когда пользователь нажимает кнопку Pan , хост переходит в режим панорамирования, как описано в разделе «Понимание режима панорамирования» .
Если в вашем приложении отсутствует кнопка Action.PAN в панели действий карты, оно не получает пользовательский ввод от методов SurfaceCallback , и хост закрывает любой ранее активированный режим панорамирования.
На сенсорном экране кнопка "Панорамирование" не отображается.
Разобраться в режиме панорамирования
В режиме панорамирования хост шаблона преобразует ввод пользователя с устройств ввода без сенсорного управления, таких как поворотные контроллеры и сенсорные панели, в соответствующие методы SurfaceCallback . Реагируйте на действия пользователя по входу или выходу из режима панорамирования с помощью метода setPanModeListener в NavigationTemplate.Builder . Хост может скрывать другие компоненты пользовательского интерфейса в шаблоне, пока пользователь находится в режиме панорамирования.