自訂路線折線

選取平台: Android iOS JavaScript

您可以使用 ConsumerMapStyle.setPolylineStyleOptions 方法。如果您設定了自訂折線 選項會覆寫 Consumer SDK 提供的預設值。

如要還原預設值,請呼叫 setPolylineStyleOptions 帶有 null 代表 PolylineOptions 參數。

如要擷取使用中的 PolylineOptions,請使用 getPolylineStyleOptions 方法。

詳情請參閱 ConsumerMapStyle.setPolylineStyleOptions

路線折線類型

您可以自訂以下路線折線類型:

  • ACTIVE_ROUTE
  • REMAINING_ROUTE

分享行程期間會顯示ACTIVE_ROUTEREMAINING_ROUTE。 代表車輛路線

路線折線屬性

「Google 地圖」為地圖的各個折線提供可自訂的屬性 PolylineOptions

  • 如要建構 PolylineOptions,請使用其建構函式。

  • 如要指定自訂屬性,請使用「Setter」style 方法。開始時間 方法提供每個屬性的預設值,您只需要 來指定任何自訂值

  • 如要關閉折線,請將 visible 設為 false

詳情請參閱 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)