Часто задаваемые вопросы

Подробная информация о товаре

Сеть и связь

Данные

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

Маршрутизация

Симулятор

Рабочие процессы

Услуги мобильности

Подробная информация о товаре

Ваше приложение должно реализовывать диалоговое окно с уведомлением об условиях использования Navigation SDK, которое каждый пользователь должен принять. Это диалоговое окно предоставляет пользователю возможность согласиться с условиями использования. Текстовый файл с условиями предоставляется вместе с Navigation SDK. Используйте метод NavigationApi.showTermsAndConditionsDialog для отображения диалогового окна с условиями.
Все языки, поддерживаемые Google Maps Mobile, автоматически доступны для Navigation SDK. На устройстве установлен системный язык по умолчанию, и приложение не может изменить эту настройку; однако приложение имеет доступ к более чем 70 языкам.

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

Да. При создании или изменении маршрута RouteChangeListener предоставляет полилинии.

Нет, для работы Navigation SDK не требуется установленное на устройстве приложение Google Maps Mobile.
Нет, в настоящее время SDK для навигации не предоставляет эту функцию.
Да. Информация о направлении движения доступна и отображается по умолчанию.
Какие версии JDK поддерживает Navigation SDK?
Навигационный SDK поддерживает версии Java SE с долгосрочной поддержкой (LTS), которые активно поддерживаются Oracle. Эти версии указаны как имеющие расширенную поддержку (Premier Support) в дорожной карте поддержки Oracle Java SE .

Сеть и связь

Как SDK навигации обрабатывает плохое сетевое соединение?
Навигационный SDK предварительно загружает маршрут для каждой поездки. Предварительно загруженная информация включает данные о маршруте на 15-20 минут, а также альтернативные маршруты на случай, если пользователь отклонится от основного маршрута. Навигационный SDK определяет приблизительное местоположение, используя GPS устройства и датчики.
Как SDK для навигации обрабатывает слабые или потерянные сигналы GPS?

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

  • Если с момента последнего получения сигнала GPS прошло более 10 секунд.
  • Если точка маршрутизации сместилась более чем на 500 м с момента последнего получения сигнала GPS.

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

Доступен ли автономный режим?
Нет, в настоящее время SDK для навигации не предлагает автономный режим; однако SDK предоставляет предварительно кэшированную информацию о маршруте.

Данные

Могу ли я получить список всех остановок/пунктов назначения в маршруте до его начала?

Да. Чтобы получить маршрут, вызовите метод Navigator.getRouteSegments() .

Доступна ли пошаговая инструкция по прокладке маршрута в начале пути?
Да. SDK навигации предоставляет список сегментов маршрута. Кроме того, пользователь может пролистывать карточку с указаниями маршрута в заголовке, чтобы увидеть каждый маневр.
Как информация о предполагаемом времени прибытия (ETA) доводится до пользователей приложения?

Чтобы сообщить пользователям приложения предполагаемое время прибытия, выполните следующие шаги:

  1. Получите время и расстояние для всех путевых точек, используя Navigator.getTimeAndDistanceList() .
  2. Передайте эту информацию в клиентское приложение так же, как и информацию о предполагаемом времени прибытия водителя.
Можно ли использовать RoadSnappedLocationProvider для получения текущего местоположения пользователя на карте, если навигация не находится на переднем плане?

Да. По умолчанию RoadSnappedLocationProvider работает в фоновом режиме.

Поддерживает ли SDK для навигации геозонирование?

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

Эту функцию можно приблизительно воспроизвести с помощью remainingTimeOrdistanceChangeListener .

  1. Установите пороговое значение, чтобы определить частоту обратных вызовов.
  2. Проверьте оставшееся расстояние до пункта назначения.

Например, если вы установите пороговое значение в 100 м, вы получите обратный вызов, когда расстояние до пункта назначения изменится на 100 м. По мере уменьшения расстояния вы можете изменить это пороговое значение на меньшее и получать обратные вызовы чаще. Затем проверьте оставшееся расстояние, чтобы определить, достаточно ли вы близки к месту посадки/высадки.

Можно ли отключить уведомления, когда приложение «Навигация» работает в фоновом режиме?

Да. Используйте Navigator.setHeadsUpNotificationEnabled для управления уведомлениями. Этот метод имеет логический аргумент. FALSE отключает уведомления; TRUE включает уведомления.

Устройство регистрации транзакций отслеживает места посадки и высадки пассажиров с помощью уникального идентификатора, который Google регистрирует в целях анализа данных о продукте. Если вы являетесь клиентом Mobility Services , Google рекомендует использовать NavigationTransactionRecorder для регистрации ваших транзакций.

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

Можно ли выделить цветом оптимальный вариант маршрута?
Нет. Цветовое кодирование конкретного варианта маршрута в настоящее время не поддерживается.
Может ли навигационный SDK отображать расчетное время прибытия в конечный пункт назначения?

Да. Используйте следующие методы:

  1. Получите время и расстояние для всех путевых точек, используя Navigator.getTimeAndDistanceList() .
  2. Скройте расчетное время прибытия текущей точки маршрута, используя NavigationFragment.setEtaCardEnabled(false) .
  3. Отобразить расчетное время прибытия в конечный пункт назначения.
