您可以使用 ConsumerMapStyle.setPolylineStyleOptions
方法自定义路线多段线。如果您设置了自定义多段线选项,它们会替换使用方 SDK 提供的默认值。
如需恢复默认值,请针对 PolylineOptions
参数调用 setPolylineStyleOptions
并提供 null
。
如需检索有效的 PolylineOptions
,请使用 getPolylineStyleOptions
方法。
如需了解详情,请参阅 ConsumerMapStyle.setPolylineStyleOptions
。
路线多段线类型
您可以自定义以下路线多段线类型:
ACTIVE_ROUTE
REMAINING_ROUTE
ACTIVE_ROUTE
和 REMAINING_ROUTE
在行程结束后显示,表示车辆的路线。
路线多段线属性
Google 地图提供了可用于 PolylineOptions
中的每个多段线的可自定义属性。
如需构建
PolylineOptions
,请使用其构造函数。如需指定自定义属性,请使用“Setter”样式方法。由于该方法会为每个属性提供默认值,因此您只需指定任何自定义值。
如需关闭多段线,请将
visible
设置为false
。
如需了解详情,请参阅 Android 开发者文档中的 PolylineOptions
。
示例
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 地图会将路况表示为 4 种速度类型之一。您可以为每种速度类型自定义颜色。
如需启用路况感知多段线,请构建一个 TrafficStyle
对象,然后通过调用 setPolylineTrafficStyle()
将其传递给 ConsumerMapStyle
。
示例
Java
// TrafficStyle is part of the Consumer SDK.
TrafficStyle trafficStyle = TrafficStyle.builder()
.setTrafficVisibility(true)
.setTrafficColor(SpeedType.NO_DATA, Color.GREY)
.setTrafficColor(SpeedType.NORMAL_VALUE, Color.BLUE)
.setTrafficColor(SpeedType.SLOW_VALUE, Color.ORANGE)
.setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
.build();
consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle);
Kotlin
// TrafficStyle is part of the Consumer SDK.
val trafficStyle =
TrafficStyle.builder()
.setTrafficVisibility(true)
.setTrafficColor(SpeedType.NO_DATA, Color.GREY)
.setTrafficColor(SpeedType.NORMAL_VALUE, Color.BLUE)
.setTrafficColor(SpeedType.SLOW_VALUE, Color.ORANGE)
.setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
.build()
consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle)