Настраиваемая навигация

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

Что такое персонализированная навигация?

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

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

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

    Подробнее о фиде данных пошаговой навигации…

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

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

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

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

В таблице ниже описаны некоторые сценарии навигации.

Пример

Общие инструкции

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

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

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

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

Подробнее о том, как включить навигацию для CarPlay…

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

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