Часто задаваемые вопросы
Информация о продукте
- Как должно отображаться уведомление об Условиях использования Navigation SDK?
- Какие языки поддерживаются голосовыми указаниями?
- Сохраняется ли направление, когда пользователь выходит из режима навигации?
- Доступны ли полилинии при запуске или изменении маршрута?
- Должны ли пользователи приложения устанавливать Google Maps для мобильных устройств?
- Может ли навигационный SDK идентифицировать парковку возле ресторанов и других мест?
- Показывает ли Navigation SDK направление движения по полосам движения при приближении к поворотному моменту?
- Какие версии JDK поддерживает Navigation SDK?
Сеть
Данные
- Могу ли я получить все остановки/пункты назначения в поездке перед началом маршрута?
- Доступно ли пошаговое руководство по маршруту в начале маршрута?
- Как расчетное время прибытия (ETA) сообщается пользователям приложения?
- Можно ли использовать
RoadSnappedLocationProvider
для получения текущего местоположения пользователя, если навигация не находится на переднем плане? - Поддерживает ли навигационный SDK геозоны?
- Могу ли я отключить уведомления, когда приложение «Навигация» работает в фоновом режиме?
- Как просмотреть журнал транзакций, который ведет Google?
Настройка пользовательского интерфейса
- Могу ли я раскрасить лучший вариант маршрута?
- Может ли навигационный SDK отображать расчетное время прибытия для конечного пункта назначения?
- Как я могу скрыть обновления ETA?
- Какие настройки пользовательского интерфейса доступны для карточек верхнего и нижнего колонтитула?
Маршрутизация
- Могу ли я предоставить пользователю конкретный маршрут или удалить альтернативные маршруты?
- Могу ли я показать пользователю метку места назначения, отличную от местоположения назначения по умолчанию?
- Могу ли я использовать Navigation SDK для отслеживания отклонений от заданного пути?
- Может ли пользователь выйти из навигации, не пройдя маршрут?
Симулятор
Рабочие процессы
Информация о продукте
- В вашем приложении должно быть реализовано диалоговое окно с уведомлением об Условиях использования Navigation SDK, которое должен принять каждый пользователь. Этот диалог дает пользователю возможность согласиться с Условиями обслуживания. Текстовый файл условий предоставляется вместе с Navigation SDK. Используйте метод
NavigationApi.showTermsAndConditionsDialog
, чтобы отобразить диалоговое окно, содержащее термины. - Любые языки, поддерживаемые Google Maps Mobile, автоматически доступны для навигационного SDK. На устройстве установлен системный язык по умолчанию, и приложение не может изменить этот параметр; однако приложение имеет доступ к более чем 70 языкам.
Да. После запуска
LocationListener
продолжает работать в фоновом режиме. Ваше приложение продолжает фиксировать положение дороги и поддерживать направление.Да. Когда маршрут создается или изменяется,
RouteChangeListener
предоставляет полилинии.- Нет, для навигационного SDK не требуется установка Google Maps Mobile на устройстве.
- Нет, в настоящее время навигационный SDK не предоставляет эту функцию.
- Да. Направление движения доступно и отображается по умолчанию.
- Какие версии JDK поддерживает Navigation SDK?
- Navigation SDK поддерживает LTS-версии Java SE, которые активно поддерживаются Oracle. Эти версии указаны как имеющие премьер-поддержку в плане поддержки Oracle Java SE .
Сеть
- Как навигационный SDK справляется с плохой связью?
- Навигационный SDK предварительно кэширует маршрут для каждой поездки. Предварительно кэшированная информация включает в себя информацию о маршруте за 15-20 минут и альтернативы маршрута на случай отклонения пользователя от маршрута. Навигационный SDK определяет местоположение с помощью GPS и датчиков устройства.
- Доступен ли автономный режим?
- Нет, в настоящее время Navigation SDK не поддерживает автономный режим; однако SDK предоставляет предварительно кэшированную информацию о путешествии.
Данные
- Могу ли я получить все остановки/пункты назначения в поездке перед началом маршрута?
Да. Чтобы получить указания по маршруту, вызовите
Navigator.getRouteSegments()
.- Доступно ли пошаговое руководство по маршруту в начале маршрута?
- Да. Навигационный SDK предоставляет список сегментов маршрута. Кроме того, пользователь может пролистать карточку направлений в заголовке, чтобы увидеть каждый маневр.
- Как ETA сообщается пользователям приложения?
Выполните следующие действия, чтобы предоставить пользователям приложения информацию о расчетном времени прибытия:
- Получите время и расстояние для всех путевых точек, используя
Navigator.getTimeAndDistanceList()
. - Отправьте эту информацию клиентскому приложению так же, как и для драйвера ETA.
- Получите время и расстояние для всех путевых точек, используя
- Можно ли использовать
RoadSnappedLocationProvider
для получения текущего местоположения пользователя, если навигация не находится на переднем плане? Да.
RoadSnappedLocationProvider
по умолчанию работает в фоновом режиме.- Поддерживает ли навигационный SDK геозоны?
Нет. В контексте навигации
remainingTimeOrdistanceChangeListener
имеет преимущество перед геозоной. Геозона может не учитывать геометрию дороги и не быть сосредоточена точно на той точке, к которой движется пользователь.Вы можете аппроксимировать эту функцию, используя
remainingTimeOrdistanceChangeListener
.- Установите порог для определения частоты обратных вызовов.
- Проверьте оставшееся расстояние до пункта назначения.
Например, если вы установите пороговое значение 100 м, вы получите обратный вызов, когда расстояние до пункта назначения изменится на 100 м. По мере уменьшения расстояния вы можете обновить этот порог до меньшего значения и получать более частые обратные вызовы. Затем проверьте оставшееся расстояние, чтобы определить, достаточно ли вы близки к месту посадки/высадки.
- Могу ли я отключить уведомления, когда приложение «Навигация» работает в фоновом режиме?
Да. Используйте
Navigator.setHeadsUpNotificationEnabled
для управления уведомлениями. Этот метод имеет логический аргумент.FALSE
отключает уведомления;TRUE
включает уведомления.Регистратор транзакций отслеживает получение и возврат с помощью уникального идентификатора, который Google регистрирует в целях анализа продуктов. Если вы являетесь клиентом мобильных служб , Google рекомендует вам внедрить
NavigationTransactionRecorder
для регистрации записей ваших транзакций.
Настройка пользовательского интерфейса
- Могу ли я раскрасить лучший вариант маршрута?
- Нет. Цветовое кодирование определенного варианта маршрута в настоящее время не поддерживается.
- Может ли навигационный SDK отображать расчетное время прибытия для конечного пункта назначения?
Да. Используйте следующие методы:
- Получите время и расстояние для всех путевых точек, используя
Navigator.getTimeAndDistanceList()
. - Скройте расчетное время прибытия текущей путевой точки, используя
NavigationFragment.setEtaCardEnabled(false)
. - Отобразите расчетное время прибытия конечного пункта назначения.
- Получите время и расстояние для всех путевых точек, используя
- Как я могу скрыть обновления ETA?
Вы можете отключить карты ETA, вызвав
navigationView.setEtaCardEnabled(false)
.Используйте
StylingOptions
, чтобы установить стиль цвета фона. Чтобы скрыть или отобразить верхний и нижний колонтитул, используйте функции-членыsetHeaderEnabled
иsetFooterEnabled
NavigationFragment
.
Маршрутизация
- Могу ли я предоставить пользователю конкретный маршрут или удалить альтернативные маршруты?
- Нет. По умолчанию предоставляется несколько маршрутов, и самый быстрый маршрут имеет приоритет. Вы можете изменить маршрут по умолчанию, добавив к своему запросу такие настройки, как «избегать автомагистралей и платных дорог». Добавление путевых точек также влияет на маршрут.
- Могу ли я показать пользователю приложения метку места назначения, отличную от местоположения назначения по умолчанию?
Да. Создайте
Marker
с собственным названием пункта назначения и широтой/долготой. Navigation SDK отображает пользовательский заголовок и координаты наNavigationMap
.- Могу ли я использовать Navigation SDK для отслеживания отклонений от заданного пути?
Да. Используйте
Navigator.setRouteChangedListener
для получения уведомлений при изменении маршрута или рекомендации нового маршрута:- Зарегистрируйте прослушиватель, который проверяет положение устройства на маршруте с помощью метода
Navigator.setRouteChangedListener
. - Добавьте код в обработчик событий обратного вызова
onRouteChanged
:- Отправьте пользователю приложения сообщение с обновленной информацией о расчетном времени прибытия и расстоянии.
- Отслеживайте местоположение устройства.
- [необязательно] Добавьте другие функции, необходимые вашему приложению для обработки случаев, когда пользователь отклоняется от заданного маршрута.
- Зарегистрируйте прослушиватель, который проверяет положение устройства на маршруте с помощью метода
Да. Вызовите метод
Navigator.stopGuidance()
, чтобы остановить навигацию.
Симулятор
- Поддерживает ли симулятор изменения маршрута?
Да. Вызовите
simulateLocationsAlongNewRoute
, чтобы смоделировать путешествие, включающее изменение маршрута. МетодsimulateLocationsAlongExistingRoute
игнорирует изменения существующего маршрута.
Рабочие процессы
- Как закрыть уведомление после закрытия активности, содержащей фрагмент навигации?
Уведомление о навигации остается видимым во время навигации, когда действие закрыто. Когда автомобиль прибудет в пункт назначения, навигация прекратится, а уведомление исчезнет.
Для обработки кликов по уведомлению используйте
Navigator.startGuidance(intent resumeIntent)
.resume intent
срабатывает, когда пользователь приложения щелкает уведомление. ОбычноNavigator.startguidance(getIntent())
вызывается из основного действия, которое вызывает действие, когда пользователь приложения щелкает уведомление.