Пользовательский интерфейс навигации

Navigation SDK предоставляет различные способы интеграции навигации в ваше приложение. На этой странице объясняется, что такое настраиваемая навигация и чем она отличается от других возможностей навигации, доступных в Navigation SDK.

Что такое индивидуальная навигация?

Основной способ реализации Navigation SDK — использование навигационного интерфейса Google , который позволяет встроить пошаговую навигацию с использованием элементов пользовательского интерфейса и визуальных элементов, предоставленных Google, — аналогично навигации в приложениях Google Maps. Если вам нужна большая гибкость, чем предлагает навигация Google, вы можете реализовать собственную навигацию. Под настраиваемой навигацией понимается что угодно: от полного исключения указаний по повороту и запуска навигации только в фоновом режиме до проецирования настраиваемых навигации на экран, отдельный от устройства, на котором выполняется навигация. При использовании настраиваемой навигации ваше приложение вызывает Navigation SDK, чтобы запросить пошаговый навигационный канал, а затем вы предоставляете элементы пользовательского интерфейса и визуальные элементы, которые пользователь видит в процессе навигации, и управляете ими. Хотя использование навигации Google, как правило, проще реализовать, создание собственной пользовательской навигации позволяет получить больше возможностей настройки.

Когда вы создаете настраиваемую навигацию, ваше приложение вызывает Navigation SDK для запуска, запуска и остановки навигации, используя следующий процесс:

  1. Запустить навигацию . Как и в случае с навигацией Google, настраиваемая навигация по-прежнему включает в себя создание экземпляра навигации и настройку пункта назначения. Однако при использовании настраиваемой навигации вы достигаете этого, сначала устанавливая сеанс навигации с помощью GMSNavigationService.createNavigationSession , который представляет собой объект, не являющийся пользовательским интерфейсом и несущий состояние, который может работать либо с контроллером представления, либо без него.

    Дополнительные сведения см. в разделе Включение подачи пошаговых данных .

    См. демо-версию: загрузка пакета Navigation SDK содержит демо-версию, которую вы можете запустить, чтобы увидеть пример навигации, которая переключается между пошаговыми указаниями через стандартную навигацию и навигацией, которая показывает только местоположение устройства, движущегося по дороге. полилиния.

  2. Активная навигация . Вот еще одно ключевое различие между навигацией, предоставляемой Google, и пользовательской навигацией. Вместо передачи указаний встроенному диспетчеру событий Navigation SDK вы включаете пошаговую ленту и реализуете обработчики событий. Это позволяет вашему интерфейсу реагировать на события, описанные в разделе «Прослушивание событий навигации» .

  3. Завершить навигацию . Как и в случае с навигацией Google, пользовательская навигация также требует прекращения навигации способом, наиболее подходящим для работы приложения.

Когда вы можете использовать индивидуальную навигацию?

В следующей таблице описаны некоторые пользовательские сценарии навигации.

Пример сценария

Шаги высокого уровня

Вам необходимо предоставить только текстовые инструкции для водителя для небольших устройств, таких как двухколесные транспортные средства.

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

Вы хотите сделать свое приложение доступным в качестве автосервиса для водителей, использующих Android Auto.

  1. Организовать автосервис.
  2. Настройте проект Navigation SDK.
  3. Установите навигатор, если вы еще этого не сделали.
  4. Включите подачу пошаговых указаний.
  5. Нарисуйте карту на поверхности автоматического приложения и заполните поля из настроенного вами канала данных.

Дополнительную информацию см. в разделе Включение навигации для Android Auto.

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

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