您可以使用 ConsumerMapStyle.setPolylineStyleOptions 方法自定义路线多段线。如果您设置了自定义多段线选项,这些选项会覆盖 Consumer SDK 提供的默认值。
如需恢复默认值,请为 PolylineOptions 参数调用
setPolylineStyleOptions
并传入 null。
如需检索活跃的 PolylineOptions,请使用
getPolylineStyleOptions 方法。
如需了解详情,请参阅
ConsumerMapStyle.setPolylineStyleOptions。
路线多段线类型
您可以自定义以下路线多段线类型:
ACTIVE_ROUTEREMAINING_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 对象
,然后通过调用 setPolylineTrafficStyle() 将其传递给 ConsumerMapStyle。
示例
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)