Как скрыть информацию о предполагаемом времени прибытия?

Вы можете отключить карточки с расчетным временем прибытия (ETA), вызвав метод navigationView.setEtaCardEnabled(false) .

Какие параметры настройки пользовательского интерфейса доступны для карточек в заголовке и нижнем колонтитуле?

Используйте StylingOptions для установки цвета фона. Чтобы скрыть или показать заголовок и нижний колонтитул, используйте функции-члены setHeaderEnabled и setFooterEnabled класса NavigationFragment .

Маршрутизация

Могу ли я указать пользователю конкретный маршрут или удалить альтернативные маршруты?
Нет. По умолчанию предоставляется несколько маршрутов, и самый быстрый маршрут имеет приоритет. Вы можете повлиять на маршрут по умолчанию, добавив в свой запрос параметры, например, «избегать автомагистралей и платных дорог». Добавление путевых точек также влияет на маршрут.
Могу ли я отображать пользователю приложения другую метку для пункта назначения, отличную от стандартного местоположения?

Да. Создайте Marker с пользовательским заголовком для пункта назначения и координатами широты/долготы. SDK навигации отобразит пользовательский заголовок и координаты на NavigationMap .

Можно ли использовать Navigation SDK для отслеживания отклонений от заданного маршрута?

Да. Используйте Navigator.setRouteChangedListener , чтобы получать уведомления об изменении маршрута или рекомендации нового маршрута:

  1. Зарегистрируйте слушатель, который проверяет положение устройства вдоль маршрута с помощью метода Navigator.setRouteChangedListener .
  2. Добавьте код в обработчик события обратного вызова onRouteChanged :
    • Отправьте пользователю приложения сообщение с обновленной информацией о предполагаемом времени прибытия и расстоянии.
    • Отслеживайте местоположение устройства.
    • [необязательно] Добавьте другие функции, необходимые вашему приложению для обработки ситуаций, когда пользователь отклоняется от заданного маршрута.
Может ли пользователь выйти из навигации, не завершив прохождение маршрута?

Да. Вызовите метод Navigator.stopGuidance() , чтобы остановить навигацию.

Симулятор

Поддерживает ли симулятор изменение маршрута?

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

Рабочие процессы

Как закрыть уведомление после закрытия активности, содержащей фрагмент навигации?

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

Для обработки кликов по уведомлению используйте Navigator.startGuidance(intent resumeIntent) . resume intent срабатывает, когда пользователь приложения кликает по уведомлению. Как правило, Navigator.startguidance(getIntent()) вызывается из главного Activity, которое повторно вызывает Activity, когда пользователь приложения кликает по уведомлению.

Услуги мобильности

Чем отличается использование Navigation SDK для клиентов, пользующихся услугами мобильной связи?

Сервисы Google Maps Platform Mobility Services предлагают набор API и SDK для поддержки корпоративных потребностей транспортных и логистических компаний. Для клиентов Mobility Services SDK навигации обычно используется в сочетании с другими сервисами для оптимизации маршрутов, диспетчеризации, отслеживания задач, анализа автопарка и многого другого. Стоимость SDK навигации также отличается для клиентов Mobility Services. Для получения дополнительной информации см. документацию Mobility Services .

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

Как я могу узнать, являюсь ли я клиентом службы мобильной связи?
Если вы не уверены, используете ли вы в данный момент Navigation SDK как клиент Mobility Services, найдите вызов метода ReportBillableEvent в своем коде. Вызывать метод ReportBillableEvent должны только клиенты Mobility Services.

Как осуществляется оплата SDK навигации для клиентов мобильных сервисов?
Для клиентов Mobility Services выставление счетов и ценообразование для Navigation SDK зависят от вашего соглашения об оказании услуг с Google Maps Platform. Информацию о проверке правильности выставления счетов за вашу реализацию Mobility Services см. в разделе «Проверка выставления счетов» . Для получения дополнительной информации о выставлении счетов за Mobility Services обратитесь к своему торговому представителю.

Какие API навигационного SDK следует использовать только клиентам мобильных сервисов?

В SDK навигации есть несколько API, предназначенных только для использования клиентами Mobility Services , которым Google выставляет счета за каждую транзакцию. Если вы не являетесь клиентом Mobility Services, следующие методы не выполняют никаких действий:

Если я являюсь клиентом Mobility Services, могу ли я также использовать реализацию Navigation SDK, не относящуюся к Mobility Services?

Да, клиенты Mobility Services могут использовать как реализации Navigation SDK, относящиеся к Mobility Services, так и реализации, не относящиеся к Mobility Services. Однако в приложении одновременно можно использовать только один тип реализации. Также необходимо создать новый проект Google Cloud, учетную запись для выставления счетов и ключ API, отличные от тех, которые вы используете с реализацией Mobility Services. Для получения дополнительной информации см. обзор настройки Navigation SDK .

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

Примечание: Если вы в настоящее время не являетесь клиентом Mobility Services и заинтересованы в получении дополнительной информации о наборе API и SDK Mobility Services, свяжитесь с отделом продаж Google Maps Platform .