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

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

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

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

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

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

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

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

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

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

Когда может пригодиться индивидуальная навигация?

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

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

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

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

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

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

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

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

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

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