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

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

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

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

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

Подробнее ConsumerMapStyle.setPolylineStyleOptions…

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

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

  • ACTIVE_ROUTE
  • REMAINING_ROUTE

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

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

Google Карты предоставляют настраиваемые свойства, доступные для каждой ломаной линии в PolylineOptions.

  • Чтобы создать 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 в разделе Ломаная линия.

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