Настройка полилиний маршрута

Выберите платформу: Android iOS JavaScript

Вы можете настроить полилинии маршрута с помощью метода ConsumerMapStyle.setPolylineStyleOptions . Если вы зададите пользовательские параметры полилинии, они переопределят значения по умолчанию, предоставляемые Consumer SDK.

Чтобы восстановить значения по умолчанию , вызовите метод setPolylineStyleOptions , указав null для параметра PolylineOptions .

Для получения активных PolylineOptions используйте метод getPolylineStyleOptions .

Для получения дополнительной информации см. ConsumerMapStyle.setPolylineStyleOptions .

Типы полилиний маршрутов

Вы можете настроить следующие типы полилиний маршрута:

  • ACTIVE_ROUTE
  • REMAINING_ROUTE

ACTIVE_ROUTE и REMAINING_ROUTE отображаются во время следования по маршруту и ​​представляют собой маршрут транспортного средства .

Свойства полилинии маршрута

В Google Maps для каждой полилинии можно настроить параметры в PolylineOptions .

  • Для создания объекта PolylineOptions используйте его конструктор.

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

  • Чтобы отключить полилинию , установите visible в false .

Для получения более подробной информации см. PolylineOptions в документации для разработчиков Android.

Пример

Java

// Initializing polyline style options.
consumerController
    .getConsumerMapStyle()
    .addOnSuccessListener(
        consumerMapStyle -> {
          consumerMapStyle.setPolylineStyleOptions(
              PolylineType.ACTIVE_ROUTE,
              new PolylineOptions()
                  .visible(false));
        });

// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);

Котлин

// Initializing polyline options.
consumerController
  .getConsumerMapStyle()
  .addOnSuccessListener({ consumerMapStyle ->
    consumerMapStyle.setPolylineStyleOptions(
      PolylineType.ACTIVE_ROUTE,
      PolylineOptions().visible(false)
    )
  })

// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)

Действующий и оставшийся маршрут

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

  • Активный маршрут — это путь, по которому транспортное средство движется в данный момент, чтобы достичь следующей точки в активной поездке потребителя.

  • Оставшийся маршрут — это путь, который транспортному средству еще предстоит пройти после активного маршрута. Если путевая точка активного маршрута совпадает с последней путевой точкой поездки, то оставшегося маршрута не существует.

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

Пример

Java

// Initializing polyline options.
consumerController
    .getConsumerMapStyle()
    .addOnSuccessListener(
        consumerMapStyle -> {
          consumerMapStyle.setPolylineStyleOptions(
              PolylineType.ACTIVE_ROUTE,
              new PolylineOptions()
                  .color(Color.BLUE));
          consumerMapStyle.setPolylineStyleOptions(
              PolylineType.REMAINING_ROUTE,
              new PolylineOptions()
                  .color(Color.BLACK)
                  .width(5)
                  .visible(true));
        });

// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);
consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null);

Котлин

// Initializing polyline options.
consumerController
  .getConsumerMapStyle()
  .addOnSuccessListener({ consumerMapStyle ->
    {
      consumerMapStyle.setPolylineStyleOptions(
        PolylineType.ACTIVE_ROUTE,
        PolylineOptions().color(Color.BLUE)
      )

      consumerMapStyle.setPolylineStyleOptions(
        PolylineType.REMAINING_ROUTE,
        PolylineOptions().color(Color.BLACK).width(5).visible(true)
      )
    }
  })

// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)

consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null)

Полилинии, учитывающие интенсивность движения

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

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

Чтобы включить полилинии, учитывающие трафик , создайте объект TrafficStyle , а затем передайте его в ConsumerMapStyle , вызвав метод setPolylineTrafficStyle() .

Пример

Java

// TrafficStyle is part of the Consumer SDK.
int orange = Color.rgb(255, 165, 0);
TrafficStyle trafficStyle = TrafficStyle.builder()
  .setTrafficVisibility(true)
  .setTrafficColor(SpeedType.NO_DATA, Color.GREY)
  .setTrafficColor(SpeedType.NORMAL, Color.BLUE)
  .setTrafficColor(SpeedType.SLOW, orange)
  .setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
  .build();

consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle);

Котлин

// TrafficStyle is part of the Consumer SDK.
val orange = Color.rgb(255, 165, 0)
val trafficStyle =
  TrafficStyle.builder()
    .setTrafficVisibility(true)
    .setTrafficColor(SpeedType.NO_DATA, Color.GRAY)
    .setTrafficColor(SpeedType.NORMAL, Color.BLUE)
    .setTrafficColor(SpeedType.SLOW, orange)
    .setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
    .build()

consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle)