Для настройки ломаных линий маршрута используется метод ConsumerMapStyle.setPolylineStyleOptions. Если вы зададите собственные параметры ломаной линии, они переопределят значения по умолчанию, заданные Consumer SDK.
Чтобы восстановить значения по умолчанию, вызовите setPolylineStyleOptions с null для параметра PolylineOptions.
Чтобы получить активный объект PolylineOptions, используйте метод getPolylineStyleOptions.
Дополнительную информацию вы найдете в статье ConsumerMapStyle.setPolylineStyleOptions.
Типы ломаных линий маршрута
Вы можете настроить следующие типы ломаных линий маршрута:
ACTIVE_ROUTEREMAINING_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)