Часто задаваемые вопросы
Подробная информация о товаре
- Как следует отображать уведомление об условиях использования Navigation SDK?
- Какие языки поддерживает голосовое сопровождение?
- Сохраняется ли азимут после выхода пользователя из режима навигации?
- Доступны ли полилинии при начале или изменении маршрута?
- Нужно ли пользователям приложения устанавливать мобильное приложение Google Maps?
- Может ли навигационный SDK определять парковочные места рядом с ресторанами и другими объектами?
- Отображает ли SDK навигации направление движения в полосах при приближении к повороту?
- Какие версии JDK поддерживает Navigation SDK?
Сеть и связь
- Как SDK навигации обрабатывает плохое сетевое соединение?
- Как SDK для навигации обрабатывает слабые или потерянные сигналы GPS?
- Доступен ли автономный режим?
Данные
- Могу ли я получить список всех остановок/пунктов назначения в маршруте до его начала?
- Доступна ли пошаговая инструкция по прокладке маршрута в начале пути?
- Как пользователям приложения сообщается расчетное время прибытия (ETA)?
- Можно ли использовать
RoadSnappedLocationProviderдля получения текущего местоположения пользователя на карте, если навигация не находится на переднем плане? - Поддерживает ли SDK для навигации геозонирование?
- Можно ли отключить уведомления, когда приложение «Навигация» работает в фоновом режиме?
- Как посмотреть журнал транзакций, хранящийся в Google?
Настройка пользовательского интерфейса
- Можно ли выделить цветом оптимальный вариант маршрута?
- Может ли навигационный SDK отображать расчетное время прибытия в конечный пункт назначения?
- Как скрыть информацию о предполагаемом времени прибытия?
- Какие параметры настройки пользовательского интерфейса доступны для карточек в заголовке и нижнем колонтитуле?
Маршрутизация
- Могу ли я указать пользователю конкретный маршрут или удалить альтернативные маршруты?
- Могу ли я отобразить пользователю другую метку для пункта назначения, отличную от стандартного местоположения?
- Можно ли использовать Navigation SDK для отслеживания отклонений от заданного маршрута?
- Может ли пользователь выйти из навигации, не завершив прохождение маршрута?
Симулятор
Рабочие процессы
Услуги мобильности
- Чем отличается использование Navigation SDK для клиентов, пользующихся услугами мобильной связи?
- Как я могу узнать, являюсь ли я клиентом службы мобильной связи?
- Как осуществляется оплата SDK навигации для клиентов мобильных сервисов?
- Какие API навигационного SDK следует использовать только клиентам мобильных сервисов?
- Если я являюсь клиентом Mobility Services, могу ли я также использовать реализацию Navigation SDK, не относящуюся к Mobility Services?
Подробная информация о товаре
- Ваше приложение должно реализовывать диалоговое окно с уведомлением об условиях использования 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) доводится до пользователей приложения?
Чтобы сообщить пользователям приложения предполагаемое время прибытия, выполните следующие шаги:
- Получите время и расстояние для всех путевых точек, используя
Navigator.getTimeAndDistanceList(). - Передайте эту информацию в клиентское приложение так же, как и информацию о предполагаемом времени прибытия водителя.
- Получите время и расстояние для всех путевых точек, используя
- Можно ли использовать
RoadSnappedLocationProviderдля получения текущего местоположения пользователя на карте, если навигация не находится на переднем плане? Да. По умолчанию
RoadSnappedLocationProviderработает в фоновом режиме.- Поддерживает ли SDK для навигации геозонирование?
Нет. В контексте навигации,
remainingTimeOrdistanceChangeListenerимеет преимущество перед геозоной. Геозона может не учитывать геометрию дороги и может быть не центрирована точно на той точке, к которой пользователь перемещается.Эту функцию можно приблизительно воспроизвести с помощью
remainingTimeOrdistanceChangeListener.- Установите пороговое значение, чтобы определить частоту обратных вызовов.
- Проверьте оставшееся расстояние до пункта назначения.
Например, если вы установите пороговое значение в 100 м, вы получите обратный вызов, когда расстояние до пункта назначения изменится на 100 м. По мере уменьшения расстояния вы можете изменить это пороговое значение на меньшее и получать обратные вызовы чаще. Затем проверьте оставшееся расстояние, чтобы определить, достаточно ли вы близки к месту посадки/высадки.
- Можно ли отключить уведомления, когда приложение «Навигация» работает в фоновом режиме?
Да. Используйте
Navigator.setHeadsUpNotificationEnabledдля управления уведомлениями. Этот метод имеет логический аргумент.FALSEотключает уведомления;TRUEвключает уведомления.Устройство регистрации транзакций отслеживает места посадки и высадки пассажиров с помощью уникального идентификатора, который Google регистрирует в целях анализа данных о продукте. Если вы являетесь клиентом Mobility Services , Google рекомендует использовать
NavigationTransactionRecorderдля регистрации ваших транзакций.
Настройка пользовательского интерфейса
- Можно ли выделить цветом оптимальный вариант маршрута?
- Нет. Цветовое кодирование конкретного варианта маршрута в настоящее время не поддерживается.
- Может ли навигационный SDK отображать расчетное время прибытия в конечный пункт назначения?
Да. Используйте следующие методы:
- Получите время и расстояние для всех путевых точек, используя
Navigator.getTimeAndDistanceList(). - Скройте расчетное время прибытия текущей точки маршрута, используя
NavigationFragment.setEtaCardEnabled(false). - Отобразить расчетное время прибытия в конечный пункт назначения.
- Получите время и расстояние для всех путевых точек, используя
- Как скрыть информацию о предполагаемом времени прибытия?
Вы можете отключить карточки с расчетным временем прибытия (ETA), вызвав метод
navigationView.setEtaCardEnabled(false).Используйте
StylingOptionsдля установки цвета фона. Чтобы скрыть или показать заголовок и нижний колонтитул, используйте функции-членыsetHeaderEnabledиsetFooterEnabledклассаNavigationFragment.
Маршрутизация
- Могу ли я указать пользователю конкретный маршрут или удалить альтернативные маршруты?
- Нет. По умолчанию предоставляется несколько маршрутов, и самый быстрый маршрут имеет приоритет. Вы можете повлиять на маршрут по умолчанию, добавив в свой запрос параметры, например, «избегать автомагистралей и платных дорог». Добавление путевых точек также влияет на маршрут.
- Могу ли я отображать пользователю приложения другую метку для пункта назначения, отличную от стандартного местоположения?
Да. Создайте
Markerс пользовательским заголовком для пункта назначения и координатами широты/долготы. SDK навигации отобразит пользовательский заголовок и координаты наNavigationMap.- Можно ли использовать Navigation SDK для отслеживания отклонений от заданного маршрута?
Да. Используйте
Navigator.setRouteChangedListener, чтобы получать уведомления об изменении маршрута или рекомендации нового маршрута:- Зарегистрируйте слушатель, который проверяет положение устройства вдоль маршрута с помощью метода
Navigator.setRouteChangedListener. - Добавьте код в обработчик события обратного вызова
onRouteChanged:- Отправьте пользователю приложения сообщение с обновленной информацией о предполагаемом времени прибытия и расстоянии.
- Отслеживайте местоположение устройства.
- [необязательно] Добавьте другие функции, необходимые вашему приложению для обработки ситуаций, когда пользователь отклоняется от заданного маршрута.
- Зарегистрируйте слушатель, который проверяет положение устройства вдоль маршрута с помощью метода
Да. Вызовите метод
Navigator.stopGuidance(), чтобы остановить навигацию.
Симулятор
- Поддерживает ли симулятор изменение маршрута?
Да. Вызовите метод
simulateLocationsAlongNewRoute, чтобы смоделировать поездку, включающую изменение маршрута. МетодsimulateLocationsAlongExistingRouteигнорирует изменения существующего маршрута.
Рабочие процессы
- Как закрыть уведомление после закрытия активности, содержащей фрагмент навигации?
Уведомление о навигации остается видимым во время навигации, даже когда действие завершено. Когда транспортное средство прибывает в пункт назначения, навигация останавливается, и уведомление исчезает.
Для обработки кликов по уведомлению используйте
Navigator.startGuidance(intent resumeIntent).resume intentсрабатывает, когда пользователь приложения кликает по уведомлению. Как правило,Navigator.startguidance(getIntent())вызывается из главного Activity, которое повторно вызывает Activity, когда пользователь приложения кликает по уведомлению.
Услуги мобильности
Сервисы Google Maps Platform Mobility Services предлагают набор API и SDK для поддержки корпоративных потребностей транспортных и логистических компаний. Для клиентов Mobility Services SDK навигации обычно используется в сочетании с другими сервисами для оптимизации маршрутов, диспетчеризации, отслеживания задач, анализа автопарка и многого другого. Стоимость SDK навигации также отличается для клиентов Mobility Services. Для получения дополнительной информации см. документацию Mobility Services .
В настоящее время продукция для людей с ограниченными возможностями передвижения доступна только избранным клиентам. Для получения дополнительной информации свяжитесь со своим торговым представителем.
ReportBillableEvent в своем коде. Вызывать метод ReportBillableEvent должны только клиенты Mobility Services.В SDK навигации есть несколько API, предназначенных только для использования клиентами Mobility Services , которым Google выставляет счета за каждую транзакцию. Если вы не являетесь клиентом 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 .