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

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, вы настраиваете прослушиватель для получения подробных пошаговых инструкций, реализуя протокол GMSNavigatorListener , а затем реализуете обработчики событий. Это позволяет вашей системе реагировать на события, описанные в разделе «Прослушивание навигационных событий» .

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

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

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

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

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

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

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

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

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

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

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

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