您可以使用 ConsumerMapStyle.setPolylineStyleOptions
方法自訂路徑折線。如果您設定自訂多邊形選項,這些選項會覆寫 Consumer SDK 提供的預設值。
如要還原預設值,請為 PolylineOptions
參數使用 null
呼叫 setPolylineStyleOptions
。
如要擷取使用中的 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 地圖會以四種速度類型之一顯示路況。您可以自訂每種速度類型的顏色。
如要啟用可偵測車流量的折線,請建構 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)