Как настроить ломаные линии маршрута

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

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

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

Чтобы получить активный объект PolylineOptions, используйте метод getPolylineStyleOptions.

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

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

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

  • ACTIVE_ROUTE
  • REMAINING_ROUTE

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

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

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

  • Чтобы создать PolylineOptions, используйте конструктор.

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

  • Чтобы отключить ломаную линию, задайте для 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);

Kotlin

// 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);

Kotlin

// 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 в разделе Polyline.

На 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);

Kotlin

// 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)